インターン記

Yahoo!JAPAN 黒帯デベロッパーインターンシップ 2019春に行ってきました!

どうも、普段はiOSアプリを作ってる自称エンジニアのmani(@mani_transm)です。

実はこの度Yahoo!JAPANに2週間インターンしてきました!

インターンに応募した時点では開発実務とか全く経験したことがない(そもそも求人がない)自分がまさかYahooのインターンに参加できるとは思ってもなかったのですが、なぜか合格を頂いてしまったので行ってきました。

今回参加したのはこちらの「黒帯・OSSデベロッパーインターンシップ

通称黒帯インターンと呼ばれているインターンですね。今回これに参加してきて

mani
mani
Yahoo凄すぎワロタ

ってなったので2週間の出来事を記事にまとめようと思います!

Yahooの黒帯インターンシップとは

出典:https://about.yahoo.co.jp/hr/internship/

Yahooには、Yahooに在籍しているエンジニアの中でも特に専門的・技術的に優れたエンジニアを「黒帯」として任命する制度がありまして、

黒帯インターンシップはその「黒帯」がメンターになり、黒帯から直に技術を教えてもらいながら開発ができるインターンです。

「黒帯」に任命されるエンジニアはYahoo全社でもわずか十数人のみなんですよね。

そんな圧倒的に優れた技術を持つエンジニアと、2週間付きっ切りで開発ができるという学生エンジニアにとっての理想郷です。というか理想郷でした。

応募→参加まで

黒帯インターンに限らずYahooのインターン自体超人気なので、当然合格するまでの難易度はめちゃめちゃ高い。というか開発よりここが一番難関だった。

選考フローはこんな感じ。

  1. エントリーシート
  2. 履歴書
  3. Webでのコーディングテスト
  4. Web面接

関門が多くて正直ESで落とされそうだなと思ってたんですが、意外にも通過してしまいました(謎)「エントリーシート出すだけならすぐ出来るし応募してみるか」みたいな軽いノリだったんだけどな

Web面接の方も風邪で熱を38.5度出した次の日という、これまでにない悪条件だったんですが、有り難いことになぜか合格を頂けました。

選考受けた感想としては、「ちゃんと一通りの開発ができるかどうか」が一番見られている感じがしましたね。

コーディングテストもあるし、Web面接では技術的な質問が結構多かったので、開発ができる人とできない人をふるいにかけていたような印象でした。

ちなみに僕はコーディングテストは出題された3問中2問しか解けなかった。3問目が特に難しかった様で同期の人達も解けていた人はいませんでした。

多分プログラミング未経験(というかiOSアプリ開発未経験)だとESとコーディングテストはほぼ白紙で出すことになります(笑)

インターン:iOSアプリコース

そんなわけで今回僕は黒帯インターンシップの「iOSアプリコース」に参加してきました。

iOSアプリコースに参加したのは僕含めた学部生と院生の3人、当然と言うべきか全員がiOSアプリ開発の経験持ちで、Swiftがある程度使いこなせる人達。

開発ではSwiftを使ったんですが、Objective-Cしか使ったことなくてSwiftの経験はないって人もいたので、アプリが作れればいけるのかも?ただしその人はそもそもの論理的思考力が半端なくレベルが高かった()

インターン開始当日

インターン開始当日、集合場所のYahoo本社オフィスがある東京紀尾井町ガーデンタワーのロビーに行くと、既にインターン生が10人ほど集まっていました。

結構人数多いなと思ったんですが、他のコースも開始日が同じだった様で、僕の参加したiOSアプリコースは先ほど書いた様に3人でした。

その後セミナールームに案内されて、初回のオリエンテーション。

インターン期間中の注意事項だったりの説明を受けて、色々と書類を書きました。書類に押印する時朱肉用意されてると思ってたら持参必須だったようで、隣の人に

まに
まに
すいません…朱肉貸してもらって良いですか?

を3回くらい言った。その人もiOSアプリコースに参加する人であとで気まずかった()

その後PCのセットアップやらを済ませて、黒帯エンジニアのメンターさんと合流しました。Web面接で話した人と同じ人でびっくりした。面接の時からセイキンに似てるなと思ってました

その後メンターさんから実際のプログラムに入る前に簡単なアプリを作る課題を出されて初日は終了。

期間中にやったこと

10日間1日1日が濃かったので1日ずつやったことを書きたいところなんですが、今回僕らがインターンでやった内容が、「インターン用に用意されたカリキュラムを進める勉強会」と言うよりも「社内にある実際の案件にアサインされて、ガッツリ「実務の開発」をやる」と言う感じだったので、マジで話せるところがない(守秘義務)

詳しい内容は「XcodeとSwiftを使って開発をやりました」くらいのレベルでしか話せないんですが、1つだけ話すとすると、インターン期間中は「ペアプログラミング」と言う開発手法で開発を行ってました。

Yahooの本社オフィスには、ペアプログラミング専用の「820 Labs」という特別なフロアがありまして、iOSアプリコースは基本的にはそこで開発を行ってました。

メンターを含めたペアを2つ組んで、同じXcodeの画面を見つめながらアレコレ言い合いながらコードを書きましたね。


出典:ペアプログラミングが特徴的な開発手法「Lean XP」を取り入れた「820 Labs」オープン!

黒帯エンジニアのメンターとペアになった時は、「糞みたいなコード書いたら殺されるかもしれない」という死と隣り合わせの緊張感の中コードを書けたので、ある意味かなり成長しました。※イメージ保護のため言っておくと担当だったメンターさんはめちゃめちゃ優しい人です。

あと開発を行っていく中で社内オリジナルのSDKとかシステムが結構多くて、結構コードを解析するのに時間がかかりました。

下手にコードを加えると他の動作に影響が出たりもしたので、改めて「分かりやすくて簡単なコードを書くこと」と「コードを読み解く力」が大切だなと思い知らされました。

技術的に学んだ事も専門用語バリバリで書くと、

  • メモリ管理(weak/strongの違い)
  • シングルトンとかデザインパターン
  • UnitTest/UITest
  • MVC/MVVMとかアーキテクチャの話
  • 暗黙的アンラップの話
  • etc….

知らない単語が出たら都度ブログの下書き記事に保存するって事をやってたんですが、インターンが終わってから数えると計33記事にもなってました。頑張ってQiitaにまとめます(白目)

あと1個自慢するなら開発中にメンターさんに提案したコードが採用されて、そのままマージされました(ドヤ

2週間働いてみた感想

2週間インターンとしてYahoo本社で働いてみて思ったのが「自由すぎて働いてる感じがしない」ということ。

もちろんインターンなので社員の方と比べれば抱える仕事量も責任も少ないですが、それでも他の一般的な企業と比べれば働きやすさは圧倒的に自由です。超大手の余裕を感じました。

自由に働ける環境

Yahooには自由に働ける環境が整ってました。具体的にはこんな感じ。

Yahooの自由な環境
  • 勤務時間はフレックスタイム制(コアタイム10:00~15:00)
  • 座席はフリーアドレス
  • 昼休憩は各自自由にとれる
  • 私服勤務

フレックスタイムを導入している企業は結構多いと思いますが、私服勤務ができて固定席ではない企業ってなかなかない気がします。

昼休憩も社内一斉ではなく各自で好きな時間に休憩が取れるのが個人的にポイント高かった。

あとそんな勤務体制以外にも、フロアには芝生のMTGスペースがあったり、ラグカーペットが敷かれている座敷席があったり、くつろぎながら作業や打ち合わせができるスペースが多く用意されてました。

部署間の風通しが良い

今回のインターンではエンジニアの方達以外にも、デザイナーさんや企画さんなど他部署の人ともやり取りをしながら仕事をしていたのですが、部署間に壁を全然感じませんでした。

デザイナーさんでもアプリに使っているシステムの事をある程度把握していたり、僕らやり取りの中で要求された仕様を実装するのがロジック的に不可能だった場合でも、それを伝えると柔軟に対応してくれたり。

MTGも週に3~4回ほど頻繁にみんなで集まって話し合っていたので仕事は本当にやりやすかったです。

PayPayが浸透している

自社サービスという事もあって社内はPayPayで盛り上がってました。

社内カフェではPayPayで支払うと30円引きになるキャンペーンがあったり、ワークスペース内に置いてあるお菓子類もPayPayで買えたり。

仕事してても社食食べてても、どこからか「ペイペイ!!」と聞こえてくるほどにはみんなPayPay使ってましたね。

エレベータ横にあるモニターではPayPayのCMがループしてました。

卓球ができる

僕がいたLabsだけかもしれませんが、仕事中に卓球ができて、開発で待ち時間ができた時とかにインターン生で卓球やりまくりました。

やりすぎて最初は山なりのラリーしか出来なかったのに最終日にはスマッシュ決めるほど上達しました。

社食が最高

僕らiOSコースのインターン生は全員言ってたんですが、社食が最高すぎでした。

社食は定食とビュッフェが選べて、ビュッフェは朝・昼・夜3食食べれます。

品目も多くて毎回メニューも違うので飽きないし超健康的。むしろ健康的すぎて1度食べるとなかなかお腹が空かないくらいあります。ちなみに朝食は無料でした。

あと社内カフェではパンやベーグル、コーヒーとか売ってて普通にスタバレベルでした。

サーティーワンもメニューは少なかったですが売ってて、至れり尽くせり。

インターン生3人で食べました。

Yahoo!黒帯インターン、控えめに言って最高でした。

僕自身短期インターンに参加するのは初めてでしたが、今回のインターンは凄い楽しくてまるで働いた感じがしないくらい、楽しいインターンでした。

iOSデベロッパとしては、「Yahooほどの大規模アプリがどんなコードで作られてるのか」「どんな技術/フレームワークが使われてるのか」を知れたのはめちゃめちゃ貴重な体験でしたね。

それこそ普通に見ようと思ったらYahooにエンジニアとして採用されて、アプリ開発の部署に配属されないと見れないほどレアなことなので、改めて凄い貴重な経験をさせてもらったなと思います。

まぁ、黒帯のメンターさんに懇切丁寧にiOS教えてもらえて、大規模アプリの開発にも参加できて、綺麗な社内で働けて、滞在費も出してもらえて、ご飯も奢ってもらえて。お金ももらえて

与えてもらったものが多すぎて、他のインターンで満足できない体になりそうで怖い()

  • 黒帯エンジニアのメンターさんに質問しまくれる&優しい
  • 交通費&宿泊費(遠方の方)全額支給
  • お給料も出してくれる
  • ハイレベルな学部生or院生と切磋琢磨できる
  • オフィスきれい
  • ご飯がおいしい

まとめると、Yahooのインターンはこれだけ最高に学べて楽しいので、学生エンジニアの方はぜひ行ってみては!

今回関わってくださった社員の方々・黒帯のメンターさん、同期の人たち、2週間本当にありがとうございました!※もし掲載ヤバいところあれば連絡ください