GMO Technology Boot Camp 参加レポート
こんにちは。次世代システム研究室のT.M. です。私は、今年の4 月にGMO インターネットに新卒として入社しました。今回、GMO Technology Boot Camp という新卒エンジニア向け研修に参加してきましたので、報告いたします。
1. GMO Technology Boot Camp とは
GMO Technology Boot Camp とは、今年から始まった、GMO インターネットグループの新卒エンジニア向けの研修プログラムです。毎週金曜日、グループの新卒エンジニアが集まり、グループ内の各技術領域のトップエンジニアの方たちの講義を受けます。講義は全8回あり、最後にチームで一つのアプリを開発するアウトプット合宿があります。プログラムは以下の通りです。
- 第1回:基調講演(モバイルの歴史)、Web サービスの歴史、スクラム入門
- 第2回:IDC 研修、Windows OS
- 第3回:Linux 基礎、仮想化技術
- 第4回:DNS 基礎、ネットワーク基礎
- 第5回:セキュリティ基礎、データベース基礎
- 第6回:Java(Android) – スマートフォンアプリケーション
- 第7回:PHP – ウェブアプリケーション
- 第8回:基調講演(エンジニアリング論)、UI/UXD
2. 講義
受講した講義のうち、スクラム入門、仮想化技術、PHP、UI/UXD の講義について、私の所感とともに紹介します。2.1. スクラム入門
この講義ではアジャイル開発についての座学およびスクラムのグループワークを行いました。グループワークでは、アプリを考え、アプリの機能をストーリーとして洗い出し、ストーリーの見積りを行い、ストーリーからタスクとして切り分け、スプリントを回してペーパープロトタイピングを行うという、スクラムによるアジャイル開発を体験しました。講義の時間が短かったこともあり、自分の中で理解し、納得できない点がいくつかありましたが、本サイトでアジャイルについてお話されている次世代システム研究室のA.F. さんからアジャイルについて教えていただいたり、アジャイルサムライを読んで勉強する際の良い下地となった講義でした。2.2. 仮想化技術
全体を通して、一番技術的な意味で得るものが多かった講義です。内容としては、vagrant を利用して、VM 上にweb サーバを構築する、というものでした。私は、今までvagrant には触れたことがありませんでしたが、vagrant を利用することでとても簡単にVM を立て、その上でweb サーバを構築することができることを実感することができました。この講義をきっかけにvagrant に興味を持ち、自主的に勉強を始めました。その勉強の成果として、アウトプット合宿のためのアプリの開発環境はvagrant とchef を利用して構築しました。2.3. PHP
講師は、本サイトでアジャイル開発手法 (スクラム、XP) の導入事例 等の記事を書いている次世代システム研究室のA.F. さんでした。この講義では、制御構文などのプログラミングの基礎から講義が始まり、フレームワークであるCakePHP の環境構築および簡単な使い方まで学びました。私はプログラミングの基礎の部分は知っていたため、技術的な意味で学ぶことは少なかったですが、自己組織化ゲームやマシュマロ・チャレンジなどを行うことで、PHP という一つの技術を学ぶだけでなく、「自律的に行動することの大切さ」や「動くモノを完成させることの重要さ」など、今後の業務で活きるエンジニアとしての在り方などを学びました。2.4. UI/UXD
アウトプット合宿で作成するアプリについて、アイデアを出し、UI/UX の観点からアプリの詳細を考えていくグループワークでした。具体的には、ペルソナの作成やペーパープロトタイピング、ユーザージャーニーマップの作成を行いました。まず、ペルソナを作ることで、そのアプリに必要・不必要な機能を分けました。次に、ペーパープロトによりUI について検討し、画面の設計を行いました。最後に、ユーザージャーニーマップを作成することで、ユーザにとって操作のわかりにくいところを洗い出し、それをもとに改善していきました。最初にアイデアを出した段階では、いろいろな機能を詰め込みたくなっていましたが、上記の方法を利用することで、本当は不必要な機能が多いことを認識しました。また、自分たちで設計している段階では、”こういうふうにユーザは操作するだろう”という思い込みがありすぎたため、ユーザージャーニーマップを作成したところ、ユーザにとって操作しにくい点がたくさんありました。モノづくりの際、作り手のひとりよがりになったモノを作っては行けない、ということを学びました。3. アウトプット合宿
講義で学んだことの集大成として、アプリケーションを一つ開発する1泊2日のアウトプット合宿がありました。合宿の場所として玉峰館という、高級温泉旅館を用意していただいたので、とても充実した環境で開発を行うことができました。合宿の日の一日だけでは、間に合わないだろうということで、前もって開発は進めていこうと考えていたのですが、チームのメンバーはそれぞれ会社が異なるため、実際に会うことができず、うまくコミュニケーションを取ることができませんでした。そのため、いろいろと揉め事を抱えたまま、解消することができず、合宿の日になりました。合宿の前半は、その揉め事を解消することに費やしてしまいましたが、ほぼ徹夜をすることで、なんとか動くものを作ることができました。私としては、満足いくものを作ることができなかったことが心残りでしたが、チームでひとつのアプリを作るという経験を積むことができて、とても充実した開発合宿でした。