t-wadaの焦燥と挑戦。AIとの協業で見えた、ソフトウェアエンジニアが「もっと忙しくなる」未来
ソフトウェアエンジニアであれば、多くの人が「t-wada」の名前を知っているだろう。
テスト駆動開発(TDD)の第一人者として、20年近くにわたり技術コミュニティーの前線で活躍してきた、t-wadaこと和田卓人さん。技術書の翻訳や講演活動、OSS開発を通じて、日本のエンジニアリング文化の発展に貢献してきた。
そんな和田さんは今、自分自身に「とある問い」を投げ掛けているという。
「自分がこれまで築いてきた価値観やノウハウは、今後も通用するのか?」
AIの登場によって、プログラミングのあり方は大きく変わりつつある。大きな時代のうねりのさなかでは、誰もが安泰ではいられない。
和田さんは、等身大の不安と、それでも進み続ける意思を明かしてくれた。その言葉は、AI時代を生きるすべての開発者にとっての「新たな指針」となるだろう。
プログラマー テスト駆動開発実践者
和田卓人さん(@t_wada)
学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒。執筆活動や講演、ハンズオンイベントなどを通じてテスト駆動開発を広めようと努力している。『プログラマが知るべき97のこと』(オライリージャパン、2010)監修。『SQLアンチパターン』(オライリージャパン、2013)監訳。『テスト駆動開発』(オーム社、2017)翻訳。『事業をエンジニアリングする技術者たち』(ラムダノート、2022)編者。テストライブラリ power-assert-js 作者
目次
「出がらし」になる恐怖と隣り合わせの日々AI時代をサバイブする鍵は、変化を肌で体感すること「時間で積分した領域」には、まだ人の介在価値がある
「出がらし」になる恐怖と隣り合わせの日々
技術顧問として複数の企業をサポートし、研修や講演も日々手掛ける和田さん。多くの企業やエンジニアが、和田さんの持つノウハウを求めてさまざまな依頼を持ち掛ける。
しかし、そんな和田さんも人知れず、エンジニアとしての将来に「怖さ」を抱えているという。
「仕事柄、アウトプットだけで一週間が埋まってしまうこともざらです。そうすると、自分が“出がらし”になっていく感覚があるんですよ。話すことばかりに時間を取られて、学ぶ時間がなくなる。それが怖いんですよね。
特に今はAIの登場で、ソフトウェア開発の姿がまるっきり変わってきた。自分が今後もソフトウェアエンジニアとして生き残れるのか、この不安と毎日向き合っています」
エンジニア・和田卓人を、外から見ているだけでは分からない不安。しかし、ただ未来を悲観しているわけではない。
「私は、世の中がどう変わっていくのかを見届けたいんです。
これまで積み上げてきたノウハウや価値観が、この先も通用するのか分かりません。でも、できれば世の中が変化していく過程に、ちょっとでも影響を与えられたら嬉しいですね」
そう和田さんが語る背景には、自身が育ってきた文化への「恩返し」の意識がある。
彼がプログラミングを学び始めたのは、1990年代後半。当時、開発環境の多くは商用品であり、コンパイラやIDE(統合開発環境)は数万円から十数万円と高価だった。個人が自由に学び、試すには大きなコストがかかった。
「OSSは、当時の自分のようなお金のない学生でも手にできる、知の入り口だったんです。Linux、EmacsといったGNUのソフトウェアが無料で公開されているだけでなく、なぜフリー(自由)でオープンにするのかといった哲学まで含めて、誰もが読める形で共有されていました。
こうした『贈与文化』があったからこそ、私はソフトウェアエンジニアとして成長できた。自分の知見を次世代につなぐことは、私にとって何も特別なことではなく、ごく自然なことなんです。
ですから、この先行き不安な世界の中で、まずは自分がもがいてみようかと思います。そこで見つけたり感じたりしたことを、次の誰かに伝える。それもまた、私にできる『贈与』の一つだと思うので」
AI時代をサバイブする鍵は、変化を肌で体感すること
AIがもたらす変化を前に、和田さんは傍観者ではなく、自らその渦中へ飛び込む道を選んだ。彼は今「AIとの協業」に奮闘している。
「『この機能を追加したい。自分にはこのような案があるけど、こういう懸念もある』と伝えて、『一緒に設計を考えてくれないか?』と持ちかける。そうすると、AIが時に否定もしながら、意見を返してくれますよね。それが、ものすごく面白くて。
技術顧問という立場で仕事をしていると、自分の設計に対して『和田さんが言うなら』と受け入れていただく場面がどうしても増えていきます。それ自体はありがたいことですが、もしその設計が間違っていたらどうなるか。より良い選択肢があるのに、それに気付けなかったとしたら?
自分の設計が誰にも疑われないというのは、技術者としての成長を考えると非常に危うい状況です。その点、AIは私のことなんて知らないし、正しく突っ込んでくれますからね。ありがたいですよ(笑)」
こうした「忖度のない」対話が、和田さんに技術者としての純粋な喜びをもたらしているのだ。
「私の中で、ソフトウェアエンジニアリングへの理解度がより高まっている感覚があります。ソフトウェアエンジニアとして非常に喜ばしい体験なので、ぜひ多くの人に同じ経験をしてもらいたいし、語り合いたいですね」
一方で、毎月のように新しいモデルやツールが登場する状況では、変化が落ち着いてからキャッチアップする方が効率的だという考え方もあるだろう。
和田さんが「今、自ら手を動かすこと」にこだわるのは、なぜだろうか。
「IT業界では、いわゆるゲームチェンジャーとなる技術がある程度の周期で生まれます。インターネットの誕生、クラウドコンピューティングの登場、そして今回のAI(LLM)も、まさにそれだと思うんです。
こういう大きな変化の時に大事なのは、後から情報を追うことではありません。実際に自分で使ってみて、『何が変わったのか』『何が起きているのか』を自分の手で、肌で感じることです。
そのリアルな感覚こそが、技術そのものへの解像度を格段に引き上げてくれる。これまでの経験上、私はそう思っています」
「時間で積分した領域」には、まだ人の介在価値がある
自らAIに積極的に触れ、その可能性を実践を通して探る。そんな日々の中で和田さんは、「ソフトウェアエンジニアリングの本質」と向き合うことになったという。
「チームで開発し、数年以上にわたって保守するといった本格的なソフトウェア開発では、質の担保や、時間に耐えうるアーキテクチャーが欠かせません。ただ、AIで一気に生成されたコードは、確率的な出力なので再現性に乏しいことも多いですよね。
そう考えると、設計段階での深い議論や意図を伝えるドキュメント、運用まで見据えた長期的な視点にこそ、『ソフトウェアエンジニアリングの本質』があるのではないでしょうか」
そう話しながら和田さんが挙げたのは、『Googleのソフトウェアエンジニアリング』(オライリー)という書籍の一節だった。
「この本の冒頭に『ソフトウェアエンジニアリングとは時間で積分したプログラミングである』と書かれているのですが、これは本当に的を射ている表現だと思います。
『コードを書く』という瞬間的な行為は、AIがかなりのレベルで代替できるようになるでしょう。しかし、時間と共に要求が変化し、複雑性が増していく現実のソフトウェア開発においては、この時間軸を捉える『積分の視点』、つまりソフトウェアエンジニアリングが不可欠なのです」
変化の波は止まらない。だが、AIがコーディング作業を代替していくからこそ、エンジニアリングの価値はより高まっていく。
「AIで全部終わる、という話ではないんです。むしろ、これまで曖昧だった『ここからがソフトウェアエンジニアリング』という境界線が、今後より明確になっていくのだと思っています。
ソフトウェア開発に人が介在する余地は、まだある。いや、AIの進化によってやるべきことが増えている感覚すらありますね。AIに仕事を代替されるどころか、人がボトルネックになるので、もっと忙しくなるかもしれませんよ(笑)」
※本記事は聴くエンジニアtypeオリジナルPodcast『聴くエンジニアtype』#111、#112、#113、#114をもとに執筆・編集しております
文/今中康達(編集部)