おはこんばんちは!! 尾藤 a.k.a. BTOでっす
UUUM では僭越ながら CTO をさせてもらってマッスル。 なので UUUM でのエンジニアの面接は僕がやっているんですが、面接の時に気をつけていること、やっていることをご紹介したいと思います。
最初に会社の紹介をする
何はなくともまずはこれ。 転職活動中の方に、UUUM を選んでもらわなければ来てもらえません。 特に UUUM は YouTuber のプロダクションとしてのイメージが強く、エンジニアには馴染みがありません。 システム開発や、新規事業の立ち上げをしていることも知らない方が多いかなと思います。 なので、最初に会社に紹介をして、UUUM に入社することの魅力を感じてもらう努力をします。
実は最初の頃は技術面接をメインにやってて、会社の紹介をあまりやってこなかったために、最終選考に残るものの、最終的に別会社に転職されるケースがありました。 会社の紹介をちゃんとするようにしてからは、最終候補の中から選んでもらえる確率が上がりました。(当社比
30代は実力、20代はポテンシャル
採用を決める時の一番重要なポイントは実力ですが、20代の若い方は将来性を期待して、ポテンシャル採用をすることもあります。 ポテンシャル採用で重要なのは、なんといっても向上心。 「いろんな技術を勉強したいんです」というのは誰でも言いますよね。 本当にそう思っているのであれば普段から勉強しているはずなので、中身をちゃんと理解できているのかを確認させてもらいます。 20代に関しては、現時点での実力が多少低くても採用します。 その代わり、しっかり勉強してもらって、ちゃんとした技術力を身につけてもらいます。
30代になってくると、やはり実力が求められます。 10年近くもエンジニアをやっていながら、技術的な知識の薄い人が多いのには驚かされます。 それだけ長い時間をかけて実力が伸びてないということは、今後の伸びも期待できないので、残念ながら不採用となってしまいます。 なので、20代の若い方達には、今のうちにしっかりと勉強して実力を身につけてもらいたいと思います。
ちなみに即戦力はあまり重要視していません。 しっかりとした技術力が身についていれば、分野の違いはそれほど重要ではありません。 新しい技術や言語を身につけるのに、それほど時間もかかりませんので。 実際 UUUM には、組み込み系から転職されたエンジニアがいます。 実力は申し分ないですし、開発も何の問題なく参加できています。
経歴は参考程度
経歴は今まで何をやってきたのかを参考するために見ますが、あまり評価の対象にはしません。 同じことをやってきても、何も考えずにひたすら作業をしてきた人と、ちゃんと技術的な仕組みがどうなっているのか理解しながら取り組んできた人には、実力に雲泥の差があります。
あくまで技術力を確認させてもらうために、どの分野の質問をすれば良いのかを確認するためのきっかけに過ぎません。 過去にやってきた内容をしっかり理解して仕事をしていれば、質問にもちゃんと答えられるはずです。 逆に答えられない人は、ただの作業をやってきたに過ぎないので、今後の伸びも期待できないので、残念ながら不採用となってしまいます。
業務外での活動は高評価
OSSにコミットしたり、雑誌の記事や本の執筆をしたり、勉強会に参加したり発表したり。。。 このような業務外での活動を積極的にするエンジニアは、めちゃくちゃ評価が高いです。 むしろこっちからお願いして来てもらいたい!! 業務外での活動を積極的にするエンジニアは、得てしてレベルが高いので断る理由はないですね。
もちろん、UUUM でもエンジニアの業務外での活動は大歓迎です。 むしろどんどん外に出ていって活躍するエンジニアが増えていって欲しいです。
アンテナを張っているか
技術の進化は早く、次々と新しい技術が出てきます。 普段からアンテナを張って情報収集しているエンジニアじゃないと、すぐに時代に取り残されてしまいます。 最新の技術についてどれくらい知っているか、興味があるものは何かは必ず聞くようにしています。
興味があるものに関しては、どういう技術なのかについても聞きます。 本当に興味があればある程度の知識は身につけているはずです。 例えば React に興味があるのならば、Facebook が開発していることや、Virtual DOM を採用していることなどを知っているはずですし、Virtual DOM が何なのか、どういうメリット・デメリットがあるのか、なぜそうなるのかを答えることができるはずです。
プログラミングのテストはしない
UUUM では実際にプログラムを書いてもらうテストはしていません。 実際にプログラムを書くテストだと、どうしても短い時間で解ける問題になってしまいますし、そうするとアルゴリズム系の問題に偏りがちになってしまいます。 アルゴリズム系の問題が解けることと、開発力は別の能力だと思ってます。 (相関関係はあると思うけど、因果関係はないと思う)
github とかに公開しているプログラムがある場合は、見させてもらいます。 やはり実際に書いたコードを見るのが一番良くわかります。
基礎知識があるか
これまでの流れで分かる通り、しっかりとした知識を身についているかどうかを重視しています。 単にコピペでコードを書いてきたようなエンジニアは、中身について理解ができていないので基礎知識が身についていません。
僕がよく聞くのは、例えばインフラエンジニアだったら、TCP/IP の基礎について聞きます。 インフラやってるんだったら、ネットワークの知識があるのが当然だと思うのですが、知らない人が多いのに驚かされます。 例えば、Apache(nginxでもいいですが) でネームバーチャルの設定はしたことあっても、それがどういう仕組みで実現されているのかを答えられない人が多いです。 インフラエンジニアを名乗るんだったら、HTTP の Host: ぐらい知っておいてもらいたいものです。
Web プログラマなら、Cookie の仕組みや、セキュリティ周りの話題(XSS, CSRF)について聞くことが多いです。 いずれも言語やフレームワークに関係なく、Webエンジニアを名乗るなら知ってて当然の知識だと思います。
面接する側にも技術力が必要
面接をして、優秀なエンジニアがどうか判断するには、面接する側にも技術力が必要です。 面接する側に技術力がなければ、候補者の技術力が高いかどうかの判断ができません。
また面接を受ける側にとっても、これから入社する会社の技術力が高いかどうかの判断材料にもなります。 面接の時にあまり技術的な質問がなければ、会社の技術力に期待が持てないので、候補からは外れてしまうのではないかと思います。 (と、転職活動をしたことがない人間が書いても説得力ないかもですがw)
UUUM では優秀なエンジニアを募集してます!!
UUUM では一緒に新システムや新規事業の立ち上げをしてくれる優秀なエンジニアを募集しています。 転職を考えてる方がいましたら、ぜひご連絡ください!!
結論
UUUM では 社員旅行で沖縄に行けます。