GA technologiesのインターンに参加した話
6月27,28日の計2日間、GA technologiesさん主催のインターンに参加させて頂きましたので、忘れないうちに感想を書いておこうと思います。
どんなインターン?
1チーム(3人)に1人エンジニアのメンターが付きアイデアソンからハッカソンまで2日間で行います。
テーマは「X-Tech」で世の中に存在するありとあらゆるアナログな事象が対象です。
インターンの一週間前
私たちはインターン当日の時間をなるべく開発に当てたいと思っていたのでインターンが始まる5日前くらいから話し合いを始めました。
そこで思いのほか話がスムーズに進み、アプリの内容、使用技術、開発の進め方まで決まりました。
今回のインターンではSwift+Rubyで「もくもくオンライン」という擬似的にもくもく会をオンラインで開催できるスマホアプリを作ることに決まりました。Swiftが1人、Rubyが2人で私はRubyでサーバーサイドで担当することになりました。
インターン当日
実際の作業ではissueをまず先に立ててから、issueごとにブランチを切ることで作業を明確化していきました。これがうまくハマり作業分担で特に揉めることなく作業を進めることができました。
1日目でメイン機能はほぼ完成し、2日目ではクオリティをあげていく作業に入りました。2日目はサーバー側の仕事がほとんど無かったので細かい作業をチームメンバーにまかせ、自分はプレゼン用の資料を作ったり、ボタンやタイトルなどのUIをデザインしたりしていました。
結果
残念ながら1位になる事はできませんでした。とても悔しいです。
ここからは反省を書いていきます。
ちなみにこの反省を書きたいがためにこのブログを書いてるまであります。
反省
1位になれなかった要因として色々と挙げられますが、完成したアプリのレベル自体は他のチームの作品を見ても、自分のチームが1位なのではないかと今でも思っています。
ただ今回はあくまでハッカソンです。発表して評価者が良さそう!と思ってもらえなければ意味がありません。
今回のインターンで反省すべき点はプレゼンと進捗管理の2つです。
1つ目のプレゼンでは特にプレゼン資料の構成が良くありませんでした。
発表した資料の構成は「解決したい課題→使用技術→デモ動画→やりたかった事」となっていましたが、これでは自分たちが「結局どこまで実装でできたのか」が動画の数秒でしか分からないため聞いている人に印象を残すことができません。
さらに最後にやりたかった事を持ってきてしまったのも、結局、理想論を語ってるだけで実現できてないという印象を与えてしまいます。
実際はメイン機能を完成させ、さらにサブ機能まで実装を終えていたのに、ここを全然アピールできていませんでした。
2つ目の進捗管理では作業内容の優先順位を間違えました。
私は進捗管理も担当していたので1番チーム全体のことを見えていなければならないのですが、クライアントにやってもらう作業の順番を間違えてしまいました。
具体的にはメイン機能の修正を先にやるべきなのに、サブ機能の実装を先にお願いしてしまいました。サーバーを担当していた自分がクライアントの作業内容の重さを見誤ったため、メイン機能の修正が期限ギリギリにやっと終わるという自体が発生してしまいました。
ここは最悪サブ機能を切ってでもメイン機能の修正に注力してもらえば良かったと反省しています。
今回のアプリの仕様上クライアント側の実装が重く、人数も1人しかいなかったためにクライアントのリソースには限りがあることをもっと認識すべきでした。
インターンを終えて
かなり悔しい結果となってしまいましたが、2日間このチームで開発することで、とても多くのことを学べたと思っています。何よりみんなでアイデアを出し合って実際に開発していく過程がすごく楽しかったです。
また懇親会ではメンターの渡邉さんの会社に対する熱い思いが聞けてすごく良かったです。貴重なお話をして頂きありがとうございました!
渡邉さんにはインターン前日のアイデア出しから参加して頂き、プロのエンジニアとしての意見がとても参考になりました。
そしてチームメンバーの2人には感謝しかないです。初めてのチーム開発で迷惑をかけてしまうことも多々ありましたが、2人のおかげで無事に最後までやり遂げることができました。
最後に、このような素敵なインターンに参加させて頂きありがとうございました!