見出し画像

68歳、まだ夢の途中【vol.12】

お前には無理だ」と言われた数だけ、コードを書いた

前回(vol.11)で、支援の現場で出会った人たちの話を書きました。

今回は、自分自身の話をします。

40年以上コードを書いてきた中で、何度も言われた言葉がある。「お前には無理だ」——あるいはそれに似た言葉。直接言われたこともあるし、空気で伝わってきたこともある。

そのたびに僕がどうしたか。黙ってキーボードを叩いた。それだけです。

---

## アセンブラ屋の限界

僕のエンジニア人生は、アセンブラから始まりました。

1980年代。コンピュータの心臓部に直接命令を書く、あの低レイヤーの世界です。レジスタの値を一つずつ操作して、メモリのアドレスを手で管理して、1バイトの無駄も許されない世界。

当時は、それが「本物のプログラミング」だった。

でも時代は動く。Cが主流になり、C++が来て、オブジェクト指向が当たり前になった。そのたびに「アセンブラしかできないんだろ?」という目で見られた。

実際、最初のCのコードは酷いものだった。アセンブラの癖が抜けなくて、変数名が `r0` とか `tmp1` とか。「お前のCはアセンブラの翻訳じゃないか」と先輩に笑われた。

悔しかった。でも笑い返す余裕はなかった。

だから夜中にCの教科書を開いた。ポインタの動きを紙に書いて、構造体の使い方を覚えて、翌朝にはもう少しマシなコードを書いた。

---

## 「あいつ、基盤系だから」

基盤系エンジニアという肩書きは、ある種のレッテルでした。

OSやミドルウェア、通信プロトコル、デバイスドライバ。地味で、目に見えない部分を担当する。アプリケーション開発の人たちからすると、別の世界の人間。

プロジェクトの打ち合わせで業務ロジックの話になると、「あいつは基盤系だから、この辺はわからないよ」と言われることがあった。

わからないんじゃない。聞いてもらえなかっただけだ。

でもそこで「わかります」と主張するより、黙って結果を出す方を選んだ。

基盤系だからこそ見える問題がある。アプリケーションの設計者が気づかないボトルネック。メモリリーク。デッドロック。本番環境で初めて顕在化するバグ。

「基盤系のくせに」と言われながら指摘した問題が、リリース直前に大事故を防いだことがある。その時、誰も「ありがとう」とは言わなかった。でも、次のプロジェクトから打ち合わせに呼ばれるようになった。

言葉じゃなくて、コードで証明した。

---

## C++の壁

Cをなんとかモノにした頃、今度はC++が来た。

オブジェクト指向。クラス。継承。ポリモーフィズム。カプセル化。

正直に言います。最初、まったく意味がわからなかった。

アセンブラとCの世界では、データは「メモリ上のバイト列」であり、処理は「命令の列」だった。それがいきなり「オブジェクト」になり、「メッセージを送る」とか「振る舞いを持つ」とか言い出した。

何を言っているんだ、と思った。コンピュータはメモリとCPUでできている。メッセージなんか送れるわけがない。結局はメモリ操作だろう、と。

この考え方が、壁だった。

低レイヤーの知識が、高レイヤーの抽象化を理解する妨げになっていた。「結局はメモリ操作だろう」は正しいけれど、その正しさがC++の設計思想を受け入れることを邪魔していた。

40代前半だったと思います。後輩のエンジニアに「Toshiさん、そのコードはCです。C++ではこう書きます」と直されたことがある。

後輩に直される。プライドが傷ついたか? 正直、傷ついた。でもその後輩のコードは確かに読みやすかった。保守性が高かった。拡張しやすかった。

プライドより、良いコードの方が大事だ。

その日から僕は、後輩に教わる40代のエンジニアになった。

---

## 「定年後に起業? やめとけ」

60歳で定年を迎えた時、再就職という選択肢もあった。

基盤系の経験が40年ある。レガシーシステムの保守要員として、どこかの会社には入れたかもしれない。給料は下がるだろうけど、安定はする。

でも僕は起業を選んだ。マインドシード研究所を立ち上げた。

この時、言われた言葉は一つや二つじゃない。

「定年後は趣味で楽しめばいいじゃないか」
「今さら起業して何するんだ」
「失敗したらどうするんだ」

妻は何も言わなかった。彼女はいつも、僕が何かを始める時に反対しない。代わりに「ご飯は作るから、好きなだけやりなさい」と言ってくれる。

これがどれだけありがたいか。反対されるより辛いのは、無関心だ。妻は無関心ではなかった。ただ、信じて待ってくれていた。

---

## Webを知らない男

起業して最初にぶつかった壁は、技術じゃなかった。

Webだった。

40年間、基盤系をやってきた。OS、デバイスドライバ、通信プロトコル。HTTPは知っていたけど、HTMLをまともに書いたことがなかった。CSSなんて「画面を飾るやつ」くらいの認識。JavaScriptは名前しか知らなかった。

アセンブラでブートローダーを書ける男が、`<div>` タグの意味がわからない。

笑い話みたいですけど、本当の話です。

PHPを初めて触った時、最初に思ったのは「なんて雑な言語だ」でした。型がゆるい。メモリ管理を意識しなくていい。Cの感覚からすると、気持ち悪いくらい自由だった。

でもその「自由さ」が、Webの世界では武器だった。アイデアを素早く形にできる。動くものがすぐ作れる。完璧じゃなくても、まず動かして、それから直す。

アセンブラの世界とは真逆の哲学だった。

---

## AIに教わる68歳

そしてAI。

2024年、ChatGPTが世界を変えた頃。僕は66歳だった。

「AIを使ってサービスを作りたい」と思った時、OpenAIのAPIドキュメントを読んで愕然とした。JSON。REST API。Bearer Token。Node.js。Python。

知らない言葉だらけだった。

でも、ここで諦めなかった理由がある。

AIに聞けるからだ。

わからないことをAIに聞く。AIが教えてくれる。それを実装する。エラーが出る。エラーをAIに聞く。また教えてくれる。その繰り返し。

「68歳がAIに教わりながらコードを書く」——格好悪いですか?

僕はそう思わない。

40歳でC++の書き方を後輩に教わった時と同じだ。教わる相手が人間からAIに変わっただけ。いいコードが書ければ、師匠が誰だろうと関係ない。

実際、AIアシスタントとの共同開発は驚くほど生産的だった。僕のアセンブラ時代の経験——メモリ効率を意識する癖、デバッグの勘、システム全体を俯瞰する視点——は、AIが生成するコードを評価する時に役立った。

AIは速い。でもAIは「なぜそう書くべきか」の判断を間違えることがある。その判断は、40年の経験がある人間の方が正確だ。

若い感性とベテランの判断力。AIの速度と人間の経験。組み合わせれば、年齢はハンディキャップじゃなくなる。

---

## 言われた言葉の一覧

振り返ると、キャリアの節目ごとに「無理だ」と言われてきました。

「アセンブラ屋にCは書けない」——書いた。

「基盤系にアプリの話はわからない」——わかった。

「40代でC++を一から学ぶのは遅い」——学んだ。

「定年後に起業なんて無謀だ」——起業した。

「Webを知らない男にWebサービスは作れない」——作った。

「68歳がAIを使いこなせるわけがない」——使いこなしている。

一つ一つ、コードで答えてきた。

反論はしなかった。議論もしなかった。ただキーボードを叩いて、動くものを見せた。

動くコードは嘘をつかない。年齢も肩書きも関係ない。コンパイルが通るか。テストが通るか。ユーザーが使えるか。それだけが事実だ。

---

## 「無理だ」と言う人の正体

「お前には無理だ」と言う人は、大きく分けて二種類います。

一つは、心配してくれている人。「失敗したら傷つくから」「リスクが高いから」という善意。親や友人に多い。

もう一つは、自分が挑戦しなかった人。自分がやらなかった選択を、他人がやろうとしているのが不安な人。悪気はない。でも「やめとけ」と言うことで、自分の選択を正当化している。

どちらの場合も、言われた側がやるべきことは同じです。

感謝して、聞き流して、コードを書く。

心配してくれている人には「ありがとう、でもやるよ」と。
挑戦しなかった人には、言葉ではなく結果で返す。

---

## 今も言われている

68歳になった今も、言われます。

「もういい年なんだから」
「十分やったんだから休めば」
「体を壊すよ」

体を壊す、は正直怖い。目はかすむし、肩は凝るし、深夜のコーディングの翌朝は起き上がるのに時間がかかる。

でも、パソコンの前に座ってエディタを開くと、不思議と手が動く。

今日はこの関数を直す。今日はこのバグを潰す。今日はこのセキュリティ対策を入れる。

小さな「今日」の積み重ねが、kitemir.jp になった。shop.kitemir.jp になった。asp.kitemir.jp になった。3つのサービスが動いている。課金が動いている。バーチャル試着が動いている。

全部、「お前には無理だ」と言われたことばかりだ。

---

## あなたへ

この記事を読んでいるあなたが何歳かはわかりません。

20代かもしれない。30代かもしれない。僕と同じ60代かもしれない。

年齢は関係ないと言いたいけれど、嘘はつきません。年齢は関係ある。体力は落ちるし、新しいことの吸収は遅くなる。それは事実です。

でも、こうも言える。

**「無理だ」と言われた回数と、それでもコードを書いた回数は、年齢に関係ない。**

20代でも「無理だ」と言われる。50代でも言われる。68歳でも言われる。

大事なのは、言われた後にどうするか。

机に座る。エディタを開く。一行書く。

それだけでいい。一行書いたら、次の一行が書きたくなる。気がついたら朝になっている。気がついたらサービスが動いている。気がついたら「無理だ」と言った人が黙っている。

---

## コードは裏切らない

最後に、僕が40年間信じてきたことを書きます。

**コードは裏切らない。**

人は裏切ることがある。評価は不公平なことがある。運は味方しないことがある。

でもコードは、書いた通りに動く。正しく書けば正しく動くし、間違えれば間違える。そこに忖度はない。年齢への配慮もない。肩書きへの遠慮もない。

この残酷なまでの公平さが、僕は好きです。

68歳だろうが20歳だろうが、正しいコードは正しい。動くものは動く。

「お前には無理だ」と言われた時、反論する必要はない。コードを書けばいい。動くものを見せればいい。

それが、アセンブラの時代から変わらない、僕の戦い方です。

---

## 次回予告

vol.13 では、このシリーズの最終回として、「完成しないサービス」の話をします。

kitemir.jp も、shop.kitemir.jp も、asp.kitemir.jp も、まだ完成していない。たぶん、永遠に完成しない。

でも「完成しない」ことは、悪いことじゃない。

**完成しないサービスと、終わらない開発日記——これが僕の生き方だ。**

それが、68歳のエンジニアの結論です。

---

*68歳、まだ夢の途中。*
*「無理だ」と言われた数だけ、キーボードを叩いた。*

*マインドシード研究所: https://pyol.net/*
*Protect Your Only Life——こころに寄り添うテクノロジー*

いいなと思ったら応援しよう!