【世界一流エンジニアの思考法】AI時代に生き残るプログラマーとは

how-world-class-engineers-think

ChatGPTなどの生成AIの登場で、世の中は大きく変わりました。便利さが増した一方、人間の仕事が奪われるのでは?という不安も渦巻いています。

要望を伝えれば、コードもすらすら書ける生成AI。プログラマーは、AIに職を奪われるのでしょうか?

書籍『世界一流エンジニアの思考法』では、AIの時代にこそ持っておくべきプログラマーの思想が、赤裸々と語られています。

目次

『世界一流エンジニアの思考法』とは

書籍『世界一流エンジニアの思考法』は、マイクロソフトのシニアソフトウェアエンジニアである、牛尾剛さんによる著書です。

¥1,700 (2023/11/11 07:14時点 | Amazon調べ)

著者は、44歳でマイクロソフトに転職しプログラマーになられたという異色の経歴をお持ちです。その経験の中で触れた、世界一流のエンジニアの考え方を分かりやすく解説されています。(著者は、本書のなかで自身を「三流エンジニア」と謙遜されていますが、十分に一流に見えます)

冒頭の「はじめに」で、こう語られています。

この本の革新にあるスキルは、《AI時代を生き延びる思考法》といってもいい。

そのスキルとは、いったいなんなのでしょう?

AI時代に生き残るエンジニアの本質

『世界一流エンジニアの思考法』での、AI時代に必要なスキルについて、このようなものが挙げられています。

  • 「理解」にしっかり時間をかける
  • 早く「失敗」できるように考える
  • 「専門性」を追求する姿勢を持つ

「理解」にしっかり時間をかける

初心者プログラマーは、書籍や学習サイトのコードをコピーして、動かしてみたりするでしょう。

コードは動いた。プログラミングが身についた気がする。でも自分でコードを書こうとすると手が動かない。こんな経験ありませんか?

本書で、このような経験談が書かれています。

私は、理解というものは最初から完璧にはできなくて徐々に身についていくイメージを持っていた。しかも、私は「とにかく生産性をあげなければ」「どうやったら早くできるだろう」と常に焦燥感にかられ、アウトカム(成果)を出すことに集中してきた。

しかし、皮肉なことに「早くできるように頑張る」ということが最終的な生産性をむしろ下げていたように思う。

ただ手を動かすだけでなく、基礎的なことを、しっかりと時間をかけて、理解する。この重要さが語られています。

コードを読むときも、

コードのロジックを読むのではなく、コードの意図とその背後のアーキテクチャを理解するために読み込む

とったことを心がけると、複雑なコードも読めるようになってきます。

誰もがアクセスできる基礎は、じっくりと時間をかければ、深く理解できる。やろうと思えばすぐにできるシンプルなことだ。どんな人も、最初は難しく、理解には時間がかかる。結局のところ、シンプルな日々の積み重ねが一番強い

早く「失敗」できるように考える

「失敗」という言葉には、ネガティブなイメージがあります。起こしてはいけない、できれば避けたい。

筆者は、失敗ということについて、このようなことを挙げています。

インターナショナルチームでまず気づいたのが、同僚や上司が、「Miserably Failed(惨めに失敗した)」という言葉を頻繁に使っていることだった。

非難めいた意味ではなく、むしろ失敗に気づいたとき「フィードバックをありがとう!」と大変感謝される、とのこと。

アーキテクチャやツールが数種類あってどれにするか決めあぐねる。こんな場合も、まずは試して、失敗したら次にさっさと乗り換える。こんな割り切りも重要です。

チャレンジしないほうが、リスクを高める。だから、成功しようがしまいが、まずはやってみて、早くフィードバックを得て、早く間違いを修正していくFail Fastの精神だ。

「専門性」を追求する姿勢を持つ

2023年の春、ChatGPT-4のリリースは、世界に衝撃を与えました。日本でも様々な場面でAIが活用され始めています。

その立役者は、OpenAI社であり、ひいてはOpenAIに巨額出資しているマイクロソフト社です。発信源のアメリカマイクロソフトでは、ChatGPTをどう捉えているのでしょう

このとき、世間に目を向けてみると、「ChatGPTスゲー!」という好意的な反応と、情報流出リスクがあるし人間の仕事の多くを奪いかねないので禁止すべきみたいな論調と、真っ二つに分かれていたように思う。

(中略)

マイクロソフトの社員は、秘匿性の高くないユースケースに絞っているし、センシティブな情報を扱うときはクローズドな社内専用のものを使っている。そうやって要所を押さえたうえで、みんなAIテクノロジーをゴリゴリ使ってラクしているし、それを自分の開発するサービスに統合して生かそうとエンジョイしている

そして著者もChatGPTを使っているうち、気づいたそうです。自分がやっている、クラウドのプラットフォームの中身というのは、ほぼ世間にコードが落ちていない。なので自分が書いているコードはAIには絶対に生成できない。つまり、

誰もやったことのないものに取り組んでいる専門家は、AIがとって代わることは原理的にあり得ない。

将来的に、AIが高度なソフトウェアをつくり出せるようになったとしても、

  • 用途や目的に応じた学習のためのAIモデルは人が作る必要があるし
  • モデルを使って、求めるサービスにインテグレーション(統合)する仕事も不可欠

これらをソフトウェアエンジニアが担わなければ、実際に使えるサービスは、生まれないのです。

いくらAIが席巻しようが、今後もソフトウェアエンジニアは少なくともインテグレーションの主役であり続けるだろう。AIの世界からイノベーティブなものをつくりたかったら、そこにはソフトウェアエンジニアの専門性が絶対に必要なのだ。

まとめ

理解にしっかり時間をかける。早く失敗して学ぶ。専門性を身に着ける。

そうすればエンジニアは、「AIに取って代わられる存在」ではなく、「AIを使って得をする」「AIを使って新しい何かを生み出す」側に回ることができるでしょう。

そうはいっても、自分には専門性なんてない」。そんなこと言わないでください。

時間をかけ失敗を重ねて身に着けた、あなたが持つ本質的な知識。それこそが、まだAIが学習できていない、あなただけの専門性になるはずです。

『世界一流エンジニアの思考法』に学び、自分の専門性に磨きをかけていきましょう。

¥1,700 (2023/11/11 07:14時点 | Amazon調べ)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次