3週間毎朝起きてTreasure2018に参加した話

2018/08/13 ~ 2018/08/31 VOYAGE GROUP Summer Internship「Treasure2018」参加記録

ajito by VOYAGE GROUP

なにこれ

3週間, VOYAGE GROUPの講義+チーム開発なインターンに行った記念ポエム.

意識カルデラ湖な文章.

参加者が参加ブログを公開してわいわいB!すると, またみんなで渋谷でわいわいできるらしい.

そういうことなので, 自分用のメモから加筆削除修正してリリース. 長いかも, すんません.

TL;DR

  • 前半2週間が講義, 後半1週間がチーム開発
  • Go(+React Redux)によるwebアプリケーション
  • フロント, サーバ, HTTP(API), Go, セキュ, DB, アイデアソン等々, めっちゃ頭に詰め込んだ
  • 関わる社員さんの数がすごかった(体感30~40人)
  • インターン生30人で, ワイワイ感が楽しかった

顔とか名前とか覚えるのめちゃめちゃ苦手なんですが, それでも(多分)全員覚えるくらい濃密だった. まとめるとほんとに楽しかった

環境

  • 渋谷駅徒歩(体感)7分
    • 近くにご飯屋がたくさんあるのでQoLが高まった
  • パンゲアと呼ばれるでかい会議室が会場
    • 2人掛けの長机に毎日席替えして座った
    • 何度も椅子から転げ落ちそうになった
  • AJITOという空間も使わせてもらえた
    • 0YENドリンク アイスココアが美味しい
    • 夜は社内バー 0YEN アルコール美味しい
    • 誰かが突然楽器弾き出したりした

来年ビル移転してさらにパワーアップするらしい. 見たい.

講義パート

自分みたいな「web, 何それおいしいの」な人向けの基礎講義かと思ったら普通にちゃんとした講義だった. 大半が手を動かすタイプで, 基本的なgitとかcurl,SQLは慣れてる前提だったかな.

分からないものは社員さんや内定者(バイト)がうろうろして教えてくれた.

タイムテーブル

Time Action
10:00 朝会 指名された人が気合の入る一言を
10:05 講義 社員さんがテーマごとに喋ってくれる,資料もちゃんとしてる
12:00 お昼 近くの席の人と5~8人くらいで食べに行った
13;00 講義 再開
15:00 休憩 おやつタイム! 最高!!
15:30 講義 再開
17:55 夜会 指名された人が締まる一言を
18:00 解散 帰る?ご飯??からのAJITO???

おやつタイムでは, バエるお菓子から出落ちまで, 毎日差し入れが!

dragon-taro(笑)がいい感じにおやつ紹介してたのでリダイレクト.

dragon-taro.com

内容 (PC推奨)

  • 1日目(月) Introducion + Go言語
    • Goでcurl機能実装など, 文法おさらいからhttpまで
    • スズケンさん(@suzu_v)のvim使いが過ぎていた
    • 突然Could not resolve host: localhostして, /etc/hostsを直書きした(なんで?)
  • 2日目(火) Goでサーバ
    • 社員さんらがGoで書いたTodoアプリが配布され, バグの原因を探して直したり機能追加したり
    • webサービスプロダクトほど大きくないが初見には大きく見える, 教材にジャストなサイズ感だった
    • CTOランチ(速答検索クイズ)に当選した, やったー
  • 3日目(水) フロント React + Redux
    • babel,ぷりきゅあ,eslint, webpackなどなども
    • 1番前に座ってても追えないライブコーディング, 絶対に1日で聞く量ではない
    • 難し過ぎたけど, この講義がなければフロントに手がつけられなかった, 絶対必要
  • 4日目(木) API設計
    • 使いやすいAPI設計とは?Restとは? Github, Paypal, AWSAPIを見たり触ったり
    • Zucks(広告配信サービス)のAPI群について, Restfulは要る?認証は?を考えるのがたのしかった
    • やんうぇい先生, Rest Level 5 ってなんですか?
  • 5日目(金) 中間課題
    • TODOアプリを最高に改良 or 自由枠 (HTTPリクエストを飛ばし, Goで書くこと)
    • 後にスズケンさんが全員のコードをガチレビューし, 30分1on1してくれる (60分した)
    • 土日も, 寝たりポケモン映画を見たり(最高だった)中間課題したりした
  • 6日目(月) 中間課題発表会 + セキュリティ
    • 4ブース * 10min/1人 なので, 全員の制作物を見ることは叶わなかった
    • 後半はco3kさん(大半に伝わらないが, zakuroさんにオロナミンCを大量に飲ませた感じの人だった)のセキュリティ攻撃防御
    • co3kさんがなぜか直前で講義を難しくし, template+escapeの嵐で, 阿鼻叫喚した(楽しかった)
    • スライドに登場する絵をLINEスタンプにしてほしい, 買わない気もする
  • 7日目(火) DB設計とマイグレーション
    • 鬼みたいな追加のmigration(downも)を書き,最初にちゃんと設計する大切さを物理で学ぶ
    • あるwebサービスの動作と今後ありうる拡張から, 3人で設計を考え, 揉めに揉めたり(うそ)した
    • 講師の方が3人いて, 頭ミジンコは顔が覚えられず打ち上げで「誰ですか?」してしまった(本当にごめんなさい)
  • 8日目(水) スクラム開発をしよう
    • いいチームとは?スクラム開発とは?講義ののち, 1スプリント12分で実際に街を作った
    • 左隣の班から住みたい街の要件を提示され, 折り紙とか粘土とかであくせく土木工事
    • 最後の方は皆無茶を言っていて面白すぎてお腹が痛かった
      • 「火葬場」を依頼したらオーバーキル可能な火葬場が見事デプロイされた
      • ネットインフラの表現として緩衝材のもじゃもじゃがまかり通っていた

ここで後半のチーム開発のメンバー発表. ドキドキ. 言動やスキルを見て割り振っているらしい.

なんか大学の開発授業でチーム分けの技術的偏りに泣いてる人がいた気がするけど, そういうのは感じなかった.


  • 9日目(木) イデアソン
    • 時流(Youtuberとか)を考え, テーマ(食, 運動, とか)と組み合わせてブレスト
    • User, Needs, Solutionを構築する - 講師Junさん「 UNS1つでも欠けるプロダクトはクofソ」
    • そういえばTreasureのテーマは「Go言語を使って学ぶ、価値のあるもの創りとチーム開発」, ただ技術的にすごい/なんか面白いものではなく, 必要とされるものを作ってナンボなのである
  • 10日目(金) インフラ (+ アイデアを固める)
    • 今回使うcircle ci -> spinnaker -> AWS + k8s を爆速で解説(紹介?)してもらい, 諸々セットアップ
    • いんふらってすげー, ちしきよくメッチャみたせそぉ となった(くらい沢山要素があった)
    • 後半は班でアイデアソン

f:id:monpoke1:20180909031602p:plain
前半のごはんとお菓子と街をじまんするよ

チーム開発パート

わくわくチーム開発(オブラート)になるかと思いきや熱いチーム開発になった.

本当に熱いチーム開発になった. 念のため.

チームとサポーターさん

まずtraPがいたから安心した.

  • 東工大デジタル創作同好会traP
  • 個人でGo+Vue書いてる人
  • icpc アジアいくひと
  • このインターンで初めてプログラミングしたとかいう嘘を言い続けた人
  • プーさん(自分)

の構成だった. これは何もしないを毎日しててもだいじょうぶだプー.

f:id:monpoke1:20180916055913j:plain:w300
だれてます

サポーターとしてエンジニア2人と人事1人がついてくれる. 絶妙なタイミングのサポートで本当に本当に助かった. テディベアと食べログとデリバリーの役割も担ってくださった.

この1週間半完全に業務をせずにつきっきりだった.ということは

全6チーム × 3 ~ 4人 × 1.5週間 = 31週間 = 6人月

ものすごい人件費...(加えて, 他にも社員さんがウロウロしてたので...)

ほかにも, インフラのお兄さん「ここではコード書いて欲しかったので」ということで, インフラで困ったらお兄さんに聞くと魔法で解決した.

めんどくさ, って言いながらやってくれるすごいツンデレリラックマだった.

流れ

はいいか

10.5日目(土日) アイデア固まる, 任意参加で本番環境のチェックなど

11日目(月) 全体: API設計 / サーバ:DB作成, APIモック / フロント: emort作成画面, API送信部分?

12日目(火) サーバ: API実装, セッション周り / フロント: emort作成画面, API送信部分?

13日目(水) サーバ: デバッグ, セキュ / フロント: その他画面作成, css, share画像生成

14日目(木) サーバ: バグ修正, ユーザ登録, テスト / フロント: css, share画像生成デバッグ, その他画面作成 / その他:スライド作成

最終日(金) 発表会 -> 打ち上げ!!

所感

実質3.5日での実装なので, かなりハードだったと思う. それでも, やりたくないでござる と微塵も思わなかった素敵なメンバーと環境だった.

とはいえ1日じゅう開発してるので, 晩御飯食べる頃にはみんな頭がおかしくなっていた. モスバーガーの看板を見るたび「シングルコンシューマキュー厨房で作られるなか, 1つだけ明らかにデプロイが早いモックバーガー」で笑っていたあの頃を思い出して泣いてしまう. 早く帰りたいからモスバーガーにしたのにww

最終日前夜は気づいたらみんな終電がなくなっていた. ぶっちゃけ徹夜しなくても余裕で動くものはできたが, やれるところまでやりたい気がしてやってしまった.夏だし.

f:id:monpoke1:20180909031641p:plain
後半のごはんたち

最終日

イデア面と技術面の評価項目が事前に告知されており, 前半講師陣による評価とインターン生同士による投票で順位がつく.

順位発表や打ち上げでは, アイデアの改善点や将来性などプロの意見をものすごく聞けた. 一方で1.5週間講義を受けた技術面はどの程度評価されたのかまだまだまだまだハンニンマエなのか, あんまりわからなかった. 皆かんがえて苦労して書いたし, そこがすこしさびしかった. (これは, 順位に納得していないとかそういう話では無い. 優勝商品飲めたし. )

打ち上げではもう別れが悲しすぎた.

その他

  • インターン
    • なんかしゃべれるひとおおくてびっくりした, ほんとに情報系か?
    • 席が隣じゃなくても雰囲気でご飯一緒に食べたり雑談したりで, 全然知らない人はいないくらい
    • 数ヶ月後にまた会いたい -> 9/11 Ajitoに10人くらいでお邪魔しました
  • 社内LT
    • Haskellの話とかするって聞いたのに, 気づいたら高度な茶番(AR美少女)を見せられていたり
    • 意味わかんないくらい笑えた, 水樹奈々様とか音響トリビアとかとかとか
  • 社員さん
    • めっちゃいっぱいいた(参考: Slack 86人 うちTreasure生30人)
    • 講義約10日 * 1~3人 + サポーターさん 3~4人 * 6チーム = 30人は少なくともいた
    • カッコいい大人がいっぱいいた
    • daidaiという辛い店が会社全体の行きつけ:辛かった, また行きたい
  • めんせつ
    • 7/10に受けていた
    • 魔法のスプレッドシートからぽちったが, サポー-ターズ系?からこの存在を知る人が多いらしい
    • 関東圏なのに何も考えずにリモート枠予約したり, 挙句時間間違えたりしたので初日顔をあわせるのが怖かった

人生で初めてのインターン. インターンのイメージがTreasureになったので, ほかのインターンが少々物寂しく感じたり感じなかったり.

個人的には, ちゃんとしたweb書いたことなかったし, 今までJSから逃げ続けてきたし, 勉強になったどころの騒ぎではない.

お世話になったすべての人へ, ありがとうございました.

最高でした.

gopher

go gophers by Renee French CC BY 3.0

まさかそんな...gopherくん...


他の参加者のブログを見つけ次第貼っていきます.

polyomino.hatenablog.jp

dragon-taro.com

koukyo1213.hatenablog.com

fcimsb55yn23.hatenablog.com

yoshikawataiki.net

hatsunem.hatenablog.com

shimohiroaki.hatenablog.com

guri-blog.hatenablog.com

↓会社ブログでも色々紹介されてます.

techlog.voyagegroup.com


やっぱりエモーションには色がついててほしいね!

[ここにプロダクトの宣伝が入る]