chigichan24のお気持ち表明

イケてるエンジニアになりたい.

CyberAgentのインターンシップに参加した話

みなさんごきげんよう.chigichan24です.


今日はCyberAgentでの就業形インターンシップに参加したことを書こうと思います.

受けるまで

実は遠い昔,一度インターンシップの選考を受けたときお祈り🙏🙏🙏🙏を頂きました.それもあって風土と自分の思考・思想が異なるんじゃないかとそこそこ渋りましたが,やっぱり気になっていたので受けてみました.

実際に選考に通るまでの流れは以下の感じです.コーディングテストとかはなかったんですが,私のGitHubにpublicで上げてるコードは見られてたっぽい(ぽい).

書類審査📝
  • 書類を書きました.
  • まじで記憶にありませんが,開発経験とかインターンの経験を書いた気もします.書けそうなネタが人より少ないタイプの人間(コンテスト入賞とかがない)でしたが,それとなく書きました.
  • GitHubアイコンはもちろんあれで出しました.

github.com

一次面接🤓
  • 人事の方とお話しました.The 面接みたいな堅い感じではなかったです.
  • 設計(アーキテクチャ)とかを意識したサムシングを勉強したいです.と言いました.
  • どういうものを作りたいのかの具体性がないのでどの部署を勧めていいかわからない」とクリティカルにありがたい指摘を頂いたので,まあ落ちたのだろうと思いました.
  • 技術面談かと思ってたので,これは見当違いなことを口走ったなと思いました.
二次面接🧐
  • ありがたいことにある部署を勧めてもらいました.完全に落ちたと思ったのでビッくらポンでした.
  • ここでは楽しく会話をした記憶しかないです.現役エンジニアと話すのは面接とはいえめちゃくちゃ楽しいものです.
  • Kotlin coroutinesとReactive Xのpros and consについて話したり,DroidKaigi2019のFluxアーキテクチャの話やAndroid設計本のことを話したりしました.
  • 面接ではなく完全に雑談の会でした.
  • 雑談中に,来てほしい的な発言があって,行くことが確定しました(?)

働いてみた

AbemaTVのAndroidエンジニアとしてのインターンを受け入れてもらえました🎉🎉🎉 SNSやブログ上で知っている人が存在していて,おもろかったです(何様)

実はインターンの期間はもともと一ヶ月の予定でしたが,楽しかったしリリースまでいたいという思いが高まったので二ヶ月お世話になりました.

やったこと

走っていた新機能開発のプロジェクトにぽんと突っ込まれました.ここにタスクがまとまっているから自分をassignしてPR出してみたいな感じで雑にタスクが降ってきました.そこそこ不安がっていましたが,実際にはPR上で丁寧にレビューをしていただき私の理解度に合わせて適切な粒度で方針を示してもらいめちゃくちゃ良かったです.takahiromさんは神.


基本的にはコードを書いてPRを出すという感じのスタイルだったのですが,不明瞭な点について,別のチームの人やデザイナーさん等と話すということをしたり,チームの人が出したPRに対してレビューをしたりと社員さんとほとんど対等みたいな感じで働かせていただけたのは非常にやりやすかったです.

書いたコードのジャンル(?)も多種多様で,

  • ロジックっぽい部分.
  • UIに近い部分.
  • Kotlin化
  • バグ修正

等,AbemaTV-Androidのいろんなところに手を出させていただきました.

最終日に何気なくみてみたら,合計で30個くらいのPRを出していました.当然各PRの重さはバラバラなので単純に個数で計測することに意味はないんですが,「おおーっ」となりました.

そのほか
  • CA.apkというイベントや,社内で行われていたLT会での発表の機会をいただきました.タイミング的に,両者ともたまたまという感じだったんですが,機会提供をしてもらえて嬉しかったです.

cyberagent.connpass.com

  • AbemaTVの番組を実際に作っているスタジオの見学に行きました.コンテンツを提供する側での現場を見れて面白かったです.
  • 引っ越しを経験しました.会社の引っ越しの経験なんてそうそうすることないので,良かったです.てっきり自分の荷物は自分で運べみたいな感じかと思っていましたが,そんなことはなくて,普通に業者さんが運んでくれました(それはそう)

www.cyberagent.co.jp

感じた

いくつかの企業でこれまでもインターンシップをした事があったのですが,そのどこにもなかった(いい意味での)異質さがCyberAgentにはありました.

それは速度感規模感を両立しているところでした.ものすごいスピードで開発を進めつつ,その市場の規模をどんどん拡大していく姿は2ヶ月しかいなかったインターン生でもものすごく感じました.


また,いろんなチームがこだわりチーム観を持って仕事をしているなとも思いました.デザインではこのように表現したいけど,クライアントにとってそれを実現するのはものすごく工数がかかる問題をどうしようというケースがあります.そのときに「ここは妥協したくない」というデザイナーさんの意見と,「ここはこういうふうに実装したい」というクライアントチームの声が毎度いい改善案(解決策)を生み出していて,すごいと思いました(小並感) .

反省点

私の考えていることが基本的に浅はかで,それちゃんと考えてるの?というPRを出してしまったことがいくつかありました.

  • 動くは動くけど,それでいいのか?という部分をもっと深く追う必要があり,なにがどのように動くのかをもっと意識する必要があるなあと改めて感じました.
  • 例えば,AOSPでのコードをちゃんと参照して問題ないということを示されたりしたので,Androidそのものがどのようなコードで書かれているかを深めたいです.


コードを書く速度が社員さんと比べて遅い.

  • ドメイン知識がないだけだとはじめは思っていましたが,明らかに遅い.
  • ある機能を追加したいときに何をどこに,どう書くかを高速にイメージする訓練をしたいです.そのためにはもっともっと引き出しを増やす必要があると深く痛感しました.

おわりに

インターンに参加したときに裏テーマとして,「人日計算の頭数に入れられるくらい一人前のエンジニアとして力になりたい」というのがありました.これを最終日に打ち明けたら,それは初日から達成していたよ(?)と言われたときはめちゃくちゃ嬉しかったです.

すごくいい環境で働かせてもらえて,CyberAgent(というかAbemaTV)の雰囲気を感じ取ることができ,また自分の技術力の向上も得られたので本当に良かったです.もっと精進します.

どうでもいいこと

渋谷のランチ事情に詳しくなった.