こんにちは。
今後も行われるかどうかわかりませんが、一昨年、サイバーエージョントが GitHub採用(参考リンク)を取り入れたことが話題になりました。
今回、miu_rasさんの投稿をみつけ、僕はそのとき、ある友人から「GitHubを通じて応募者を評価する意味」について質問されたことを思い出しました。
それに対する僕の考えは、つぎのようなものです。
応募者の GitHubをみれば、どのていどの品質のソースコードが書けるのかといったことがあるていど判断できます。この点については、まったく異論はありません。
また、面接においてプログラム言語のシンタックスの特性や、よく知られた APIについて質問したりするなどといったことが必要なくなり、同社が「通常4〜5回の面接回数を1〜2回とさせていただきます」と説明しているとおり、かぎられた時間を有効に使うことができるものと思われます。
(ただし、僕は、面接において、エンジニア志望者にそうした質問をすることについて、実践的な意味と志望者の将来性とを考えたうえで、あまり大きな価値を見いだしていません。というのは、面接は、対話の場であって、訊問の場にするべきではないという CTOへの僕の思いもあります。テクノロジーについて知的に議論できる人材がほしいというのが僕の本意です。)
ところで、GitHubとは、いったいなんなのでしょうか。
GitHubは、リポジトリ、つまりソースコードの管理や公開といった機能のほかに、ソースコードの共有や関連のコミュニケーションなど、SNSとしての機能もあわせ持っています。GitHubでは、ネットワーク効果が絶大な効果を発揮するのです。
僕は、(もちろん想像にすぎませんが)サイバーエージェントは、GitHub採用において、ここにいちばんの焦点をあてているのではないかと考えています。
というのも、同社はこれまでにコード採用を行ってきた経緯があり、単にソースコードの品質を審査するだけであれば(過去の経験やノウハウが生かせるという意味で)、その際の採用方式で足りたはずで、今回 GitHubを使うことに決めたのは、(GitHubならではの)さらなる視点から志望者のスキルを見極めたいと考えたのではないかと思ったからです。
たとえば、そこでの評価項目は、
1)プロダクトを完成させた(または納品した)ことがあるか
2)コントリビューション(寄与貢献)の履歴や度合
3)チーム開発をしたり、管理システムを有効に活用しているか
といったことなどがあげられるのではないかと思います。
上述したように、ソースコードの品質はひじょうに重要です。しかし、エンジニアの仕事は、課題を解決するための複雑な概念を自らが理解することと、そして、それを(たとえば共同開発者などの他者へ)明確に伝えることです。どちらか一方だけでは、ざんねんながらエンジニアとしては不向きといわざるをえません。エンジニアにとって大切なことは、チームの一員として、より大きな(プロダクトのスケールや露出量ではなく、そのアイデアや社会にあたえるインパクトの大きさ)、より精度の高いプロダクトをつくりあげていくことだと僕は考えています。(すくなくとも僕にとっては)これがいちばんの要件です。
会社という組織が採用するのであれば、それは超高速で効率的なアルゴリズムが開発できるひとりのプログラマではなく、コミュニケーションを重視し、チームの多様性のあるメンバーを大切にし、仕事を楽しむことのできるエンジニアなのではないかと思うのですが、いかがでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/02/27 06:47
2015/02/27 08:23