生成AI時代にエンジニア採用面接で思うこと
つい最近までWEBエンジニア採用面接を毎週のように行なっていました。
今所属している会社は未経験エンジニアと呼ばれる層の採用を積極的に行なっている。
未経験エンジニアとは、「独学やスクールでの事前学習、ポートフォリオ制作などを経験して、ある程度プログラマーとしての素養が自他ともにあるよね。ということが確認出来た人」という理解です。実務経験としてのプログラミング経験はないが、知識としてのプログラム経験はありますよ。という状態の人です。第2新卒の人や、異業種からの転職の方も多くいらっしゃいます。
今年に入ってから、間違いなく生成AIが原因なのですが、その未経験エンジニアの質が変わってきました。しっかり学べていない人が多くなっていると思います。ただ、これは未経験エンジニア本人の能力が落ちたわけではなく、生成AIが普及したことで学び方のトレンドが変わってしまったからだと思っています。
学び方と面接でアピールすべきポイントがズレているのではないかと私は思っています。
面接中に面接のアドバイスは出来ないので、代わりにここに書いておこうと思います。ただ、即効性はないので、コツコツ継続する事は必要です。
学びの期間は全力で学習に時間を使って欲しい
誤解しないで欲しいのですが、学習期間でも生成AIは積極的に使って良いと思っています。ただし、使い方には注意が必要です。
問題を生成AIに読み込ませてしまうと、ほとんどのプログラミングの問題は数秒で解けてしまいます。
答えをすぐに聞いてしまうと理解した気持ちになって、真の理解を得られないままどんどん先に進んでしまいます。
最初、生成AIは先輩プログラマーだと思って接すると良いと思います。なんでも聞けば優しく教えてくれる良い先輩に恵まれていると思って、答えではなく、とっかかりになるヒントをもらって、自分で考え、自分でコードを書いてみて欲しいです。
問題を読んでもらって、設計〜詳細設計を行なってもらっても良いと思います。わからない部分があれば、どんどん質問してみてください。
生成AI時代のプログラマーはほとんどプログラムを書かなくなると思いますが、読んで理解出来ますし、処理を概要レベルで把握して、何が正しい動作かを判断する事ができます。
大人になると漢字をほとんど書かなくなりますが、それでも子供の頃行なっていた漢字の読み書きは生きているはずです。
生成AIが書いたコードをレビューし、設計の妥当性を判断し、おかしな挙動に気付くためには、自分の手で書いて躓いた経験が土台になります。書かなくなる時代だからこそ、学習期間に自分で書く経験を積んで欲しいと思っています。
生成AIを使って作ったポートフォリオを出す意味を考えてみる
「このゲームは、生成AIを使って2日で作成しました。」とポートフォリオを見せてくれる方も少なくないのですが、改めてポートフォリオを出す意味を考えてみると良いと思います。
生成AIを先輩プログラマーに置き換えると、「このゲームは、先輩プログラマーが2日で作成しました。」となります。本来伝えたかった意図は伝わっているでしょうか。
先輩プログラマーではなく、あなた自身が試行錯誤して、こだわった部分について熱く語ってくれるのを面接官は期待しています。
それは使ってくれる人の課題をどれだけ深く解決しているか?かもしれませんし、バグを発生させないための構造化であったり、スケールアウトの方法かもしれません。
ポートフォリオを見せた面接官にどんな反応を期待しているか考えてみると良いと思います。
とは言え、生成AIは積極的に活用してほしい
前述の通り、答えではなくヒントとして使うのが前提ですが、それを踏まえた上で私は生成AIを積極的に活用すべきだと思っています。
「生成AIを使わずに実装した方が技術が身に付く」と言うエンジニアも居るのですが、良い先輩エンジニアに恵まれたエンジニアの方が、たくさんアドバイスももらえますし、早く育つと思っているからです。
良い先輩エンジニアに恵まれたエンジニアの方が、たくさんアドバイスももらえますし、早く育つと思っているからです。
これからのエンジニアは、生成AIを良い先輩として技術を磨き、やがて対等に語り合い、お互いの得意分野で高め合える関係になるのが理想だと思います。