こんにちは、CTOの伊藤です。
1/31~2/1 の2日間、開発チームでCreative合宿をしてきたので、その報告です。今回は湯河原のおんやど恵さんを利用させていただきました。界隈では有名だと思いますが、開発合宿モニタープランを利用すると利用料金最大50%OFFになるので、開発合宿には大変おすすめの宿です。
Creative合宿とは
Creative合宿とはなにかというと、普段の開発でやってみたいと思っているけどなかなか出来ないことを何でもやってよい2日間の開発合宿です。scoutyでは普段のスクラム開発(1スプリント1週間)において、スプリント最終日はCreativeな時間といって、やりたいこと何をやっても良い時間に設定しています。(Googleの20%ルールのようなものです。)
日々の細かな改善や学習はこの時間を使ってやりたいことを実現しているのですが、週に半日程度の細切れな時間だとできることも限られてくるので、今回は2日間の時間を取って実施することにしました。
開発時間では1日目の13:00 ~ 18:30, 2日目の9:00 ~ 12:00, 13:00 ~ 16:00の合計12時間弱を確保して、2日目の16:00 ~ 17:00で1人5分程度の成果発表をしました。
合宿中の様子
到着直後の様子です。机やプロジェクタもセットされており、すぐに作業できる環境が整っていました。
ディスプレイを借りたのですが、HDMI to Type-C のアダプタが1つしかなかったので、最近のMacBookを使っている人は自分のアダプタを持っていくと良さそうです。(ホテルの方にお願いすれば奥から出てくるのかもしれませんが、最初に頂いた袋の中には1つだけでした)
椅子もクッションを敷いてくれてあるので、座っていて疲れることもなく、2日間集中して開発することができました。
朝ごはんも豪華です。
メンバーの半分は前日26:30まで会議室でアルコール飲みながらわいわいしていたようですが、翌朝8:30からの朝食には全員間に合い、9:30からちゃんと開発をしていました。えらい!!
中庭もおしゃれで、足湯もあります。
足湯に入りながらコーディングもできて最高の環境です。
成果発表
都合が悪く、リモートで合宿に参加していたメンバーもいたので、ビデオ通話でつなぎながらの成果発表になりました。
各自取り組んでいたことを列挙すると、こんな感じです。(本当にバラバラで各自やりたいことをやっています…...笑)
・外部向けscouty APIの開発
・社内向けの本棚管理アプリケーションの改善
・GraphQLのPython実装の技術検証 & Go実装との比較
・scouty が公開している Chrome Extension の Chrome Web Store へのリリース自動化(CIへの組み込み)
・マイクロサービス化に伴うk8sへの移行検証と、Envoy&Istioのサービスメッシュの技術検証
・多重継承していて難解なコードになっているモジュールのリファクタリング
・PWA(Progressive Web Apps)の技術検証
・社内の業務効率を上げるためのクローラー開発 & グラフDBで可視化
一番上の外部向けscouty APIの開発は私がやっていたので、少し詳細をお伝えすると、SNSのアカウント名でscouty上の候補者を検索できるAPIと、それを使用したサンプルアプリケーションの実装をしていました。
こんな感じのAPIです。
各種SNSのアカウントIDをクエリで投げると、そのアカウント持ったscouty上の候補者の情報が返ってきます。
E, B, Iスコアというのは、それぞれ技術力、ビジネス力、影響力を示しているscouty上の独自のスコアで、その他にもこの人が持っている別のSNSアカウントの情報が返ってきます。
そして、このAPIを使って作ったサンプルのChrome拡張がこれです。Qiitaの記事を書いた人の技術スコアが表示され、そのスコアによってバーの色が変わるようになっています。(スコアが低いと赤、高いと緑に近い色になります)
scoutyの技術力スコアは100%の精度ではないですが、利用いただいているお客さんからも高い評価(信頼)をいただいており、Qiita記事の内容の信憑性を示すひとつの指標としては悪くないのではないかと思い作成しました。
今回作成した外部向けscouty APIとChrome拡張は、もう少し細部を整えてから近日中にリリースしたいと思っています。公開されたらぜひ皆さんもscouty APIを使っておもしろアプリケーションを作ってみてください!
まとめ
2日間の開発合宿で皆が口を揃えて言っていたのが、「この2日間はめちゃくちゃ集中して開発をすることができた」でした。自身が一番興味を持っているものについて開発をしていたことも理由の一つだと思いますが、普段ミーティングやSlackのメンションでいかに集中力が奪われているかということを痛感しました。
普段の開発では気軽に触れづらい技術の知見が溜まったこともそうですし、働き方についても再度考えるきっかけになった良い開発合宿でした。来年はWebエンジニアだけではなく、機械学習エンジニアも交えてCreative合宿をやってみたいなと思っています。