今回はエンジニア就活編について綴っていきたいと思います。
一般的にエンジニア就活はエントリーの段階では、ビジネス総合職などよりも大変になる傾向があります。なぜなら、まず通常のエントリーシートに加え、大抵は1時間以上のコーディング試験(プログラミング)、さらにSPIや玉手箱などのwebテストが課されることが多いからです。
他方で応募人数は文系職種に比べグッと絞られるので、倍率はかなり低く、また面接の回数も少ないことが多いのも特徴です。
コーディング(プログラミング)試験。
エンジニア就活において、最大の壁はコーディング試験です。およそ1時間〜2時間のプログラミングテストが課され、テストケースに通らないと面接に進めないというものです。年々これを課す企業は増えてるようで、ネットのコーディング試験を課さない企業一覧なども結構あてにならないことも多かったです。
メガベンチャーをはじめとしてWeb自社開発企業ではほぼ必ず出題されたのに加え、Atcoderの茶〜緑のように競技プログラミング慣れしてないのと突破できないものも多くありました。
他方で、ITコンサルやSIerではコーディング試験が課されないことの方が多かった気がします(エンジニアと名乗ってても、ゴリゴリコードを書くのは少なかったりする)。
言語に関してはPythonやC、C++は必ずある印象で、JavascriptやPHPはないことが多かったです。そのため普段から競技プログラミングに親しんでいることがある程度求められるのだと思います。
自分がやった本としては上記の2冊をやりました。エディタはブラウザとして用意してくれることが多いので、受ける前に環境構築をしておく必要などはありません。また競技プログラミング特有の癖に対応するためにチートシートは必須だと思います。
情報処理資格はどの程度役立つか
これは企業によると思いますが、一般的にSIerやITコンサルでは高く評価されると思います。他方でWeb自社開発企業では全くと言っていいほど重視された記憶がなく、それよりもGithubのポートフォリオやチームでの開発経験が重視されていた印象でした。(聞かれすらしなかった)
ライブコーディング
ライブコーディングとは面接官が見てる前でコードを書くもので、1次面接に多かった印象があります。面接官の方からコードを提示され、「このコードをもっと効率良くするためにはどうすればいい?」「もうちょっと計算量減らすことできない?」というような会話形式で進むことが多かったです。そこまで難しい質問が出されるというよりかは、エンジニア特有の考え方のプロセスが見られてるような気がしました。
電話面接
こちらは技術的な一問一答であることが多く、応用情報処理技術者の知識で対応できることが多かったです。インストールとダウンロードの違いは?バブルソートとクイックソートの計算量(オーダ)の違いは?という形で、知っていれば解けるものが多かったです。
研究発表面接
これが文系の自分にとっては一番難しかったですが、選考のフローで卒論など学業における研究発表を求められるパターンが多かったです。自身はせいぜいドメイン駆動開発とか、Pythonで作ったディズニー待ち時間アプリのプレゼンしかできませんでしたが、ここを突破することは一度もなく、同じネームバリューと待遇なら文系職種で行った方が全然楽じゃんと考えるようになってエンジニア就活を終えました。
最後に
最終的に自分はエンジニア就活を終えましたが、結果としてメガベンチャーで開発経験の生きる仕事に就くことができました。別にプログラミングはエンジニアにならなくともできることですし、中途で入ってくる人も多い業界なので、エンジニアという枠に拘らなくてもいいのかなとは個人的には思ってます。