実際、競技プログラミングって採用時にどうよ?
これは?
私信電信という共著ブログ(?)を友人たちと始めた。
今回「実際、競技プログラミングって採用時にどうよ?」というお題で書く
現状の解説
実際今いる会社ってHRの会社なので、採用側の視点で。
会社の規模はエンジニアが15人ぐらい(全社員で40人中)
採用時のフローは、 カジュアル面談→技術面接→社長面接→トライアル(最近はあんまやってない)
ちなみにトライアルは業務委託契約で1~7日ぐらい既存の課題を手伝ってもらう感じで、互いの負担は大きいがミスマッチは防ぐのが目的でやってる(やってた?)
今のところコーディングテストみたいなのは導入してない。
現職であるところの株式会社HERP では全社員で採用に取り組む「スクラム採用」を推していて、エンジニア全員が面接に出たりする。 面接も出るけど、最近はカジュアル面談をやることの方が多い。
余談だけど、面談した人の面接は出ないようにしている。以下のような理由。
- ジャッジしない体で話を聞いた後にもう一回ジャッジする体で話を聞くのはなんか違う
- アニメもそうなんだけど、性格的に2回目はかなり興味が薄れている
そういえば、構造化面接みたいなことは一瞬やろうとしてたけど結局やってなくて、面接の評価が構造化されているわけではない ジュニアかシニアみたいな区別は今のところ明確には無くて、業務経験のある「ある程度できる人」を採用する感じになってる気がする
競技プログラミングどう?
競技プログラミング関係なく趣味がエンジニアリングに関係することはかなりプラスよね。 土日(平日の夜とかも)の時間の使い方として何かしらやっている人の方が評価されるのはそらまぁ。
競技プログラミングの特性として、コンテストとかへの参加というわかりやすい形で残るのは評価しやすそう。OSSとかに貢献しようとしても土日そのコードを読んでいるだけだと形としてはのこんなかったりするからね。
余談ですが、最近とあるOSSに自分の書いてたコードの上位互換みたいなのがmergeされてて悲しかった(単純にプロジェクトの途中だったのでPRを出していなかった)
これらはあくまでやってるかどうかっていう話なんで、年齢が上がるにつれて可処分時間は減る気がしてて難しい問題ですね、今と比べると大学生のときはめちゃ時間あったので。
とはいえ、転職のために別に趣味でもない競プロやるっていうのはもったいないよね、時間の使い方として。 いい会社に入るためにいい大学に入るために勉強するみたいで、つまらん上にけしからんですね。
転職のために、業務委託でやっていた会社のコードをGitHub上にあげちゃうのも、けしからんですね
今後、コーディングテスト(面接)する?
自分はした方がいいと思っている。 けど、会社の人材要件定義に合うような問題を作るコストがデカくね?みたいな感じになっててやってない気がする 弊社だと、やるとしたらHaskellの型合わせ問題を解くとか特定の言語のサブセットのパーサーを作るとか、フロントエンドだったら簡単なアプリケーションを用意して改造してもらうとかになりそう
既存サービスについて
とはいえ問題を作るのがめんどいので、既存のサービスを使うというのはある。 けど、プログラムがほとんどできない人に対しての足切り的な使い方になちゃうんじゃないかな 競プロの難しい問題が解ける能力を採用時の評価の上で差をつけれないと思う。
AさんとBさんどっちを取りますか?っていう話になった時に、現状カルチャーフィットの方が重視されてる。
今後応募が増えてきた際に使うことはあるかもしれないけど、必要になるほど応募が来るのか?