VOYAGE GROUPのTreasureインターンに参加してきました。

f:id:koukyo1213:20180903170600j:plain

はじめに

8月の半ばから終わりまでの三週間にVOYAGE GROUPのTreasureインターンに参加してきました。 非常に内容が濃く、ためになるインターンだったのでここに思い出を残しておきたいと思います。

応募から開始まで

そもそも、僕はVOYAGE GROUPという会社を今年の5月くらいまで知りませんでした。というか5月の段階ではDeNAクックパッドが IT企業ってことも知らない状態で、IT就活なんか興味あるけどようわからん状態です。

そんななか、予備校で浪人していた時代の友達から「本郷周辺でただで焼き肉食べられるイベントあるんだけど、来ない?」 という、選択肢があってないような話が飛んできてすぐに応募しました。だってタダ焼き肉だよ?

応募にあたってサポーターズに登録する必要があったのですが、タダ焼き肉のためとあればなんのその、話が回ってきてから20分で 登録を済ませました。

当日の焼き肉は本郷三丁目から歩いて5分くらいのところにある房屋でした。学生にはちょっと手が出づらいくらいの価格帯(¥4000~)のところなのでなかなかいいものが食べられました。写真を撮り忘れていてここに貼れないのが残念・・・。

このイベント、実のところタダ焼き肉をなんかおごってもらえるイベントというわけではなくて、タダ焼き肉を食べながらIT企業のエンジニアの人と話しながらインターンの紹介をされたり自分の人生相談をさせてもらったりするイベントです。毎年やっている?っぽいのでオススメ。

その日来ていたのはDeNAの人とVOYAGE GROUPの人、そしてサポーターズのコーディネータの人でした。なので僕がはじめてVOYAGE GROUPを認知したのはこの時です。DeNAの人から無限にDeNAについて説明を聞いたり VOYAGEの人にそもそもVOYAGEって何をやっている会社なのかという説明を受けたり、サポーターズの人からJapanese Traditional Big Companyではクリアファイルを買うのにもはんこが5つと一週間が必要なことを聞いたりとなかなかおもしろかったです。

このときにインターンの説明も受けたわけですが、このときの興味はまだ殆ど無かったです。でも折角焼き肉おごってもらったし応募はしてみようと思い結局DeNAとVOYAGE GROUPの両方に応募しました。結果としてDeNAは経験不足ということで面接に落ちましたが、VOYAGE GROUPの方は通ることができました。面接のことは書いていいのかわからないので濁しておきますがコードを書いたりといった技術試験みたいなのはなかったです。多分GitHubとかは覗いているんじゃないかと思いましたが技術力を測っている様子はあまりなく、どちらかといえばチームとしての協調行動ができるのか、みたいな部分を見ているんじゃないかと思いました、しらんけど。

その後、8月の頭に事前課題が出されて8月13日からのインターンに備えて少し勉強をしました。事前課題は、インターンで用いるGolangの基本的な文法についてだったりDB設計(第三正規化できるかな?みたいな)とか、セキュリティの基礎とかAPIの叩き方とか。セキュリティ関連の話なんかは知らないことが多くて結構勉強になりました。

講義の流れ

Treasureは、講義が1週間半強あり、残りの1週間半弱がチーム開発を行うというインターンです。講義では様々なことを学ぶことができました。

はじめの二日間はGoを使ったWebアプリケーションの作成についての講義でした。Goに関してはインターン参加が決まってから少し勉強した程度でしたがなんとかなりました。 ちょっと前にC言語をずっと触っていた経験が生きたような気もしました。スライス、マップくらいは分かっておいたほうが良かったかもしれないですが調べればなんとかなるというスタイルでも 問題なさそうでした。

三日目がフロントエンド講義だったのですが、ここのあたりが自分的には一番きつかったです。というのも、今まで自分が触れたことのあるフロントエンドの技術はjQueryレベルだったところに いきなりReact + Reduxみたいな話が飛んできて正直この日習った内容をその日のうちに咀嚼し切ることはできませんでした。でもこの時習った内容が後述する中間課題では大活躍したので 結果としてはかなりためになる講義でした。

4日目はWebAPIの講義でした。今までの自分の経験では、JSONを返すAPIを作ったことはなかったので新鮮な経験でした。モダンなWeb開発の「標準」を知りたいと思って参加した、というのが 結構大きな動機としてあったのでこの時点で満足度100%くらいです。自分チョロい。

ちなみにこのときの内容がバズってました笑。

5日目から土日をはさんで月曜(6日目)の朝まで、中間課題というものが出ていました。結構自由に作れる感じだったので僕はマインドマップを書くアプリケーションに挑戦しました。この時に、これまでの講義資料がめちゃくちゃ役立ちました。 構成としてはバックエンドにMySQL+Goを使い、フロント側はReact + Redux + Canvasという構成にしました。講義で習ったことをできるだけ使おうと今まで触れたことのない技術ばかりでしたが挑戦してみた所レビューでほめてもらえました(レビューに関しては後述します)。結構作るのが楽しくて愛着も出てきたのでフロント側だけで動く部分だけでも完成させてgithub.ioにあげてみようかと思います。

f:id:koukyo1213:20180903161225p:plain

二周目はセキュリティの話やデータベース設計の話、アイデアソンなどがあり2周目の最後にチーム開発が幕開けました。

チーム開発

チーム開発は5人ずつのチームに分かれて開発するというものでした。このチーム開発、すごいのが各チームに3~4人のメンターがつくこと。僕達のチームは4人のメンターさんたちに恵まれたチームでした。

チーム開発は基本的に何を作っても良さそうな(HTTPを使っている、みたいな条件はいくつか有ります)感じでしたが、この時にアイデアソンの時に習った方法で自分たちの作りたいプロダクトについて悩みに悩みました。正直なところ、僕は一日で決まると思っていたのですが、最終的にアイデアが固まるまでに3日かかりました。他のチームも似たような感じでしたが、これも社員の方からみると上手く行っている方、らしいです。アイデア出しは難しい。

僕達のチームは作りたいプロダクトの性質からしてモバイルアプリがふさわしい感じだったのでiOSアプリケーションとして開発を行いました。例年iOSアプリケーションは何チームかあるとのことでしたが、今年は僕達のチームだけでした。僕はSwiftを書いたこともなければMacも持っていなかったのでバックエンド側でひたすらAPIを作る人になっていました。自分たちのプロダクトはクライアントサイドが結構重そうだったので開発中なんども手伝いたくても手伝えない歯がゆさを感じました。もちろんコードを書くだけが手伝う方法ではないのですが、絶対的に仕事量が偏っている中ででも自分が何もできないのはもどかしく、Swift書けるようになりたい!と何度も思いました。

最終的にはなんとか動くものもできたのでかなり満足はしていますが、動くことを優先しすぎて手が回りきらなかった所もいろいろあるのでインターンが終わっても開発を継続したい気持ちでいっぱいです。

インターンの流れはこんな感じなのですが、待遇?というか環境がすごかったので書いておきます。

環境などなど

参加者

参加者のレベルは高い方なのかな、と思いました。といっても他のインターンに行っていないので比べるすべがないのですが、みんな何かしらの形でプログラミングでプロダクトを作った経験があるような人たちでした。 講義中も結構色々な面で説明が端折られることも多かったのですが難なくついていけている感じでした。Web系の人間が多いのかな、と思っていたのですが意外とそうでもなくてSwiftばっかり書いています、みたいな人や 普段はゲームサークルでC++を書いています、みたいな人もいてWeb関連のことをやっている人は6~7割くらいという印象でした。

講師陣・サポーター陣

このインターンですごかったことの一つに豪華講師陣が挙げられます。メイン講師のすずけんさんは、VOYAGE GROUPの中でも最高ランク(社内評価制度というものがあるそうです)の方なのですが、その方がフルコミットしてくださる、みたいな無茶苦茶ぶりでした。社内の主戦力を三週間も投入し続けるという本気度合いをひしひしと感じました。 他の講師の方もさもありなん。

後半のチーム開発でもつきっきりでエンジニア2人と営業・人事の方を1~2付けたりとかなり豪華なサポート体制でした。また、中間課題に関してはすずけんさんが3日かけてレビューをしてくださるという高待遇っぷりでした。サポーターの方も困った時に聞けば手助けをしてくださるのですが、こちらの成長を考えてただ答えを教えるわけではなく、自分で考えて答えにたどり着けるようにしてくださるような教え方をしてくださりとても自分のためになりました。なんかこう書いているとだんだん胡散臭さが出てきますが全部本当のことなのでしょうがない。

3時のおやつと飯事情

面白かったのは、講義期間中は毎日3時のおやつの時間があったことです。大体毎日驚かせようと腕によりをかけた作品?が持ち込まれていました。

f:id:koukyo1213:20180903165231j:plain

かき氷だったりうまい棒1340本だったりと毎日この時間はワクワクさせられました。 また、社内にAJITOというバー?があり18:30以降はお酒をただで飲めるという爆アド体験もしました。他にもご飯関連では無限に語ることがあるのですが、あまりにありすぎて書ききれないのでTwitterで#voyage_internで検索をかけてみるといろいろと面白いものが見つかると思います。

振り返ってみて

色々書いてみましたが、ここには書ききれないことが満載です。とにかく最高なインターンなので抜群にオススメです。