こんにちは。谷口です。
未経験からITエンジニアへの転職を目指しているみなさんは技術面接について知っていますか?
エンジニアの採用選考では、多くの企業が技術面接(コーディングテスト)を実施しています。
「技術面接って何…?」「未経験でもテストがあるの?」と思われるかもしれませんが、未経験者の採用選考でも実施されることが多いので、技術面接とは何なのかを知って、準備をしておけるとよいでしょう。
そこで今回は、エンジニアの選考で実施される技術面接とはどんなものなのか、一般的な採用選考の面接とはどう違うのかについて解説します。
エンジニア選考で実施される技術面接・プログラミング課題とは
「技術面接」と言われると、就活生が大学での研究内容をプレゼンするような形の面接試験が思い浮かぶ方もいるかと思います。
エンジニアの場合、中途や未経験者の採用選考でも、技術的な話を聞かれる面接や、プログラミングのテストなどを含んだ選考が「技術面接」と呼ばれています。
「技術面接」という言葉に明確な定義があるわけではないため、企業によって技術面接の内容はまちまちですが、プログラミングや開発業務に関するスキルや知識を見られるような選考がおこなわれるということです。
技術面接の内容とは?
プログラミング問題
未経験者向け求人の採用選考の場合、事前にプログラミング課題を出し、それをペーパーテストやWeb上で解いてくるといった形式が多く実施されています。
その場でホワイトボードを使って解く形式の試験を実施する企業もあります。
ペーパーテストやホワイトボードの場合、PCを使ってプログラミングをするときとは勝手が違って戸惑うかと思いますが、企業が知りたいのは
- プログラミングの基礎知識
- アルゴリズムの基礎知識(問題に対してどんなアプローチを考えているか)
- 論理的な考え方や説明ができるか
といったことです。
また、問題を解いたあとに、自分が書いたコードについて、面接の中で説明を求められる場合もありあます。
緊張するかと思いますが、企業は未経験者に対してものすごく難しい問題を出したり、経験者と同じレベルのコードを求めたりしているわけではないので、落ち着いて取り組みましょう。
企業が知りたいのはあくまで「細かいコードの記述が完璧に合っているか」よりも、「どこまで勉強できていて、どこまで自分でできるのか」「どんなふうに考えてプログラミングをしているのか」といったことです。
あらかじめpaizaのスキルチェック問題などで、プログラミング問題を解いておくと、技術面接の練習にもなります。
paizaのスキルチェック問題について詳しくはこちら
技術的な質問
面接で技術的な質問をされたり説明を求められたりする形式の技術面接もあります。
未経験者とはいえ、エンジニア職の採用面接であれば、プログラミングや技術に関する話がまったく出てこないというケースはあまりないでしょう。
面接では、経験者であれば実務レベルの質問をされることが多いですが、未経験者の場合はこれまで勉強してきた内容について聞かれるケースが多いです。
具体的に言うと
- どんな勉強をしていますか?
- どんな技術に興味がありますか?
- 個人で作った成果物があればそれに関する質問(なぜこのアプリを作ったか、なぜこの技術を使ったかなど…)
などなど…。
未経験者でもポートフォリオや成果物を提出できれば、それに対する深掘りをされることもよくあります。
また、自社サービスを開発している企業の場合、そのサービスで使っている技術の勉強がどれくらいできているかを質問されることも多くあります。
ここで差がつく!すぐできる技術面接対策
ふだんからプログラミング問題を解いておく
前述の通り、paizaのスキルチェック問題をふだんから解いておくと、試験のような時間制限のある中でプログラミング問題を解く練習になります。
また、paizaラーニングの「アルゴリズム入門編」(全編無料)では、FizzBuzz、フィボナッチ数やハノイの塔といった、技術面接でよく出題されるプログラミング問題のアルゴリズムを解説しています。
学んだ内容の整理・ポートフォリオ作成
未経験者とはいえ、「何も勉強してないけどやる気はあります」という人は歓迎されません。
未経験者がやる気やポテンシャルを「自分で今まで勉強してきたことやできるようになったこと」を話すことで、現時点のスキルやモチベーションの高さをアピールできます。
今まで個人で勉強してきた人は、その内容を思い出して整理した上で、話せるようにしておきましょう。
また、個人で作ったアプリなど成果物がある人は、それらをまとめたポートフォリオを用意しておくとよいでしょう。見せられる成果物があると、スキルのアピールになるのはもちろんですが「個人でも手を動かして取り組める」自主性や意欲があることもアピールできます。
「見せられるようなレベルのものではない」「勉強はしているけど自信がない」と言ってあまり積極的にアピールをしない人もいますが、繰り返しになりますが企業側も未経験者に経験者と同じレベルのスキルや成果物を求めてはいません。
自分から勉強したり作ったり調べたりできるというのは、エンジニアとして非常に重要な要素です。現時点でのスキルのレベルが高くなくても、個人での取り組みについて話せれば「自分から積極的に学んでくれそう、早く成長してくれそうだな」と思われやすくなります。
逆に「見せられるものや話せることがありません」という状態では、「エンジニアを目指しているのに、自分から勉強したり作ったりできない人なのかな」という印象になってしまいます。
ポートフォリオについては、こちらの記事でも詳しく書いています。
paiza.hatenablog.com
また、paizaラーニングの「ITエンジニアの就活準備編」では、IT業界の業界構造、ITエンジニアのキャリアや働き方、就活や転職活動で使えるポートフォリオの作り方などについても解説しています。
まとめ
未経験者でも、エンジニアの採用面接であれば技術的な話が出てきたり、プログラミング問題を出題されたりと、技術面接が実施される可能性は大いにあります。
個人でもプログラミングの勉強を進めている人であれば、「すごく難しい質問をされたり、難しい問題が出たりして何も答えられなかった」なんてケースはそれほどないはずです。
選考では上記のような内容の技術面接が実施されるかもしれない…と知った上で、落ち着いて答えられるようにしておくのが重要です。
技術面接の練習に使えるpaizaのスキルチェック問題はこちら
技術面接でよく出題されるFizzBuzz、フィボナッチ数やハノイの塔などについて学べるpaizaラーニングのアルゴリズム入門編(全編無料)はこちら
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら