X-Hackathon 2020 Summerに参加した話
今回は、株式会社GA technologiesのX-Hackathon 2020 Summerというインターンに参加させて頂きました。ハッカソン形式のインターンです。2020/6/27〜2020/6/28の2日間で行われました。ハッカソンのテーマは「世の中に存在するアナログな事象を解決するサービスを作る」でした!
なぜ参加しようと思ったか
とある逆求人イベントで、GA technologiesの人事の方と面談させて頂いたことがきっかけです。自分がこれまで取り組んできたこと、自分がどういう思いでプログラミングに取り組んでいるか、などなど思っていることをぶつけたら共感して頂きました。面談で今回のインターンを紹介して頂きました。
合否まで
正直、選考が通るか心配でした....
申し込んでから約1週間で合格の電話がきました。ちょうどプロジェクト学習中に合格の電話が来て、とてもテンションが上がりました。
内容
メンバー構成
3人1組のチームでした。
僕のチームは、、、
クライアントサイド(Swift)1人、サーバサイド(Ruby)2人の構成で臨みました。
ちなみに僕は、swiftでクライアントを担当しました。
どんなサービスを作ったか
もくもく会をオンラインで提供するというサービスを作りました。
サービス名は「もくもくオンライン」です!!
何か作業をしたいと思った人で、人がいる中でないと作業に集中できないというニーズに答えるために作りました。どうやって「人がいる感」を出したかというと、画面上にユーザのアイコンを表示することによって、「人がいる感」を演出しました。
以下にGitHubのリンクを貼っておきます。
アプリの画面を以下の載せます。
2画面つながっていますが、別々の画面になります。
僕の役割
このハッカソンでの私の役割は、上記にもありますが、クライアントサイド(swift)です。サーバ側で、ユーザIDを発行するAPIやルーム(もくもく部屋)IDを発行するAPI、ルームに入っている人数を返すAPI、退出するユーザを削除するAPIを用意してくれました。これら4つのAPIを私がswiftで使い、ユーザに分かりやすいように画面に表示することをしました。swift側で使用したライブラリは、Alamofireです。
最後の発表で、デモを動かしたのも僕ですね。
見つかった課題
このハッカソンで見つかった課題は、非同期処理の実装です。1つのAPIならあまり気にすることはないかもしれませんが、複数のAPIを使う経験は無かったので、返ってきた結果を通知したり、結果を次のAPIのパラメータにしたりというところに苦労しました。通知のパターンとして、現在はクロージャを一番得意としていますが、ゆくゆくは、デリゲートパターンやオブザーバパターンでも楽々に実装できるようになりたいですね。
最後に
swiftを使ったインターンは初めて参加しましたが、とても楽しかったです!!(個人的にハッカソンが好きというのもありますが....)
なかなかサーバサイドの2人の進捗に追いつくことができず、迷惑をかけてしまったと思っています..(僕を支えてくれてありがとう!!)
とても中身の濃い2日間を過ごすことができました!!!
iOSのメンターの方にもたくさんお世話になりました。何度も僕の相談に乗っていただきありがとうございます。メンターの方と接していると、僕もいつかは、プロフェッショナルになりたいと思わされます。
最終日の成果発表では、優勝こそ逃したものの、「サービスの発想が面白い!」、「ビジネスモデルを構築できたのはすごい!」などのアツいフィードバックを頂きました。
アイデアの発想だったら僕らが優勝していたと思います。(割と自信ある)
ハッカソンを通して課題も見つかったので、これらに向き合いつつ、大学のプロジェクト学習も頑張っていきたいです。
最後に、X-Hackathonを運営してくださった方々、メンターの方々、支えて下さりありがとうございます。今回、経験したことを、今後の個人開発やプロジェクト学習に生かしていきます。