見出し画像

AIによる働き方の変化について

巷ではGitHub Copilot Workspace(以下、GCW)を使って開発を行う事について、エンジニアの働き方についての考察の動画や記事が出回るようになりました。
その中では、GCWの出現によるエンジニアの働き方がどう変化していくか、今後求められるスキルは何かというような題材で考察が行われており、コードを書く時間が減っていくということが言及されています。

この事について、僕自身も思うところがあり書いていきたいと思います。

どう変わり、どう変わっていくか

GCWの出現は、今後のエンジニアの働き方に大きな影響を与えると思われます。
それは、GitHub CopilotというAIによる提案機能を提供するプラグインの出現だけでも大きく変わっている現実があり、このことからもすでに分かります。

例えば、あるモックのデータを用意をしたいとして、本来であれば、チマチマと自分で配列を作って、データを作って、モックデータ内容を考えて…としなきゃいけないところでしたが

// 以下の内容に合うデータを記述する。
// ・データ数: 100
// ・データの構造: {name: string, age: number, address: string}
// ・nameは日本人を模倣した架空の名前
// ・ageは20~50までのランダムな数
// ・addressは実在する住所を都道府県と市町村までの記述

というコメントを打ち込むだけで100件のデータを適当に見繕って作成してくれます。
当然、修正する際も、上記で作成されたデータに対して「これこれ、こうした内容に変更して再度作り直す」といったコメントをするだけで作り出してくれます。

これだけでも、人間が行う作業が1/10以下になっているのを感じれます。
当然、コードを書く際も仕様を書くだけでそれに合わせたコードやテストを生成してくれます。
これだけでエンジニアの働き方に大きな影響を与えてるのは当たり前なのですが、GCWはさらに進化していると聞きます。
コードレベルやデータ作成を超えて、プロジェクトのコンテキストを理解してコードの作成を行ってくれると言います。

Issueに仕様を書いて立てて、GCWを動かすと、その仕様に合ったコードを生成してくれ、しかも動きを確認できるようにしてくれるというのです。

話だけ聞くと実際の効果はあまりよく分からないですし、実際使ってみて初めて分かることだと思います。
しかし、GitHub Copilotの例がすでにあるので、期待ができることは間違いないです。

エンジニアの仕事はどうなるか

さて、ここまでいくとエンジニアの働き方がどうなっていくのかが気になる人も多くなるのではないでしょうか。
僕もその1人です。
僕自身は、エンジニアの仕事は無くならないかもしれないですが、エンジニアという仕事の定義は変わると思います。

いろんな人の考察でも、エンジニアの仕事はなくならないと言われています。
それはゼロにならないというだけで、圧倒的に数は減りますし、エンジニアとしての成長の方向性が全く変わると思います。

つまり、現在のエンジニアの仕事は

  • 仕様を決め

  • コードを書き

  • 品質担保をする

という領域だったところから、一気に変化します。

  • プロダクトの方向性を決め

  • 仕様に落とし込み

  • 動作の確認と修正を行ってもらうための変更をAIに任せる

だけの方向性になると思います。

しかし、ここで問題なのはこの修正や仕様の決めというのは、どこまでやればいいのでしょうか、そしてそれを行うにはどのレベルまでエンジニアリングができないといけないのでしょうか、そしてそれはどこで身につければいいのでしょうか。

今の世界線から見ると全てが未知です。
働き方がガラっと変わるからです。

例えば、今APIのインターフェースを揃えるとしたら、そのインターフェースを強制するようなライブラリや仕組みを構築する必要があり、ライブラリの選定や運用方法を考える必要があります。
このあたりを決めるに当たっての運用経験であったり、そこでの失敗経験が必要になります。
しかし、AI(GCW)を使えば、そこのインターフェースがズレることはないでしょう。
ズレるとしたら仕様がズレるということになります。
つまり、強制する仕組みを考える必要がなくなるわけですよね。
当然ライブラリも不要になり、インターフェースをドキュメントで管理するとしてもAIが補完してくれれば変更忘れもなければ、変更ミスもなくなります。
このようにそのアーキテクトを考えるエンジニアはまずいなくなるわけです。そして求められるスキルも、不要なものに対して身につける必要がないので、学ぶ機会がどんどん減りますし、失敗する経験もなくなります。

今はまだ、この経験が豊富なエンジニアが多かったり、AI時代が始まったばかりなので、これこれをやればいいだろうという土地勘であったり、感覚が研ぎ澄まされてる人は多いと思いますが、3~4年もするとそこら辺の土地勘を不要としたエンジニアが、いわゆるZ世代のような形で出てくるようになります。
そして10年後には、これまで感覚はあったが、不要になったことで錆びてしまうエンジニアも増えてくるでしょう。

ここまでの話の流れで、エンジニアという職業が無くなるというより、定義が変わってくるというのに気づき始めます。
「AIが生成したものをエンジニアが確認するのでエンジニアの仕事はなくならない」と思っている人もいるかもしれないですが、「その確認が正しいかどうか」という判断に必要なスキルというのを身につけるエンジニアリングのスキルというのは、今のところ誰も経験がないと思っています。
今はまだ、AIに頼らないやり方でやってきた人の知恵があるのでなんとかなりますが、どんどんなくなりますし、不要になってくるということで、新しいエンジニアの定義が生まれると予想しています。

何をしていくのがいいか

僕は、そういうこともあってコードを書くという仕事はできるだけ減らして行きたいと思っています。(個人レベルではどんどん書きたいですが)
今はまだ僕のスキル的には、未熟だとしてもこれまでのプログラムのアプローチに関する知的資産があるので、この次の世代である、「エンジニアがAIの生成物を評価する」時代を生き残れると思っていますが、その先はまだ生きていける自信がありません。そしてそれは5年後には訪れる可能性があります。

この時、変わらずコードを書く事に注力したままでは、どんどん仕事がなくなると予想されるだろうし、コードが必要になってくるのはAIを超えたさらなる人類の進歩を生み出すものを作るための世界線だと思っています。
つまり、僕には到底到達できない領域の人間でしかコードを書くことを必要としない世界線です。

そうした中で、今コードを書くことに集中して生きてしまうリスクが非常に高いものと感じてしまいました。

まとめ

多くのエンジニアは、自分たちの仕事がAIにとって変わることに恐怖していると言います。
それは僕もです。
その恐怖がどういうところから来るのかについての考察を文字化してみたつもりです。
エンジニアに限らず、今後の世界線というのは未知の領域に突入します。
2023年がいわゆる、この世界のターニングポイントになったように思います。
この世界線に耐えうるスキルと、自分たちの次の世代に残すべき能力は何なのか。について考えて働き方を変えていく必要があるなということを考えています。

この記事が気に入ったらサポートをしてみませんか?