エンジニアにとって重要な能力は言語化だと思う
この記事を書こうと思ったきっかけ
最近 ChatGPT というサービスが話題になっていますね。
先日とても興味深いTweetがありました。
一連のTweetを見るとわかるのですが、投稿者のいとひろさんがAIと対話しながら、Twitterクローンのようなアプリケーションを完成したことで話題になっています。
このTweetを見て自分が以前から思っていた事を言語化しておこうと思い記事を書こうと思いました。
前提条件
この記事のタイトルは「エンジニアにとって重要な能力は言語化だと思う」となっていますが、ここで言っているエンジニアは自社サービスを持っている事業会社のWeb系エンジニアのみを指しています。
その他の業界のエンジニアに関しては必ずしも当てはまらないので、そのあたりはご注意ください。
AIを使いこなすには言語化能力が必要不可欠
このTweetを見て、自分も ChatGPT を触ってみたのですが、感想として以前から思っていた読解力と言語化能力が今後ますます重要になっていくと感じました。
自然言語を理解して会話のようなやり取りをしながら、Twitterクローンを完成させたAIは凄いのですが、AIに自分が望むものを作ってもらうためには、自分が達成したい目的を言語化して伝えることが必要不可欠になります。
その為、顧客やビジネス職とのコミュニケーションから問題の本質を理解し言語化してAIに伝える言語化能力がもっとも重要な能力になると思いました。
他にもコミュニケーション能力やデータや文章を読み解く読解力も今後ますます重要な能力になってくると思います。
以前から重要だった言語化能力
今の一般的な開発の流れを交えながら解説します。
ビジネス上の問題を理解して、要件を整理して、アーキテクチャを選定します。
ここで利用する言語、フレームワーク、実行環境となるインフラ環境(今はAWSなどのクラウドサービスを使うことが多いと思います)を選定するかと思います。
エンジニアは自分の頭の中の知識だけで開発を進めるわけではありません。
各言語やフレームワークの公式ドキュメント、ネット上の記事、または書籍などから情報を収集しながら開発を進めることが一般的かと思います。
ネット上で検索するときは、今自分が困っていることを言語化して検索ワードに変換して検索しているハズです。
エンジニアは毎日、問題を言語化してGoogleなどの検索エンジンに入力しているのです。
この検索ワードや検索場所が適切であれば早く問題が解決します。良質な情報が載っているサイトや書籍を見つけられると思います。
逆に検索ワードが適切でないと、解決方法を見つけられなかったり、見つけた情報が間違っていたりで、いつまでも問題が解決しません。
その為、問題を言語化する能力というのは今でも非常に重要な能力なのです。
私はエンジニアの仕事の本質は技術による問題解決だと思っています。 もう少し具体的に言うと、世の中に存在するさまざまな問題を理解して、解決方法を言語化し、それを形にする能力だと考えています。
今後 ChatGPT のようなAIサービスがどこまで進化するかわかりませんが、エンジニアに求められる事の本質はそれほど変わらないのだと考えています。
個人的な感想
AIはエンジニアの技術調査を超効率化してくれる存在だと思っています。
私もプログラミングが大好きなので、今後AIの発達で業務でコードを書く機会が減っていくのは少し寂しい気もします。
しかし世の中には解決すべき問題が溢れています。
1人の開発者として、AIを上手く使ってそれらの問題を解決していこうと思いました。
おわりに
普段は技術記事しか書かないのですが、この件は以前から思っていた事だったので、どうしても記事を書きたくなりました。
実は他にも伝えたいことがあったと思うのですが、上手く言語化できませんでした。。。(言語化能力を鍛えないとですね)
ちなみに発端となったTweetの投稿主のいとひろさんとは以前一緒に働いていた事があります。
彼はマネージャーとしてもエンジニアとしてもとても優秀で皆から頼りにされていました。
自分も置いていかれないように言語化能力を鍛えていこうと思いました!
以上になります。最後まで読んでいただきありがとうございました。
Discussion