mixiのインターンに参加しました
2014-08-18 (月) から2014-09-19 (金) までの5週間、株式会社ミクシィのインターンに参加してきました。その記録をここに残しておきます。
参加までの経緯
ミクシィに就職した研究室の先輩から誘われたことが最初のきっかけでした。 誘われた時点ではあまり興味がなかったのですが、その後逆求人イベントなどでミクシィを含む複数の会社の方と面談し、オフィス訪問をするなどした結果、ミクシィのインターンが最も良さそうだと思い応募しました。その主な理由は以下の3点です。
2週間を超える比較的長期間、実務が経験できること。 Web系他社のインターンは、数日から2週間程度のハッカソン・アイディアコンテスト的なワークショップ形式のものが多く、ミクシィのように長期間の実務に参加できる環境は少数のようでした。
Web系企業 (というか、自社でサービスを開発・運営している企業) におけるアジャイル開発やPullRequestベースの開発フローに参加し、これらを学びたい、という私の希望に合致すること。
オフィスが渋谷にあり、自宅から比較的通勤しやすいこと。
応募に至るまでの間に、すでに人事やエンジニアの方と複数回面談していたため、(インターンの) 採用選考としての人事面談はありませんでした。希望部署について人事の方と相談した上で、受け入れ部署の方と1度面談し、採用と配属が決まりました。
新規事業開発部門
私が配属された新規事業開発部門は、現在リリースに向けて新たなサービスを開発しています。事業について詳しくは書けないのですが、上記募集要項に
コミュニケーション系のスマートフォン向けアプリの開発
とか
<歓迎>動画のエンコード・ストリーミングの経験
と書いてあるあたりから雰囲気は予想できる…かもしれません。
開発フローはGitHub上のPull Requestをベースとし、TravisCIやSlackを導入しているなど、わりと今風な環境だと思います。
業務
インターンでの業務は、基本的には社員と同様に扱っていただくことができました。新規事業自体のプロダクト開発とチャットボットの開発に携わったほか、コードレビューやスクラムセレモニーにも加わりました。
新規事業開発
プロダクト自体については、インターンの全期間を通じ、主にサーバサイド (Rails) の開発に参加しました。インターン序盤はコードや設計の説明を兼ねたペアプログラミングが中心でしたが、中盤からは主に1人で開発し、チームにかける負荷よりもアウトプットの方が大きい状態とすることができたと思います。具体的な成果としては、いくつかのバグ修正と新機能の実装を行いました。
チャットボット開発
チーム内で「レビュー途中のプルリクが放置されてしまう」という問題が発生していたため、放置されていそうなプルリクをSlackに通知するrobotaroというボットを開発しました。この開発はインターン2週目から着手し、ほとんど未経験だったcoffeescriptとnode.jsを勉強しながら、基本的には1人で開発しました。完成後、公開のお許しを頂いたためMITライセンスでGitHubに置いてあります。放置されていそうなプルリクだけでなく、コンフリクトしたプルリクや誰もレビューしていないプルリクも通知してくれる便利なbot (自画自賛) なので、ぜひご利用ください。
スクラムセレモニー
週に1度のスクラムセレモニーでは、今週の振り返り (スプリントレビュー・スプリントレトロスペクティブ)、来週の計画 (スプリントプランニング)、その他共有・議論すべきテーマに関するミーティングが行われます。ここではプロダクトの利用者を想定した新機能に関する提案が採用されたり、KPTで挙げたTryがいくつか実施されるようになるなど、純粋な開発以外の面でもチームに貢献できたと思います。
インターンの感想
開発フローや技術面について
アジャイル開発や開発フローについては、インターン参加前にも多少書籍で勉強するなどしていたのですが、実際にチームの一員として参加することで大変勉強になりました。
また純粋な技術面についても、初体験であるCoffeeScriptやnode.jsを触ったりするなど勉強になりましたが、まだまだ勉強不足ですし、常にキャッチアップし続けていかないといけない部分ですので、今後も継続的な勉強が必要だという感想を得ました。
開発環境やツールの使いこなしについて
テキストエディタやGitなどの使いこなしについて、これまで個人で使っている範囲ではあまり不自由していないつもりだったのですが、現職のエンジニアの方とペアプロをすることで、自分がいかにツールを使いこなせていないのかを痛感しました。この部分は突き詰めればいくらでも改善できる部分ですし、今後も継続して作業効率を意識するようにしようと思います。
新規事業開発部門ならではのこと
インターン開始前はあまり深く考えていなかったのですが、新規事業開発部門というのはミクシィ社内でも特殊な環境でした。 たとえばインターン期間中、プロダクトのコンセプトや、プロジェクト自体 (e.g. どの時点でプロダクトをリリースするのか、収益の柱をどこに求めるのか、など) について再検討する機会がありました。これらの議論は決して容易なものではなく、新規事業ならではの産みの苦しみのようだと思いますが、これらを経験できたことは大変貴重であるとともに、個人的には楽しむことができました (プロジェクト自体の再検討については、途中でインターン期間が終了してしまいましたが…)。
またプロダクトがリリース前であるため、インターンで何をやったのか詳しく他言できないことや、ユーザの反応が確認できないことは少々残念ではあります。
その他
食事事情について
会社すぐ近くにあるラーメン凪と金王八幡宮に行ってみたかったのですが、機会がありませんでした。またそのうち遊びに行こうと思います。
八王子から1時間強で通勤できるとはいえ、帰宅時にしばらく座れない or 京王線の狭い椅子に座るのが辛く、3週目からは中央ライナー or 特急で帰宅していました。510円で最高の帰宅体験ができるのでおすすめです。
5週間という期間について、開始当初は「もっと短くしておけばよかったかも…」とも思っていたのですが、終わってみるとあっという間でした。できることならせめて、サービス公開まではチームに残りたいところなのですが、大学の都合によりこれ以上は続けられず残念です。
楽しい部署でした。
最後に
私を受け入れてくださった部署の方々、ほんとうにありがとうございました。純粋な技術面から、考え方や働き方についてまで、たいへん勉強になりました。また人事部の方々をはじめ、インターン中にお世話になったみなさまにお礼申し上げます。
1ヶ月間という長期間、新規事業開発の現場に身を置けたことは大変貴重な経験でした。Web系志望の方にはたいへんおすすめできる内容だったと思います。