DAY」が開催されました。エンジニアの採用にまつわる新たな取り組みについて、現場の人事担当者を招いてナレッジを共有する本イベント。第2回となる今回は「技術選考におけるスキルの見極め方」というテーマで株式会社バンダイナムコスタジオの髙橋秀司氏とクックパッド株式会社の庄司嘉織氏をゲストに招き、自社の取り組みを語ります。本パートでは、コーディングテストにおける評価のポイントや、人事とエンジニアの役割分担について語りました。山根淳平氏(以下、山根):ちょっとご質問がお二人に入ったのでお話をさせていただくと、「これって新卒・中途どちらのお話を、もしくは、どちらもこういう選考フローなのか?」っていうご質問なんですけども、いかがでしょう?庄司嘉織氏(以下、庄司):僕も見てて思ったんですけども、たぶん勘違いされているなと思っているのではっきり言っとくと、両方一緒です。:新卒だろうがなんだろうが、「まずコードを提出してください」です。山根:ありがとうございます。庄司:それを一応補足しておくと、さっきも言ったように、教育の体制がそんなに整っていないっていうのもあるんですけども、今のこの世の中、プログラム書きたいと思ったら、書けないことないんですよね。パソコンさえあればできるんで、昔みたいにコンパイラが何十万出さないと買えなかった時代じゃないんで、今ならできるんですよ。今やらない人が「就職したらやります」って言っても信じられないので、基本的には今書いている人を求めているので一緒です。コーディングテストを受けてもらう。コーディングテストの内容が少し違うのはありますけれども、基本的には一緒です。山根:なるほどですね。ちなみに、少し違うっていうのは、中途のほうが難しくなるんですか?庄司:中途のほうが難しくなります。山根:難しくなるんですね。ありがとうございます。庄司:ただ一応、学生さんとかみんなにも説明しているんですけど、僕らが求めているのはエンジニアですと。小説を書く作家を求める時に、「まだ日本語が書けませんけれども、小説家になりたいです」っていう人を雇わないですよね。日本語書けるの最低条件だよねっていう感じで、エンジニアがコード書けるのは最低条件にしてます。山根:なるほど、ありがとうございます。高橋さんのほうはいかがでしょうか?髙橋秀司氏(以下、高橋):もう完全に新卒採用です。山根:こちらは新卒採用ですね。山根:ちなみに中途は?高橋:中途に関しては、試験はある程度したりするんですけど、要はルートによってちょっと違うんです。キャリアのほうは確実にこうして採っているという感じはないですね。山根:ポジションに合わせて、選考フローも変えていると。ありがとうございます。ソースコードから何を見極めているか?山根:というかたちで、参加者の方からも質問があったら随時拾っていきたいと思ってますんで、よろしくお願いします。選考フローのお話の中でいろいろと出てきたところから、今、新卒も中途も技術的なところをけっこう両社とも見られている部分が、お話にあがったと思うんですけども、「ソースコードから何を見極めてますか?」と。今いらっしゃっている企業さまの中で、人事部の方で、我々もいろいろとご相談をいただくことが多いんですけども、採用のご担当者さまの中だと、例えば、「エンジニアの現場とちょっとうまく連携が取れてない」「エンジニアの現場面接どうやろう?」「どういうふうにスキル評価しよう?」っていうのを考えられている企業さまもあると思うんですが。いった中で、やられている企業さまがソースコードを提出してもらって何を見極めているかっていうのも、ぜひお話聞いてみたいなと思ってます。高橋さん、ゲーム業界的な部分って、何を見てますか?高橋:今年初めてソースコードを使うWebのテストをやったんで、それが正しいとか間違っているとかわからないんです。基本的に、最初本当に思っていたのは、やっぱりマルかバツではありませんが、得点だけで高い点数だったらすごい技術がある、低い点数だったらあまり技術のないっていうのを若干期待してたんです。コードテストで評価しているポイント高橋:実際のところ、そんなに、こう......。今回我々がうまく......試行錯誤してうまくいってなかったのかもしれないですけど、あんまり得点の差、要はきれいに分布するようなかたちにならなかったのもあるんです。ソースコードを見ると、できない......。できる人はたぶんきれいなコードを書いたり、わかりやすく、とくに問題ないんですが、できない人の中でも、やっぱり時間があれば解けるんですけど、時間制限内にうまくいかなかった人とか。つまる部分とか、本人の書いたコードを見ると、やっぱり人によって、途中で投げ出してしまったようなコードを書いている人などいろいろで。それって本当に正直数字でも出ないから、主観になっちゃう部分もあるんですけど、そこで、本人がどう答えまで導き出したのか、導き出せないにしろどこでつまったかとか。そこに関してはWebのテストだけじゃなくて、面談も含めて、できなかった理由を聞くなりします。「ぜんぜんわかりませんでした」っていう人から「こういうところがダメで、実際のところつまってできませんでした」ってちゃんと説明してくれる方までいろいろで。そこでその部分が今までよりも、ぜんぜん今まで予想外にしなかった部分でもあるんですけど、スキルとしてこちらで見ることができました。ちなみに、定量的に評価するみたいな部分もあるとは思うんですけれども、それはコンパイルが通っているかとか変数の付け方とか、どういうところを今見られているんですか?高橋:きれいなコードを書く人って学生さんなんでそんなにいないんで。それほど......変数名がどうとかまではあまり期待してないですけど(笑)。山根:そこまで期待してない。高橋:定量的な部分でいうと、明らかにエンジニアが見ればわかるんですけど、簡単なミスでけっこう何時間もつまるってことがあって、そこで引っかかっている人も、点数でいっちゃうと点数が取れない、というところで、あえてそこで見ました。ありがとうございます。次に庄司さん、お願いします。技術ごとの文化に合わせてコードが書けているか?庄司:これはさっきのWebエンジニアとiOS,Androidエンジニアで分けている理由にもなるんですけれども、まずちゃんとそれぞれの文化のコードが書けているか。iOSだったらiOSなりの書き方ってあるんですよね。ビューにロジックを置かずにどこにロジックを置くか、というところなど、設計部分まで含めてちゃんと書けているか、っていうのを見てます。問題が解けていればいいというわけではなくて、そういう設計部分。逆にうちは、その変数名も含めて、設計の部分は見てますね。どれだけ最適化されているか、あとは問題文を、言うんでしょう、わざとけっこう柔軟にとれる文にしているんですね。問題の内容は言えないので、ボヤッと言うんですけども。その仕様をどう解釈して、ちゃんと拡張性のあるように実装するかも含めて見ています。コンパイルが通るとか、そういうのはもう当たり前ですね。山根:ありがとうございます。これは庄司さんに対してのご質問かもしれないんですが、「すべての人がOSS活動しているわけではないと思うのですが、GitHubだけで判断できないエンジニアのスキルセットの把握をするための、なにか方法があったら教えてください」ということです。思っているので、課題を受けてもらう。GitHubだけではない。山根:その中でGitHubを使わせるっていうのをやる。庄司:GitHubのアカウントを持っているのは、当たり前だよね。そこで公開している公開してないは置いといても、アカウントは持っているよねっていう感じですね。「ゲームが好き」をどう評価するか山根:ありがとうございます。あと、高橋さん宛にご質問があって、「選考においてゲーム好きが重要とのことですが、自社のゲームが大好きというのが選考可否に影響を受けるものですか?」。