今回は、未経験エンジニア転職における技術課題について記事を執筆しました!
選考において、技術課題があると不安になる方が一定いると思います。それが異業種からの転職となるとなおさら…実際、僕も転職活動が始まって最初の方は、技術課題があるところをできれば避けたいなと考えていました。けど、これからエンジニアとしてやっていく以上、次の転職以降も技術課題に出くわすことを考えたら、このタイミングで避けるのは勿体無いと考えるようになりました。
そして、いくつか受けていく中で、選考における技術課題での線引きにも意味合いが異なるものがあるなと思うようになりました。
僕自身、キャリアアドバイザーとして働いていた経験から、採用視点での話も交えているので、よかったら参考にしてみてください
1. 選考フェーズで異なる技術課題
ひとえに技術課題と言っても、選考のフェーズによってその意味合いは異なってきます。
僕の経験談からになりますが、ざっくり技術課題を選考に取り入れている企業は以下のどちらかのタイミングで取り入れていることが多かったです。
- 書類選考と同時 or 書類選考通過後
- 1or2次面接終了後
書類選考と同時 or 書類選考通過後
この場合の技術課題は、大多数の応募者からある程度線引きしたい時に取り入れてる印象です。内容も、特段難しいというよりは、未経験エンジニアから勉強してたらこのくらいわかるだろうというレベルの内容だったので、しっかり勉強されている方であれば、通るような課題に設定されてる印象でした。
1or2次面接終了後
この場合の技術課題は、「エンジニアとしての素養はあるね」と判断されて、「じゃあ実際の技術力はどうなんだろう?」と実力を見られるパターンです。このタイミングのは、アルゴリズム系の問題が多く、AtCoderなどの問題を解いたりしてないと厳しいかもしれません。
ちなみに、1面接終了後などに技術課題を取り入れてるところは、未経験のエンジニアを採用してる<経験年数3年以内のエンジニアを求めてるパターンが多いので、致し方ない部分もあるのかなと思います。なので、難しかったらとりあえず、どんな小さいことでもいいので、仮説思考や論理思考を用いて、言語化することだけやりましょう!必ずしも、成果だけを見て合否を判断してるわけではないので、最後まで諦めないことも大事です!
※僕は、自分が学んでいない言語&アルゴリズム問題だった時に速攻諦めて、どういう傾向の問題を出してくるのかなど今後の役に立たせるための情報収集として、活用してました。
わからないもんはわからん😂
2.技術課題の内容
次に技術課題の内容についてですが、上記選考フェーズにおける技術課題をもとに話を進めていきます。
書類選考と同時 or 書類選考通過後
僕は、主にフロントエンジニアで転職を考えていたので、Web業界の選考を受けていました。なので、Webの基本となる問題が多い印象でした。ただ、バックエンドも視野に入れてました。
以下は例になりますが、参考にしてみてください。※問題の内容は異なります。
- オブジェクト指向プログラミングにおける「オーバーライド」とは何かを「オーバーロード」との違いについても触れつつ説明しなさい。
- HTTPのレスポンスステータスコードのうち、 404 が表す意味を説明しなさい。
- REST の原則についての説明として正しいものは次のうちどれか。
-
https://example.com/api/users ではuser情報を一括で取得可能なAPIが用意されている。このAPIからuser情報を取得したいときに叩くコマンドのうち適切なものはどれか。
- curl -X GET https://example.com/api/users
- curl -X POST https://example.com/api/users
- curl https://example.com/api/users -all
- ユーザーのPC上にデータを永続化するために提供されている非同期的なAPIはどれか
- IndexedDB
- sessionStorage
- localStorage
1or2次面接終了後
このタイミングの技術課題は基本、アルゴリズム系の問題が多い印象です。
基本的なデータ構造の使い方を問う問題が数問あって、グリーディ法とかの問題も出てた記憶です。※何回やっても、覚えられないグリーディ法。
あとは、バックエンドだとSQLのクエリを考える問題も数問あった印象です。
こちらは、特に難しいという印象はなかったです。※その時は、フロントしか触ったことなかったので、全くわかんなかった。
補足
会社によっては、ER図を作成するような問題を出すところもありました。
3. 触ったことのない言語に対する技術課題を受けるべきか
未経験からの転職だと、触ったある言語だけで転職先を探そうとするとどうしても母数が少なくなるため、触ったことのない言語を扱っている企業への応募も増えてくると思います。
そんな時に、触ったことのない言語で技術課題を受けるとなったら、少なからず不安になると思います。僕も最初の方は、不安になったのでよくわかるのですが、この不安感は未知の事への恐怖心だと思います。既知のことでないから、不安になっているので、一度受けて意外とどうってことなかったりします。なので、どんなに不安で、落ちそうだなと思っても、受けることをお勧めします。これには、理由があり、以下の通りとなります。
- 技術課題の傾向が見えてくる
- 自分の成長につながる
技術課題の傾向が見えてくる
こちらは、そのままの通りになりますが、数をこなしてると自ずとどんな問題が出てくるのかわかってくるようになります。そうすると対策を立てることができるので、お勧めしています。
自分の成長につながる
技術課題は、普段自分が関わらない技術の情報を提供してくれます。自分から情報を取りにいかなくても、技術的な情報が勝手に与えられるのです。これはエンジニアとして成長していくことを考えるとメリットしかないと思います。その場で、仮に答えられなくても、後からそれについて吟味して自分の経験として蓄えることができれば、それだけでその選考を受けた意味も出てくると思います。なので、ただのめんどくさい課題と受け止めず、自分を成長させてくれる機会だと捉えて、積極的に向き合っていくことをお勧めします。
まとめ
今回は、選考における技術課題についてお話をしましたが、専門職ならではの選考に異業種から来た人は戸惑うかと思います。しかし、それを超えた先に素晴らしいエンジニア人生が待っていることは間違いないと思うので、ぜひ前向きにチャレンジしてみてください💪