11月22日(水)〜11月23日(木)、Opt Technologies初の開発合宿に行ってきました!東京・仙台のメンバー合計31人が参加し、もりもり開発してきました。今回は、合宿の様子をレポートします。
あいさつ
こんにちは。エンジニア採用担当の井上 & テクノロジー開発部の柴田です。 今回は、東京と仙台にある開発拠点のメンバーが一堂に会した開発合宿の様子をレポートします。
開催まで
前々から「やってみたい」という声が社内でちらほら挙がっていた開発合宿。 四半期に一度、営業日丸1日を使ったハッカソンは定期開催していますが、合宿は初の試み。 東京と仙台の間に位置する那須塩原にて、紅葉の綺麗な時期に開催する運びとなりました。
今回のテーマは「突破力」。
- ビジネスを突破しそうな新プロダクト(のプロトタイプ)
- プロダクトが市場を突破しそうな既存プロダクトへの機能追加や改善
- 技術負債を突破しそうな既存プロダクト改善
など、「何かを突破するイノベーションを起こす」というテーマで、事前にチーム分けをして合宿に挑みました。 (なお、業務に影響ないのであれば事前準備をすることは認められており、チームによっては入念に準備をしていたようです)
ここから先は、合宿の様子をお伝えします。雰囲気をお楽しみいただけたらと思います。
出発〜開発終了まで
1日目 朝
東京組は9:00出発と、早朝スタートとなりました。 ↑Opt Technologiesは普段、朝がちょっと遅めなので、この時間にこの顔ぶれが揃うのは新鮮。バスの中から開発を始めるメンバーもいました。
↑仙台組も新幹線で出発
1日目 昼
那須塩原にて東京・仙台が合流し、ランチです! ↑ランチのお店を求めて彷徨う一行
ランチの後は会場に到着。CTO平岩より合宿の説明がありました。 合宿のテーマは「突破力」。
参加者全員が、最も「突破力」を感じたチームに投票し、最も得票を集めたチームへの商品はなんと…
ということで、早速Google I/O 2018参加を懸けた開発が始まりました。 ↑早速部屋で開発するチーム ↑まずは温泉入ってから開発するチーム
1日目 夜
夕食会場で、進捗報告会を実施しました。進捗6〜7割のチームと1〜2割のチームが多かったです。 ↑「進捗ぼちぼちです」 ↑「進捗ダメです」
夕食後はめいめい、開発の続きをしたり温泉をエンジョイしたりしました。 開発合宿の夜は長い… 朝まで頑張ったチームもありました。
↑集中しております ↑部屋に戻ってもくもく ↑温泉に来たら卓球せざるをえない ↑ボドゲ部がちょっと活動してました。後ろにいるチームはもくもく開発していますね。
2日目 朝〜昼
正午までは引き続き開発タイム。 ↑11時台になると「完成した」という声も聞こえ始めました。 ↑昼ごはんを早めに食べ終えて、成果発表ギリギリまで追い込むチームも。
成果発表
(技術パートなこともあり、柴田が記事を担当します。)
開発時間は終わり、各チームによる成果発表の時間です。
「最も突破力を感じたチームに投票する」ということで、各チーム、自分たちが何を「突破」したか強めにアピールしていたのが面白かったです。 ここでは、それぞれのチームがどんなことをしたのかを簡単にご紹介したいと思います
今世紀最もセクシーな職業2013 チーム
データサイエンティストのコンテストであるkaggleのとある販売適正価格提案コンペに挑戦したチームです。
チームメンバーそれぞれで、データの眺め方・先人の知恵にもとづいての前処理や特徴出し・試したアルゴリズム、などを説明し、自分たちがいかに突破出来たのかを話してくれました。 結果としては32位/102位(発表当時)とのことで、「もう少しスコアを伸ばしたかった」、「kaggleの他のコンペで挽回したい」などの感想を聞けました。
紅き翼(Angular Boot Camp) チーム
社内に一部残っているAngularJSのコードをAngular V4に置き換えようというチームでした。
発表の中では、「モーダル用のライブラリについて良いものを見つけた!」というものや、「(ほぼ寝ずにやったので)作業時間が突破している!」という突破力アピールがあり、深夜のテンションを感じて面白かったです。 デモの場面では画面を動かしてくれたのですが、リファクタということもあり「ここでRx使って苦労したんですよ!」という発表者に対して、「いや、変わってないからわからん」みたいなヤジがあったりしました。
円環の理 チーム
新規ジョインメンバーが、オプト最大の自社プロダクトADPLANの理解を深められるよう、ミニマムADPLANを構築しようというチームでした。
新規にジョインするメンバーが教材を通じて製品への理解を高めるとともに、教材の拡充・メンテナンスについても指針を示していて頼もしかったです。 デモでは、ダミーの広告を踏んでコンバージョンをしてそれが管理画面に表れる、といったシナリオの説明や、仕様やアドテク知識をまとめたドキュメントを見せてくれました。
Play2.6に上げ隊
某プロジェクトで使っているPlay Frameworkのバージョンを上げようというチームです。
規模の大きなプロジェクトであることもあり、PlayのマイグレーションガイドにあるようなDI周りの機構の変化やDeprecatedなAPIの置き換えだけでなく、多様なライブラリのバージョンアップも必要になり、時には2.6対応してないライブラリにPR出さないと、、など色々と苦労話を話してくれました。 結果としてはまだ道半ばでデモ出来るものは無かったですが、大きな進歩だと思います。
めざせ海外旅行♪ チーム
こちらは、位置情報を活用したSNSを社内でも作ってみようというチームです。
用途的にスマホアプリが良かろうとXamarinを試してみたのですが、位置情報を取得出来て、タップしたらイベントが発火して、、あたりで時間切れになってしまったようで、デモまで至りませんでした。 Xamarinの環境構築においてのハマりどころを説明してくれました。
Infrastructure as Code チーム
Infrastructure as Codeの実践の中で、変更管理パイプラインについての調査、実装をしたチームです。
デモでは、AWSのCodePipelineやCloudFormationを使い、「git pushをトリガーにして、承認フローを経由して、CFnを適用する」といったフローのサンプルを作ったり、実プロダクトのステージング環境に向けて軽めの適用を試してみる、といったことを行ってくれました。 チームには東京・仙台のエンジニアが混ざっていて、普段インフラに慣れてない人も理解が深まったようでした。
時計じかけのアボカド チーム
大規模なデータを収集している社内システムで、データの取り込みが非効率な部分があったのでそれをSparkを使って効率化するチームです。
spark on EMRで扱う時のハマりどころや、csvのヘッダ周りのトラブルを踏まえて話してくれました。
Yasushi Nakamoto チーム
BlockChainの可能性を追求しようということで、キュレーションプラットフォームの仕組みを調査・実装してみたチームです。(執筆者である柴田のチーム)
ビジネス的に面白そうな分野は何かを調べたところuserfeedsというスタートアップの仕組みが楽しそうということになり、それを調査し自分たちなりに設計・実装してみました。デモでは、ブラウザからキュレーション(スマートコントラクトの呼び出し)をして、それがブロックチェーンに格納されて、別の画面でランキング画面が表示されるところを実演しました。
analysis dashboard チーム
オプトのプロダクトであるSpinAppにたまったデータから、BIツールを使って各種分析を行ってみるというチームです。
実際のデータを見ながら、BIツールであるtableauの使い方や分析手法を盛り込んで説明してくれました。
結果発表
参加者全員の投票により見事優勝したチームは…
「円環の理」チームでした!!
↑リーダー野口さん(@ovrmrw)へ賞品(Google I/O 2018参加権)が授与されました。
こうして開発合宿が終了しました。お疲れ様でした!!
感想
参加したエンジニアからは、
- 温泉旅館で適度にリフレッシュしつつ普段の実務とは異なる開発に取り組むことができて、充実した2日間でした。
- 普段「難しいからなかなか触れていなかった分野」について粘り強く取り組んだことで、技術への理解が深まり、忍耐力も上がったと思う。
- 東京・仙台間も遠隔ではなく同チームで作業できるのは、今後の業務においても親睦の良い機会となった。
などのポジティブな意見が多く概ね好評でした。
今回の合宿の成果を何かにつなげて、また来年も開催したいと思っています。
最後に
オプトでは、エンジニアを絶賛募集中です。 一緒にもりもり開発したい方、是非こちらからエントリーを!
※カジュアル面談ご希望の方は、補足欄に「カジュアル面談希望」とご記載ください。