VOYAGE GROUP エンジニアブログ

voyagegroup_techのブログ
VOYAGE GROUPエンジニアブログです。

育成

圧倒的な成長を目指す「Treasure2014」(後編)

こんにちは。システム本部 三浦@hironomiuです。

本エントリーは
圧倒的な成長を目指す「Treasure2014」(前編)
の続編エントリーです。


最終日打上げ
treasure2014-7

8日間の前半戦を終え9/4〜9/12の7日間で行う後半戦では4人1チームのグループ開発を行います。
今年は5チームが1位を目指して最高のサービス目指して開発を行いました。

各チーム紹介

チーム 大文字
しほし、びのー、かみ、けいた
(サポータ せんせい、ゆう@yuu_ito、いっきさん)
treasure2014-12

チーム 720°スゴイ
ちーちゃん、こーき、ふぁいん、たくぼう

(サポータ 三浦@hironomiu、たかゆき@daybysay、大介)
treasure2014-8

チーム アイカレ
はしもと、みっしー、さっさー、わーみー

(サポータ 大山さん、じゅえる@jewel_x12、Hさん)
treasure2014-10

チーム 絶対☆男塾
どんちゃん、どぅーや、さかおす、あかまっくす

(サポータ しもやん@huin、さや@saya_223n、ごっさん)
treasure2014-11

チーム TEA
やんうぇい、がんちゃん、たけし、かぬー

(サポータ あわさん@katz_arc、とっしー@Sion0303、みやしゅー)
treasure2014-9


7日間の後半戦では前半に学んだ技術とアイディアソンで培ったアイディアをフルに用いて全力でサービスの開発を行います。Treasureではただ作りたいものを作るのではなく「価値」のあるもの作りが出来ているものを高く評価するようにしています。そして最終日にプレゼン発表を行い1位から5位までの順位付けを行います。

プレゼン
最終日に行われた各チームのプレゼン資料の抜粋です。全てのチームがプレゼン資料からもしっかりとした「価値」を考えてサービス開発したことが伺えます。

チーム アイカレ
2659
3800


チーム TEA
2435
5503


チーム 絶対☆男塾
2939
4701


チーム 大文字
2535
4602

チーム 720°スゴイ
5708
1725

最終発表までの7日間の風景

アイカレアイディア出し中
IMG_3317

絶対☆男塾アイディア出し中
IMG_3316

720°スゴイ横並び駆動開発
IMG_3321

大文字開発中
IMG_3344

#ajiting中
IMG_3328

TEA徹夜
IMG_3348

たくぼー椅子駆動開発
IMG_3349

絶対☆男塾横並び駆動開発
IMG_3351

720°スゴイランチ
IMG_3357

TEA開発中
IMG_3354


まとめ
Treasure2014の3週間を通して関わった全ての人が圧倒的に成長出来たのではと思っています。
圧倒的な成長に向けて全力で頑張れたからこそ全てのチームが素晴らしい結果で締め括れたと思っています。Treasureのコンセプト『「想像」が「創造」になる。』の通り、自分たちの「想像」する価値のあるサービスを実際に「創造」することができた3週間だったのではないでしょうか。ここで得た仲間や経験を通じて、これからも「未知」なるサービスを「創造」し続け、価値のある素晴らしいもの創りに挑戦し続けて欲しいです。

おまけ
最後までやりきった!!
IMG_3363

圧倒的な成長を目指す「Treasure2014」(前編)

こんにちは。システム本部 三浦@hironomiuです。

VOYAGE GROUPの夏のエンジニアインターン「Treasure2014」が8/25 - 9/12の3週間で行われました。
Treasure2014は前半(座学、ワーク)、後半(グループ開発)でカリキュラムが組まれています。
今回は前半についてお伝えしていこうと思います。

又、本エントリーを見て圧倒的な成長をしたいと思って頂けた学生さんは
11月に大規模サービス構築プログラムSunriseがありますのでエントリーお待ちしてます!!

スケジュール
前半は8/25 - 9/3の8日間で行いました。
(但しTreasure2014の開始2週間前から事前課題でTreasure中に最低限必要となる技術について、みっちり講師陣とQAのやり取りを行います。)

各講義について
1日目
環境構築 講師:三浦@hironomiu


treasure2014-githubvagrant


Treasure2014では出来るだけ実際の開発フローを経験してもらおうと個人開発環境で開発を行い本番環境へデプロイする流れを取ります。その上でGitHubを用いissueベースで開発を行っていきます。

issue -> 開発branch -> push -> pull request -> merge -> 本番デプロイの流れを初日に簡単に倣っていきます。

個人開発環境はVagrant,Puppet,Virtual Boxにて仮想サーバを構築し仮想サーバ内でベースアプリをGitHubリポジトリからcloneし開発出来る状態で臨みます。

2日目
アイディアソン 講師:渥美(@daisuke_atsumi)さん


treasure2014-atsumitreasure2014-atsumi2

Treasureはただ学んだ技術で何かを作るインターンではなく、学んだ技術などを用いて「価値」のあるWebサービスを生み出すこと特に大事にしています。

そこでアイディアソンと言う形で各Treasure生が作るべき「価値」のあるWebサービスのイメージを具現化するトレーニングを開発の前に行います。そしてこの後の技術的な講義ではアイディアソンでイメージしたWebサービスのモック作成からより具現化していく流れで進めていきます。

限られた期間で「価値」のあるWebサービスを生み出すのは相当困難です。しかしアイディアソン後の講義でも常に各Treasure生が考えたアイディアは本当に顧客に対して「価値」のあるWebサービスとして成り立つのだろうかと実装しながら検証していきます。

3 - 7日目
エンジニアインターンとしての肝となるのが3 - 7日目です。

フロントサイド 講師:前田(@brtriver)さん

treasure2014-brtrivertreasure2014-brtriver2

今回の開発はアイディアソンでイメージしたアイディアのモック作りから始める形で進めます。まずWebの概念や仕組みを再確認し、その上でモック作りに入ります。Webアプリケーションを振る舞いの責務と言う観点からフロントサイド、サーバサイドの二面を切り口に解説しサーバー側の実装に左右されない柔軟なフロントサイドを開発すると言う目的で今回はVue.jsを用いデータバインディングについて触れていきます。

treasure2014-brtriver3treasure2014-brtriver4

treasure2014-brtriver5treasure2014-brtriver6



中間課題(個人課題) 評価者:前田(@brtriver)さん

treasure2014-brtriver7treasure2014-brtriver8


中間課題はここまでのフロントサイド(プラス一部のサーバサイド)の講義で学んだ技術を用いて2日目に行ったアイディアソンのアイディアのモック作成か講義中の例題で作ったアプリの更なる改善したモック作成のどちらかを選択し制作物はプレゼンで発表します。


サーバサイド 講師:すずけん(@suzu_v)

treasure2014-suzukentreasure2014-suzuken2

今回のTreasureで用意したサーバサイドベースアプリ(PHP,Slim,Twig,etc)についてコードリーディングを実施し説明していきます。説明も大事ですが自分でOSSのソースを読み解き進める力をここでは養っていきます。

treasure2014-suzuken3treasure2014-suzuken4

今回サーバサイドの役割はフロントサイドからAPIを叩かれJSONを帰すイメージで進めます。そのために必要なAPI,URI設計や更にバックエンドにあるデータ永続やテスト(TDD)についても触れていきます。

treasure2014-suzuken5treasure2014-suzuken6

鬼教官すずけん(@suzu_v)とTDDです!(Let's TDD Bootcamp!)

treasure2014-suzuken7treasure2014-suzuken8
treasure2014-suzuken9treasure2014-suzuken10


8日目
DB 講師:三浦@hironomiu

Treasureではデータの永続化でRDB(MySQL)を用います。事前課題でTreasure生向けにRDBでは必須な技法である正規化について課題を行ってもらいます。その正答を伝え応用を実際に定義したテーブルに対してSQLを用いて様々な問い合わせについて触れていきます。またMySQLのアーキテクチャやRDBMSの機能であるトランザクションなども触れます。

treasure2014-hironomiutreasure2014-hironomiu2


セキュリティ 講師:えび(@co3k)ちゃん

ここまでも相当ヘビーな講義でしたがトリを勤めるのがセキュリティです。Treasure史上最長の講義資料の136ページ!えびちゃんワールドの開始です。

講義は情報セキュリティから始まります。

treasure2014-co3ktreasure2014-co3k2

情報セキュリティを抑えた上でWebセキュリティの概要をまずは俯瞰します。今回は限られた時間内で XSS (含 DOM based XSS)、SQL Injection、CSRF、クリックジャッキングについて触れていきます。

treasure2014-co3k3treasure2014-co3k4

個別のセキュリティ(XSS)について触れていきます。

treasure2014-co3k5treasure2014-co3k6


番外編
ランチ風景とTreasureの総合プロデューサー(Hさん)。

treasure2014-1treasure2014-4


他にもまだまだ書ききれないこともあります。

前半戦はここまでとなります。いかがだったでしょうか?
ここまで学んだことを用いて後半は4人1チームの開発を行います。後半のアウトプットが楽しみですね。後半戦のエントリーをお楽しみに!

Special thanks
各講義中、常にフォローをしてくれた15エンジニア内定者

せんちゃん
わっさん
だっち
ぷろ
ももえちゃん
いなっぺ
ぽくてぃ
さかもっちゃん
ゆきみね

新人エンジニアに薦める1冊

巷では「新人エンジニアに勧める一冊」が流行ったらしいのでVOYAGE GROUPでも聞いてみました。

  ▼1つだけ選ぶなら!
書籍名薦めた人理由いいねした人
計算機プログラムの構造と解釈 @suzu_v 全人類が読むべき @ajiyoshi
@makoga
@brtriver
@hagino3000
体系的に学ぶ 安全なWebアプリケーションの作り方 @ajiyoshi 体系的に安全なWebアプリケーションの作り方を学べるから @suzu_v
@makoga
@brtriver
Webを支える技術 ── HTTP,URI,HTML,そしてREST @brtriver 基礎だけどとても大事なことが学べる @suzu_v
@makoga
情熱プログラマー ソフトウェア開発者の幸せな生き方 @_zoo 研鑽の大切さがわかるから @jewel
パターン認識と機械学習 上, パターン認識と機械学習 下 @hagino3000 学び続ける事の必要性を、これでもかというぐらい思い知らせてくれるから @ajiyoshi
リファクタリング―プログラムの体質改善テクニック @co3k コードの不吉な匂いとはそもそも何かを知って欲しいのと、現実にたゆたうあらゆるコードに立ち向かう気が沸いてくるはず @makoga
UNIX 4.3BSDの設計と実装 @awa-vg UNIX 系 OS のサーバエンジニアは必読。アプリケーションプログラマであっても OS の知識は必ず役に立ちます。古い分シンプルなのも○ @ajiyoshi
パターン・ランゲージ: 創造的な未来をつくるための言語 @TachibanaKaoru ソフトウェアデザインだけでなく、全人類汎用のパターンを取り扱ってるので。  
Clean Code アジャイルソフトウェア達人の技 @jewel それなりのコードを書こうという気持ちになる  
リーダブルコード――より良いコードを書くためのシンプルで実践的なテクニック @sys_cat 個人的に新人時に読みやすかった  
お〜い!竜馬 @masakiMatsumoto 不可能なことは無く、新しい時代を作っていくという気持ち @ajiyoshi

▼無制限かつ無秩序にオススメする編
オススメ理由いいねした人
ハッカーと画家 コンピュータ時代の創造者たち   @ajiyoshi
@makoga
@_zoo
Joel on Software   @ajiyoshi
@makoga
認証技術 パスワードから公開鍵まで いまどき自前で認証機構を拵える時代でもないが、なぜそういう仕組みになっているのかを知るのは重要だし、「どういう脅威があって、どういう対策ができるか」という普遍的な考え方が身につくと思う。パスワードの選び方なんかもあるよ  
めんどうくさいWebセキュリティ Web セキュリティは面倒くさいものだということを知ってほしい。最近の若者はいきなり面倒くさい中に放り込まれていると思うので、どうして面倒くさいのかも知ってほしい  
プログラミング作法 (家帰って読み返さないと)  
プログラミングErlang 改訂版が出るまで待ったほうがいいかもしれないが。 @ajiyoshi
ご冗談でしょう、ファインマンさん〈上〉, ご冗談でしょう、ファインマンさん〈下〉   @makoga
オープンソースソフトウェアの育て方 OSS と冠してはいるが、いまどきの pull request を利用した開発スタイルとか、エンジニア的チームの作り方とか参画の仕方とか、 OSS に関わっていなくても得られるものは多い。けど OSS に関わっていない人には勧めにくい……  
詳解UNIXプログラミング 第3版 古文書のたぐいだけど、枯れたツールの水平思考は悪くない。 @ajiyoshi
UNIXという考え方―その設計思想と哲学    
ビジネスモデル・ジェネレーション フリーミアム、ロングテール、プラットフォーム, etc. といったビジネスのパターンを学ぶ事ができる。GoogleやSkypeといった普段使っているサービスがどのようにして利益を生み出しているかを知る事ができる。  


集計してみると、やっぱりなというVOYAGE GROUPらしいラインナップでした。


[PR]
VOYAGE GROUPでは仲間を募集しています!
上記本を読んでる人はもちろん、読んでない人も興味があれば応募ください。
気軽に #ajiting してみたい人は上記の誰かにtwitterでメンションしてください。 

100万人が使うWebサービスを創造せよ!!大規模サービス構築プログラム「Sunrise2013」


こんにちは。システム本部 三浦@hironomiuです。

今年も11/9,10,11/16,17でVOYAGE GROUPの冬のエンジニアインターンSunrise2013が行われました。

本エントリーは週末4日間と言う短い期間で全力で学びそして全力でアウトプットしたSunriseの様子をお伝えしたいと思います。

なお、VOYAGE GROUPではエンジニア職の新卒採用を行っております。
本エントリーを見てVOYAGE GROUPのエンジニア職に興味を持って頂けましたら、「古より伝わりし大陸の秘宝」という面白いグループワークも行っておりますので、ぜひご応募ください!!
また、通年で募集している就業型実践インターンGuildもありますので、そちらへのご応募もお待ちしています!!

Sunrise生集合写真
PB100445

Sunriseは「100万人が使うWebサービスを創造せよ」を趣旨に学ぶインターンです。
そのため個々の細かい技術に対してはあまり深掘りせずサービスを構築、運営していく上で
強く必要となるであろう勘所や考え方を中心に講義は進みます。講義は座学、ワークショップの両方を行います。
又、全てチーム単位で章毎に学んだ事や疑問に思ったことを発表する形で進みます。

スケジュール
月日(曜日) 講義
11/9(土) ネットワーク
サーバヘルスチェック
事例紹介(広告配信システム)
11/10(日) データベースサーバ(運用、拡張戦略)
11/11-15 中間課題
11/16(土) 最終課題
11/17(日) 最終課題、発表

初日(11/9)
ネットワーク構成
(総評解説 小賀さん@makoga)
Webサービスはインターネット上で展開されるものであるためネットワークに対する知識は必須と言う観点から事前課題でネットワークに対する調査課題が出されます。その課題についてチーム毎に発表を行いました。

発表を行う一枚
sunrise04

サーバヘルスチェック(講師 三浦@hironomiu)
サーバの稼働状況を把握し将来予測を行うことはサービスを拡張する上で重要だと言う観点から
実際のサーバに対して負荷を掛けサーバの稼働状況を様々な観点(コマンド)から計測し考察を行いました。
講義は4章構成で各章毎にチーム単位で考察について発表を行いました。

チームでサーバに負荷を掛け稼働状況から考察を行う一枚
sunrise03

広告配信システム事例紹介(講師 大谷さん@katzchang)
弊社スーパーエンジニア 大谷さん@katzchangより広告配信システムZucks AdNetwork(開発プロジェクト名Zgok)の紹介を行いました。
広告配信システムの説明をしながらZucks AdNetworkを構築していく上で気にかけた事などを織り交ぜた事例紹介でした。

講義中の一枚
sunrise06

番外編 カレー料理対決(運営 人事 長ちゃん)
Sunriseはただ全力で学ぶインターンではありません!!
VOYAGE GROUPは仲間と事を成すと言うCREEDがあります。
裏ミッションでは仲間と事を成す楽しさを学ぶべく2チームに分かれ美味しいカレーを作る勝負を行いました。
そしてCTO小賀さん@makoga、総合プロデューサー佐々木Hさん、スーパーエンジニア 大谷さん@katzchang の豪華3名が各チームの料理に対してジャッジを行います。

料理風景
sunrise08

ジャッジ中の一枚
sunrise07


二日目(11/10)データベースサーバ運用、拡張戦略(講師 三浦@hironomiu)
大規模Webサービスを運営していく上でデータベースサーバは必ず肝になると言う観点から
データベースサーバの運用の勘所(SPOFの対策、I/O戦略、バックアップリストア、拡張戦略)やVOYAGE GROUPのデータベース事例を座学で行いました。
6章構成で進み各章毎にチームで学び取ったことや疑問点を発表する形で進みました。

座学中の一枚
sunrise05

中間課題
初日のサーバヘルスチェックの講義で用いたサーバ環境を使って平均レスポンスタイムによるパフォーマンスチューニングコンテストを行いました。
上位5位が0.01秒単位での団子状態となる熾烈な争いとなりました。
課題を出した側としても僅差の接戦は嬉しい結果でした。

三日目(11/16)最終課題
最終課題は4チームに分かれ各チームに一人社員がサポータとしてついて課題制作を行います。

チーム GiantMAK(かずき、まさや、あんなたん、ぶーちゃん、サポータ 三浦@hironomiu)
チーム Great Shining Dragon だっち(だっち、りゅう、こうき、サポータ ゆうくん)
チーム Ogyaaaaaaaaaaa!! (もぐ、West、わっさん、サポータ のっかさん)
チーム らすと(おだし、そうくん、琉玖、あきら、サポータ こてつさん)

CTO小賀さん@makogaより最終課題のお題が発表されます。初日、二日目、中間課題で学んだ内容を用いて提示したお題に対するサービス設計を行います。
今年のお題はSNSサービスでした。そこからサービス概要と共にサービスのアクティブユーザ数(月あたり、日あたり)、
アクセス傾向(書き込み、読み込み)など提示された各種数値を元に
必要となるプロダクト、サーバ台数、ネットワーク構成、月間辺りの費用、データフロー、プラスアルファで
独自のアイディアを盛り込み四日目14:30までにアウトプットし15:00から各チームプレゼン発表することが最終課題となります。
又、費用の算出やH/Wの選定を行う際に同じ目線にするため「さくらクラウド」にて実装する縛りを設けました。

アウトプット風景

sunrise13sunrise14


四日目(11/17)
最終課題制作、発表

前日から引き続き夜通しで各チームは最終課題のサービス設計を行いました。
各チームさくらクラウドの環境を用いて実機テストによりサーバ台数や費用の算出
実際のサービスのイメージをメンバー間で目線を合わせながらアウトプットしていました。

プレゼン風景
sunrise16sunrise15
sunrise17sunrise18
sunrise19sunrise20

GiantMAK資料抜粋
sunrise09

Great Shining Dragon だっち資料抜粋
sunrise12

Ogyaaaaaaaaaaa!!資料抜粋
sunrise11

らすと資料抜粋
sunrise10

各チームとも特色があり素晴らしい資料とプレゼンになりました。
Sunriseではプレゼン後に順位発表が行われます。短期間でのアウトプットでしたが
各チームのレベルが高く審査は凄く難航しました。

まとめ

初日から最終日まであっという間のインターンでした。
短期間でしたがSunrise生、サポータ含め深く打ち解け全てのメンバーが最終発表に向けてぶれずに進んだ結果ハイレベルな成果につながったと思います。
ここで得た仲間や経験を通じて、これからも「未知」なるサービスを「創造」し続け、価値のある素晴らしいモノ創りに挑戦し続けて欲しいです。

圧倒的な成長を目指す「Treasure2013」(後編)

こんにちは。システム本部 三浦@hironomiuです。

本エントリーは
圧倒的な成長を目指す「Treasure2013」(前編改めプロローグ)
圧倒的な成長を目指す「Treasure2013」(前編)の続編エントリーです。

Treasure最終日打上げ
treasure6

今回はTreasure2013の後半戦についてお伝えしていきたいと思います。
又、本エントリーを見て圧倒的な成長をしたいと思って頂けた学生さんは
11/9(土)、10(日)、16(土)、17(日)の4日間で開催される
大規模サービス構築プログラムSunriseがありますのでエントリーお待ちしてます!!

後半戦は8/21-8/30の8日間で行われました。
今回はその8日間を振り返っていきたいと思います。

後半戦は4人1チームの5チームに分かれて前半戦で学んだ技術を用いて
実際にサービスを作成していきます。
作成したサービスは最終日に発表し順位をつけます。

サービスの概要を決定する際には前半戦で学んだリーンキャンバスをチームメンバー全員で埋めながら
本当に顧客に価値のあるものを目指しているか常に意識し限られた時間で
とことん議論しプロダクトの作成までこぎつけていました。

各チームの作ったサービスの概要をお伝えしたいと思います。

チーム わくわく(しんちゃん、みかみん、もと、もぐら
(サポータ @tamakiii、@chocopie116、@jubilostar)

gw1
「出会いをワクワクに」というコンセプトで、
ユーザーと、その友達のSNSへの投稿から形態素解析(mecabを利用)を用いて
興味のあるカテゴリを抽出し関連する興味のあるイベントをおすすめしてくれるサービスを作りました。

チーム 漆黒の闇に染まるフラペチーノ(いなっぺ、さっちゃん、ぶーさん、もりさん)
(サポータ をいでさん、しま、みやしゅー(さん))

gw2
「夢に向かう道を 学生に示す」というコンセプトで
過去の先輩たちがどのようなイベントを経て人生を歩んできたかを視覚化する
「アユメル」というサービスを作りました。

チーム My N.Y.(せんちゃん、ももえちゃん、だっち、なんちょく
(サポータ しんばし、りっきー、はっち(さん))

gw3
「写真で紡ぐストーリー」というコンセプトで
ユーザが、投稿された写真にコメントを付け
その写真を4つなげて1つの(4コマ漫画のような)ストーリーを作る
「Photo Links」というサービスを作りました。

チーム DTYZ(ダルツ、たまちゃん、ユキミネ、ざわ)
(サポータ 大山さん、ゆう、長ちゃん)
gw4 

「曲とそれに纏わるストーリーや思い出を共有し、
新しい曲と出会える」というコンセプトで「オモイデユニオン」というサービスを作りました。
 
チーム 七対子(かみかみ、るい、さっぽろ、2世)
(サポータ @hironomiu、@suzu_v、ごっさん)
gw5
「世界のRT数の多い画像tweetを見たい」というコンセプトで
WebGLで地球儀を作り地球儀上の国を選ぶと
その国のRTの多い画像tweetを表示するサービスを作りました。

最終日(プレゼン)
最終日は作ったサービスのプレゼンです。Treasureでは各サービスに順位を付けて発表します。
そのため各チームのプレゼンにも力が入ります。

総合プロデューサからプレゼンの注意
treasure7

プレゼン風景
treasure8

treasure9

treasure10

treasure11

treasure12


どのサービスもとても素晴らしくただ作るのではなく価値のあるサービスを作り出したと思います。
そして最終日のプレゼンを含めどこが優勝してもおかしくない出来上がりでした。

まとめ

初日から最終日までを改めて振り返るとTreasure生、サポータ含め全てのメンバーが熱く
圧倒的な成長に向けて全力で頑張れたからこそ素晴らしい結果で締め括れたと思っています。
Treasureのコンセプト『「想像」が「創造」になる。』の通り、自分たちの「想像」する価値のあるサービスを実際に「創造」することができた3週間だったのではないでしょうか。
ここで得た仲間や経験を通じて、これからも「未知」なるサービスを「創造」し続け、価値のある素晴らしいモノ創りに挑戦し続けて欲しいです。
記事検索
QRコード
QRコード