エンジニアにとって大切な、新たな技術の習得。メンバーの技術力を高めるために、独自の勉強会を実施している企業も少なくありません。クイックでも、「実際に手を動かし、具現化力を高める」という目的のもと、『Engineer BootCamp(以下、BootCamp)』という名称で、プロダクト開発を疑似体験する場を設けています。
BootCampの特徴は、「今、学びたい技術」などを自分たちで考え、自由に開発を行うこと。通常の業務では使っていない技術を学んだり、異なるポジションを体験したりすることで、主体的にスキルを伸ばしています。半期ごとに活動を行っており、期間内に成果物をリリースするというゴールに向かって、業務時間内で時間を確保して開発を行ってきました。
なお、前回までは個人単位で活動してきましたが、2024年上期は6~7人のクラン(※)に分かれて開発を行う形に生まれ変わりました!複数人で動くからこそ生まれる相乗効果など、クラン制ならではの成果に期待が集まっています!
※クラン:同じ目的を持つ「グループ」や「チーム」のことを指すゲーム用語。ゲーマーが多いこともあり、今回はチームのことを「クラン」と呼んで活動しています!
▼前回のBootCampの様子は、こちらの記事でレポートしています。
https://www.wantedly.com/companies/quick/post_articles/877534
今回の記事では、各クランの半期の成果を報告する『EBC発表会』の様子をレポートします!「どんな技術にアンテナを立てているの?」「エンジニアたちの雰囲気ってどんな感じ?」といった現場の空気が伝わる内容になっているので、気になる方はぜひご覧ください!
~当日の流れ~
- 開会の挨拶
- 発表順の決定
- 各クランの発表優秀賞の発表
- エンジニアリングマネージャーから締めの挨拶
▼まずは開会の挨拶から!
まずは、セクションマネージャーによる開会の挨拶&乾杯の音頭。メンバーのモノマネや、発表者を迎え入れるための発声練習で場も喉も温まり、わきあいあいとした雰囲気で発表会がスタートしました。
ちなみに今回は、お酒と軽食を用意しての開催!各々好きなドリンクを片手に報告会を楽しもうという趣旨になっています。
▼クランⅡの発表
コミュニケーション促進ツール『ほめほめ浩二』
トップバッターはクランⅡ。制作したのは、コミュニケーションを促進する社内ツール『ほめほめ浩二』。Slack上で「感謝の言葉を伝える」「感謝の気持ちを「飴」として相手に贈る」機能を持つツールです。
Slackのワークフローを使って「相手への感謝の言葉」と「感謝のしるし(飴)」を贈れます。
ちなみに、飴の数もきっちりカウントされています。
飴が貯まったらどうなるか…誰も知りません(笑)(まだ決まっていないとのこと)
当初のシステム構成は、SlackからAPI Gateway経由でLambdaにアクセスし、LambdaからRDSにアクセスして、「飴」を管理し、結果をSlackに返すというシンプルなものを想定。簡単に機能を実装できると想像していたものの…
開発の中で「Slackは外部APIを直接呼び出せない」「Slackでは3秒以内に結果を返さないとタイムアウト扱いでエラーになる」などの仕様が判明し、その度に代替案を模索することに。
SlackやAWSの理解を深め、使いやすさにもこだわった結果、当初より複雑なシステム構成となりました。
開発を通じて、メンバーからは「Slack APIとワークフローの知見が得られた」「クランで活動することで、私が知らないBotの作り方や構成を知れて、脳が活性化した」「はじめてDB設計に携われて、悩みがいのある部分がわかった」など、ポジティブな感想が寄せられたとのこと。
あまり経験の無いツールを使った開発だからこそ、想定外のトラブルも多かったようですが、メンバーそれぞれ多くの学びを得られたようです。
▼クランⅢの発表
ランチマッチングサービス『IZAH』
発表2番手は、クランⅢ。コミュニケーションを促進するランチマッチングサービス『IZAH』を開発しました。サービスに参加申請した人同士をつなげ、予想外のメンバーとの出会いによってセレンディピティ(思いもよらなかった偶然がもたらす幸運)を起こすことを目的にしています。
ランチ希望者同士をランダムにマッチングする訳ではなく、社内の自己紹介ページから情報をスクレイピングし、AIを使って相性の良さそうな人をマッチングするなど、裏では手の込んだ処理を行う仕様になっているようです。
それゆえに難易度も高かったのか、デプロイが間に合わず、今回は開発中のシステムでのデモを使った報告となりました。
開発したランチマッチングサービスの名称は「恥(IZAH)」。「デプロイが間に合わず、サービス名通り恥を晒しにきました…」との自虐に、会場からは笑いと拍手が。
チームで掲げた「挑戦をしていこう」という目標に基づいて技術を選定しており、最近話題になっているFastAPIや生成AIをはじめ、メンバーがほとんど触ったことのない技術を使用した、非常に挑戦的な技術スタックになっていました。
リリースには至らなかったものの、FastAPIの使用感を確認できたり、Google認証も絡んだサービス連携の難しさを実感したりと、今後の開発にも活かせる気づきを多く得られたとのこと。
後の講評でも「リリースこそできなかったものの、コミットは全体的に良かった」と評価されており、次に繋がる活動となったようです。
▼クランⅠの発表
備品(検証機)の貸出Webアプリ
続いてクランⅢからは、「備品(検証機)の貸出Webアプリ」の開発報告がありました。こちらも、クランメンバーがあまり経験してこなかった言語や環境を使った、チャレンジングな開発になっています。
「前の2チームより真面目なんで、笑いは取れないかも(笑)」という前置きのとおり、堅実な造りのスライドを使っての発表です。
今回の開発で使用した言語はGoとReact。社内で使用しているプロジェクトもあるものの、クランⅠにはあまり触れてこなかったメンバーが集まっていたため、「将来を考えて学んでおいて損はない」ということで選択したようです。
また、Goの経験者が少なく、習得に時間がかかることも想定されたため、その他の技術は経験者がいるものを使うなどして、効率的に開発できるよう工夫していました。
その結果、無事リリースを達成。実演時には、備品の新規登録や貸出・返却状況の変更もスムーズに行え、完成度の高さに会場からは拍手も起こりました。
……が、実は「さっきまで(貸出状態を返却に更新できなかったので)借りパクアプリだったんですけど(笑)」という事実が判明。報告会直前までバグ取りを続け、2時間前に完全な状態に仕上がったとか。
思わぬ裏話とメンバーの粘り強さに、会場からは笑いと拍手が起こりました。
Web事業企画開発本部が求める「GRIT(熱意と粘り強さ)」の精神を体現したエピソード。ナイスGRIT!
▼クランⅣの発表
イベント幹事サポートアプリ『楽楽幹事』
ラストとなるクランⅣが開発したのは、「イベントの企画~精算を楽にするアプリ」。イベントの作成や参加者・予算の管理などが行えるアプリです。なんでも、ちょうど飲み会の幹事をする機会が多かったこともあり、発案に至ったそう。
ちなみにアプリ名は『楽楽幹事』。完成度の高さもさることながら、どこかで見たことがある名称に、会場は大いに盛り上がりました。
会場内からは、思わず「すごい、ちゃんとしてる」との声が。
「イベントの作成」「イベント参加者の登録、管理」といった機能に加え、「支払金額の計算機能」もついた便利アプリ。支払い計算は、割り勘だけでなく参加者ごとに割合を変えられる機能もついた、実用的な仕上がりになっていました!
技術スタックは画像のような形。クランⅣでは、そもそも普段インフラを担当しているメンバーがクランにいなかったこともあり、品質と確実なリリースを重視して言語等を選択していました。
開発を終えて、「React/TypeScriptで(ちょっとだけ)実装できるようになった」「terraformでAWS環境が(見様見真似で)構築できるようになった」など、みなさん謙遜混じりでスキルアップにつながったことを報告していました。
業務でインフラを担当しているメンバーがいない中で開発に挑み、普段とは違ったポジションを経験し、見事構築に成功したということで、知識の幅も広がったようです。
▼優秀賞の発表
全クランの発表が終わり、運営からの連絡を挟んでいよいよ「優秀賞」の発表へ。
審査は、エンジニアリングチームのセクションマネージャーであり、通称「王子」こと、三木が担当。今日、誰よりも公平な視点で報告を見守っていました。
審査員の三木。誰よりも目立っていた帽子は、BootCamp運営委員長から渡されたものとのこと。真剣な眼差しで発表を見守っていました。
今回の審査では、「成果物をリリースできたか」「手を動かしたかどうか」を軸に、成果物の動作や各人のコミット状況を確認して客観的に評価が行われました。
その結果、優秀賞は……『楽楽幹事』を開発した「クランⅣ」に決定しました!作業者の偏りはあったもののコミット状況が評価されての受賞です。クランⅣの方々、おめでとうございます!
(ちなみに…)優秀賞の発表前には、すべてのクラン・メンバーひとりひとりに対して、三木から講評のコメントが寄せられました。客観的でドキッとするコメントがありつつも、ひとりひとりの状況を細かく見ており、愛が感じられます。
参加したみなさん、お疲れさまでした!
▼BootCampを終えて
最後にエンジニアリングマネージャーの桃原から、今回のBootCampの総括がありました。
「知らない立場や業務を知って、普段の業務では味わえない楽しさや経験ができたのではないでしょうか?この体験を、普段の仕事にもぜひ活かせるといいなと思っています」
という桃原の言葉のように、そもそもクイックのBootCampは、ゼロから企画を考える経験や、上流の要件定義、スケジューリングなど、普段できない業務を体験し、業務に活かせるようにという想いのもと始まったそう。
今回のBootCampでも、バックエンドでコードを書いているメンバーがインフラを構築したり、普段テックリードを務めていないメンバーがテックリードを体験したりと、様々な立場の業務を経験し、刺激になったようでした。また、今期からは個人ではなくクラン単位の活動となったことで、メンバー同士の得意分野を持ち寄って教え合うといった、相乗効果も生まれていました。『テクノロジーの力を使ってクイックの事業成長を加速させる』という、エンジニアリングチームの目指す姿に向けてまた一歩近づいた、実りのある時間となったようです。
「かっこいいエンジニアをめざすぞ~~~~~!!」
「お~~~~~~~~~~~~~~~~~~~~!」
最後までご覧いただきありがとうございました!
いい記事だと思ったら、ぜひ「いいね(♡ボタン)」やシェアお願いします!
▼クイックのテックリードの募集
▼エンジニアリングマネージャーの記事はこちら
▼エンジニアイベントについての記事はこちら
▼その他職種の募集はこちらから