図らずとも大学に入ってからそれなりにインターンをしてしまった(もはや収入源だった)のでエンジニアインターンの選考レビューをします。
選考は仕組み上運ゲー度が高いですが、「ここなら何度受けてもほぼ受かるやろ」ってところと、「ここに受かったのはマジで運がよかった」と感じるところに結構分かれます。運ゲー度を下げるためにこういうスキルがあったら受かりやすいかもと感じた点もまとめておきます。
応募・選考の流れ
2,3月ぐらいにGoogle Careerのサイトから応募する。ウェブでプログラミングテストみたいなのをやったあと面接数回。その後にHiring Commiteeというのがあって、合格すればチームマッチング。
ぼく
Hiring Commitee通過したけどチームマッチングに失敗した
特徴
- 給料いいらしい(月60万とか?しらんけど)
- 2回通れば内定もらえる?(しらんけど)
- 社食うまい
コメント
プログラミングテストはほぼ運ゲー要素なし。面接は比較的運ゲー要素なし。問題はあっさりしていて、他社の選考と比べるとかなり競プロに近そう。数学とかコンピュータサイエンスが好きだけど開発興味なし!wという人は逆に通りやすそう。開発に関するモチベを(面接段階では)見られないので。 それに反してチームマッチングはめっちゃ運ゲー。東大内の多くの優秀な友人たちからもここで落ちたという声をよく聞く。リファラル採用があるのでリファラルをもらっておくか、応募先チームから魅力的だと思われるgithub.ioなどを用意しておくかなどして気を惹く必要がありそう。競プロの能力だけだとここかなり厳しいと思う(通過した友人氏より)
他社に比べて専門性によるセレクションがないので(せいぜい競プロ。中途採用は専門的な面接をするらしいけど)、受かった人よりもその分野に圧倒的に精通しているのに、運が悪くて選ばれなかった、みたいなことは多そう。正直AtCoder青色以上だと、もはや競プロ能力で差を見ることが不可能っぽいので、あとは運だと思っている。
必要スキル
- ウェブテスト、面接の問題を解ける程度の頭
- 運
Apple
応募・選考の流れ
何月か忘れたけど(秋?)、公式のcareerページから応募する。書類選考→電話面接→本社面接というパターン。特徴として、一切プログラミングをしない。
ぼく
最終面接で運ゲーに失敗した
特徴
- (今はどうか知らないけど)1年に1人しか採用しないので相当な運ゲー
コメント
全インターンの選考でもっとも運ゲー。プログラミングを一切しない上に1人しか採用しないので、どうしようもない。思想としては、「Appleはユーザインタフェースなどによくこだわっていることから分かるように、プログラミングだけではなく、総合的な能力を考慮してAppleに合う人を選びたい」らしい。最終面接で聞いた。最終面接段階までは相当絞られるけど、まあ運ゲーなのでしょうがない。日本支部の代表みたいな人から「1人しか選ばないの申し訳ないけど、ほんましょうがないから落ちてもマジで気にせんといてくれ〜」と言われた。気にするやろ
ちなみに仕事内容はかなり面白くて(非公開情報なので言ったらあかん気がするので言わないけど)、1人しか採用しないので環境もしっかり整備されていて、勉強になると思う。
必要スキル
- 運
運要素が強すぎて、これ以外のスキルが思いつかない。応募分野に精通してる必要はまったくなさそう。向こうは一から教える気でいるので。むしろ興味とか人間性を重視されてる印象。
LINE(多くのウェブ系企業もこれに該当すると思う)
応募・選考の流れ
いわゆるインターン募集!みたいな季節に、公式採用ページから応募する。ウェブテスト、面接を数回。
ぼく
受かった
特徴
- ぼくがやめたタイミングから給料が上がった。月50万?ぐらいあるらしい
- 採用人数が比較的多い
- 部署もたくさんある
- 1,2ヶ月のインターンでも有給がある
コメント
運ゲー度はスキルさえ持ち合わせれば低め。Googleと違って面接で、アルゴリズムの質問などをされない。むしろ、開発についての雑談をするタイプの面接。普通に開発経験が豊富なら雑談をするだけなので楽だしパフォーマンスも安定する。 向こうが普段使っているような技術をそこそこ使っていて、このツールのこういうポイントクソだるいよね〜〜〜とか最近こういうのも出てきて便利になったよな〜〜〜ぐらいの業界の会話ができるレベルなら問題なく通りそう。競プロだけ、みたいなのは逆にかなり厳しいと思う。少なくとも業界に対する興味を十分持っていないと厳しそう。
必要スキル
- ある程度の開発経験(こういうサイトつくりました!みたいなのをいくつか、など)
- コミュ力(アルゴリズムを聞かれる面接ならしゃべることが無にはならないけど、そもそもしゃべるのが苦手なら雑談系の面接でしゃべることが無になりそう)
Preferred Networks
応募・選考の流れ
これもゴールデンウィークぐらいに応募する。事前のコーディング課題の後、面接を数回。
ぼく
受かった
特徴
- 事前のコーディング課題がしっかりしていて、普通に勉強にもなるし、付け焼き刃ではどうにもならない感じが良い
- 採用人数が比較的多い
- インターンのプロジェクトがしっかり用意されていて、他社のように雑務の一つを振り分けられる感じではない
コメント
運ゲー度はある程度あると思う。事前課題がレポート形式なので、ある程度完成度が高くても、手応えとは裏腹に落ちるみたいなこともありえそう。個人的にも面接は、もう一回受けたら落ちていたかもしれないと全然思える。でもこれはあくまでぼくの感覚で、研究室の優秀な人をイメージすると、何百回受けても落ちなそう。Googleとかはいくら優秀でも普通に落ちるイメージ。
必要スキル
- コンピュータサイエンスの特定の分野にそれなりに精通していることと、すべての分野にある程度入門していること
わりとこれ的確な気がする。他社の選考に比べて圧倒的にコンピュータサイエンスの基礎的なスキルが要求されている気がする。逆に言えば開発経験とかまったくなくても合格するタイプの選考なので、コンピュータサイエンスを勉強してきた人たちには本当におすすめ。
ベンチャー諸々
ひとくくりにしてしまって申し訳ないです。AtCoder JobsもしくはWantedlyで通年募集しているような会社を指していると考えてください。
ぼく
受かったり落ちたりした
特徴
- 給料相場は安め(もちろん会社によるけど)
- わりと戦力を求めている
- 選考難易度とは独立して、環境はかなりピンキリ
コメント
将来うちに来てもらおうとエンジニアを養成するつもりはあまりなく、どちらかというとガッツリ働いてもらいたいという印象を受ける(繰り返しになりますが、会社によります)。なので、完全未経験でも、週xx時間いけます!みたいなことを言うとあっさり採用されたりすることも多い。コーディング試験や順を追った面接すらないこともあって、会社に行ってカジュアル面談をしていたら、いつのまにか「じゃあ週何日来れる?」とか突然言われて帰る頃には内定が出ていたりする。時給1000円〜1500円ぐらいの相場な気がする。会社によっては、大企業から独立した非常に優秀な人が設立した会社などもあって、上述したようなインターンの環境よりもずっとプロジェクトに近い形で、クオリティの高いコードレビューを受けたり設計の中心に関われたりする。しかし、たまにウ ン チ ー コ ン グみたいな会社もあって、入社してみたら自分が一番プログラミングができてびっくりし倒すこともある。
スキル
- やる気
- (会社によるけど)ちょっとした開発経験
まとめ
一般に大企業のほうが運ゲー度が高いです。また、専門性の高い質問をしてくる会社のほうが運ゲー度は低いです。会社によっては最初から運ゲーだと思って受けるほうが精神衛生がいいです。めっちゃ優秀(各世代に1,2人レベル)だと国際学会の発表などを通して向こうからオファーがかかってくるなどもあるので、そのレベルになるとあまり運ゲーじゃないかもしれません(研究室の先輩が月100万以上で海外で長期インターンしてたりした)。インターンをするためにインターンをしなければいけない、という愚痴をよく聞きますが、ある程度は正しいと思います。ぼくも上のようにたくさん書きましたが、自分も一番最初はベンチャーから入りましたし、振り返ってみるとかなりちゃんとステップを踏んでインターンをつないできた感じがします。
おまけ
そういえばエンジニアだけではなく外銀でインターンをしたことがありました
特徴
- エンジニアに比べては圧倒的文系就活
- スーツ
- 数日なのでほぼ無給。夏休みとかになると、内定者は有給でバイトができる
- エンジニアと違って、仕事(=お金のやりとり)はできない。仕事を眺めるだけ
コメント
- エンジニアインターンに比べると圧倒的虚無。ただ、なかなか普段見れない業界なので、業界を知っておくという点ではやっておいてもいいかもしれない。SPIみたいなのを受けて、面接を無限回やった。いわゆるフェルミ推定みたいな問題が本当に出る。「この瓶に塩って何粒入りますか?」という質問に隣の慶大生が「まあ俺が普段使ってる塩は高級岩塩なんで、20粒ぐらいしか入りませんねwww」とか答えて合格もらってた。さすがすぎる。ふざければいいもんではないけど、頭のキレがよくて会話が上手ければ通りそう。自分はトレーダーだったけど、トレーダーなら比較的数字感覚のセンスとかみられそう。あと最近情報系がこの分野で希少なので情報系というだけでアドありそう。
スキル
- 運
- 空気読んで会話をあわせる能力
そういや空気読んで会話あわせる能力はかなり重要な気がしますね。「プログラミングができる人」より、「空気読んで会話をあわせる能力が異常にあって、数単語プログラミング用語を知っているだけの人」のほうが、(トップIT企業は無理だと思いますが)多くのIT企業の面接において有利なんじゃないかと思えてきます。