GameWith Developer Blog

GameWith のエンジニア、デザイナーが技術について日々発信していきます。

GameWith で初のエンジニアインターンを実施しました。 #GameWith #TechWith

エンジニア兼インターン総合実施責任者のめもりー (@m3m0r7) です。 GameWith では 2019/03/7(木) から 2019/03/20(水) にかけて、サービス開発部主催の初のエンジニアインターンシップを行いました。 本インターンには想像以上に多くの方からご応募があり、本当にありがとうございました。

この記事ではどんなインターンシップだったのか、インターンシップを実施するまでの裏話的なのを書きたいと思っています。

どんなインターンシップだったのか

初日から開発まで

本インターンシップは2週間(営業日換算10日)という期間で1つのサービスをチームで作っていくものでした。本インターンの趣旨は「チーム開発」としており、 チーム対抗ではなく、そのチームのリソースや動きなどを自分たちで意思決定して進んでいってもらうものでした。

タイムスケジュールとしては、1日目はオリエンテーション、2日目からは実際に開発と開発の時間を長めに取れるような構成にしました。 下記は実際に今回のインターンシップで使用されたタイムスケジュールです。

f:id:m3m0r7:20190322122511j:plain

初日はオリエンテーションを行い、メンター各自の自己紹介を行いました。 f:id:m3m0r7:20190322122948j:plain

開発のお題は予め GameWith で3つほど用意し、インターン生達にどのお題でやりたいかを話し合って頂いて、お題を決定しました。 今回のお題は「ゲームでマッチングするサービス」となり、2つのチームに分かれてチームの運用方針から Git の使用方法、技術選定などを考えていただいて 実際に開発していくものとなりました。

開発に入る前にチーム名を決めていただき、それぞれ「宇治抹茶チーム」、「2 / 3 メガネチーム」となりました。 最終的にはチーム名に愛着があったようで良かったです!

f:id:m3m0r7:20190322121810j:plain

チーム責任者のもとで、インターン生のみなさんが白熱した議論をしていて、私も議論に参加したいぐぬぬ…と我慢した覚えがあります。

また、今回のインターンでは1日の終りに メンターとインターン生が対面で話す 1 on 1 の時間を毎日設けました。 インターン生が抱えている課題を一緒に解決していって、このインターンシップをより良いものにしたいという思いがあったため、設けました。 また、 1 on 1 実施後はメンター同士で集まり、課題を収集し解決していく方針を決定していました。 初めての実施ということもあり、メンター自身が困っていることがないかどうかもその場で洗い出して、解決していくという方針になっていました。

実際の開発

インターン生の実際の開発では AWS の EC2 を GameWith が提供したり、 Firebase を使ってもらうなど実際の業務に近いかたちの環境化で開発していただけたのではないかなと思っています。 f:id:m3m0r7:20190322124045j:plain

自発的に S3 を使いたい、 Firebase を使いたいという声があがって、改めて学生は優秀だなと実感しました。 GameWith はPHPをメインとして扱っている会社であるため、 両チームともに PHPのウェブフレームワークである Laravel や、フロントエンドに関しては Vue, Reactなどモダンなものを選んでいらっしゃいました。

いろいろとつまづきポイントがあったり、メンターと一緒になんで動かないんだろうと考える時間を思い出すととても楽しかったという記憶があります。

中間発表

中間発表では、サービス開発部の島付近で各チームの進捗と開発しているものを発表していただきました。インターン生たちが緊張している中ではあるものの、中間発表も各チームのいい味が出せていて良かったのではないかなって思ってます。

(すみません、写真を取り忘れました…!)

最終発表

最終発表では中間発表と同じ形で発表していただきました。中間発表は1チーム15分でしたが、最終発表では1チーム30分の時間を取っていただきました。 泣いても笑っても最後という段階で、緊迫している中、サービス開発部からは盛大な拍手があり、無事終了しました。

f:id:m3m0r7:20190322125655j:plain

f:id:m3m0r7:20190322125633j:plain

インターンシップの実施を通して

最終的にアンケートを取って、インターン生たちからはとても良かった、有意義だった、参加して本当に良かった、また参加してみたいなどの嬉しいお言葉をいただきました。 GameWith のエンジニアインターンは初めてという中で、メンターの皆さんも成功させたいという一心で動いていたと思うので、成功したのではないかなと思っています。

f:id:m3m0r7:20190322125721j:plain

インターンシップを実施するまで

インターンシップの企画

開発部で初のインターンシップを行うという企画自体は2018年の8月から9月にかけて行われました。 部長、マネージャーと話を進めながら、他社のインターンを参考にしつつ企画を進めていきました。 例えば、インターンシップを行う目的はなにか、実施することによって会社が得られるものはなにか、何人採用するのか、契約形態はどうするのか、時給はどうするのか etc... いろいろと詰めていてあっという間に年末に近づき、そろそろ募集文を出さないとヤバイ、ということで募集文の準備をしていました。

片一方で

片一方で、インターンシップを一緒に実施してくれる有志を募りました。 f:id:m3m0r7:20190322131650p:plain

合計で9人ほど集まりました。 最初にキックオフを行い、どういうことをインターンシップで行うのか、タイムスケジュールはどうするのかなどを話し合って詰めていました。 また、採用基準をどうするのか話し合って決定しました。

面接 / 面談について

集まっていただいた9人から、面接/面談を担当する方を決めて、多くの学生さんたちとお話させていただきました。 今回はメンターの人数の問題もあり、1次面接のみという形で進めさせていただきました。

メンターの役割

本インターンシップでは4つのロールを定め、それぞれの役割にメンターが専念して貰う形にしました。 定めることにより、自分たちがどういった行動をすればよいのかが明確になるためです。

f:id:m3m0r7:20190322132713p:plain

実施前に期待値の確認を行う

インターンシップ実施の前にインターン生にアンケートをお送りし、GameWith のインターンシップに期待していることを予め知ることにより、 期待値の調整や、期待していることに応えられたのではないかなと思っています。

多くの部署を巻き込んだ

今回のインターン実施では多くの部署を巻き込みました。それでも各部署の方々は快くサポートしてくださったので、今回のインターンが成功したのだと思っています。

インターンを実施時に出てきた課題

主にタイムスケジュールに関連した課題が多いかなと本インターンでは感じました。 タイムスケジュールの調整が間に合わず、大枠しか確定していない状態で面接を開始してしまったのが今でも課題だったなと思っています。 インターンの実施については、事前にどれだけ準備・他部署と連携するかが大切だと改めて実感しました。 タイムスケジュールの組み方も初めてだったということもあり、オリエンテーションはオリエンテーションで固めすぎていましたが、分散させるべきだったなと反省しています。 メンターやチーム責任者がインターンをどう進めていくべき・どういう存在であるべきか、もう少しディスカッションする時間があっても良かったかなとも感じました。 今回は私の事前準備の至らなさで、ディスカッションする時間がほぼなく、それでもアドリブでインターンを成功させようと尽力してくださった皆様には感謝しきれません。

最後に

いかがでしたでしょうか、今回のインターンシップを実施するまでから実施してみてまでの一連の流れを書かせていただきました。 GameWith ではこのような企画などもしているので、興味があればぜひご応募お待ちしております。

www.wantedly.com