見出し画像

山あり谷あり歴史あり!エンジニア合宿体験記 in奈良

皆さんこんにちは。システム開発部門です!
普段はオフィスで作業をしている開発部門ですが、2023年の冬に奈良県五條市で5泊6日の開発合宿を企画・実施しました!初の外部環境での開発ということで、今回はその模様をお話ししたいと思います。少々マニアックな内容になることをご了承ください。。


なぜ合宿を?

この開発合宿は、『円滑にコミュニケーションが取れる環境で開発に集中する』という目的で企画が始まりました。

事の始まりは、システムに使用していたフレームワークである Vue のサポートが 2023/12 月までで切れてしまうため、大規模な改修が必要になったことです。実はこの改修、1 ファイル変えるとあれもこれも影響を受けることがわかりきっていました。しかもフレームワークのバージョンアップに破壊的変更が多々あり、全ファイル変えないといけない状況に…。

そんな変更範囲の広い改修に対処しなければならないのですが、開発部門で働いている一部の人はリモートで遠方にいるため、「これとこれとあれが影響受けます!」と説明しようにもチャットだけだと上手く意思疎通ができません…。ビデオ会議をしても予定を確保したりなど連絡・報告・共有が遅くなることが懸念されました。
ということで、「じゃあ、合宿で面と向かって作業をしよう!」となりました。

決して遊びに行ったわけじゃありません!本当ですよ?

れっつごー合宿

ということで奈良県五條市に訪れました。

なんと明治維新の魁(幕府による統治排除を明治維新の 5 年前に宣言した)という場所だそうで、歴史ある場所です。
街並みも木製の建物が多く、静かな場所でした。

街並み

歩いて移動し、合宿場所である みよし邸 に着きました。

合宿を実施した『みよし邸』

この建物の 2 階が実際に合宿をする場所です。
最初は「木製だし寒いのでは?」という懸念がひそかにあったのですが、エアコンが 2 台ありましたので全く問題ありませんでした。
全員揃ったら合宿開始です!

初日から問題発生!?

モニタ、wifi、プロジェクタ、お菓子(重要)など…もろもろ準備していざスタート!

が、早速問題が起きます。。。

合宿前にできるだけやれることはやっておこうと準備してきました。最初にコードをマージしてベースのブランチを作ろうとしたのですが、ここでコンフリクトが起きまくります。

しかし、合宿のメリットがさっそく発揮されます。全エンジニアが同じ場所にいたので、各担当が「ここは削除できる」、「一旦変更を全削除して大丈夫」など、あれよあれよとコンフリクトは解決していきました!

もしこれをリモートでやっていたと思うとゾッとします。マージできず、コンフリクト部分を削除していいかわからず、ベースブランチができないので全員の作業が止まるという事態もあったと思います。

「合宿やってよかった!」と全エンジニアが実感した初日でした。問題の重大さといった”文字で伝えるのが難しい感覚”を共有できたのも良い経験でした!

順調に進む開発作業♪

初日のコンフリクト地獄を乗り越え、その後は順調に開発が進みました。

「何をどう共通化するか、この部分をリファクタするか」などの話し合い、画面A、画面Bが動かないといった即座の報告とその解決方法の共有など、初日ほどの大きな問題もなくモクモクと開発していました。

フレームワークに合わせていくつかのライブラリも更新する必要があったのでそれも実施し、作業は順調に進んでいました。

問題再び…

うまくやっていたところに突如問題が降りかかってきました。

「昨日動いてたものが動かなくなる」という事態です!
原因は、フレームワークに合わせて更新していたライブラリの中に、数時間前に「更新しました!仕様が変わりました!」といったものがあったためでした…。
ということは、「どのバージョンで固定するか」を考える必要があります。このライブラリはバージョンを戻しすぎると、一部機能が実験的段階に戻るといったこともあり得るくらい当時頻繁に更新されており、即断できるものではありませんでした。

そして追い打ちをかけるように、また別の問題も発生しました。公式に「互換性がある」と書いてある機能に互換性がないことがわかったのです!なので、また書き直す必要があります。。。

ここで再び合宿の良さが発揮されます!
全エンジニアですぐに話し合いを実施し、固定するバージョン、誰が書き直すのか、その書き直し担当だった人の本来の作業を誰がやるのか、やり切れるのかなど…すべてその場で決定することができました!

合宿の様子

無事合宿終了!

ライブラリのバージョン固定、互換性がなかった部分の書き直しも終わり、無事ローカルで最新バージョンがきちんと動く状態まで持っていき、合宿が終わりました。
細かな調整は残ってはいましたが、「ビルドができない」状態から「ビルドもできて動く」状態になったので万歳といえる結果でした!

この合宿で話し合えた共通化やリファクタの話は大きい資産になりました。
コードは全エンジニアが触れるもので、いろんな折衷案も踏まえた”こうしていこう”が作れたのは、これから入社いただく仲間のためにもなるからです。

そういえば、こんな体験も。。。

お昼の食事でいろいろ外を歩きました。

そんな中、コンビニまで歩くとなんと薪が売っている(笑)

コンビニ前の薪

キャンプ場が近くにあるのでしょうか?
東京ではまず見かけない光景で新鮮でした。

今回合宿を行ったみよし邸前の道には五條の歴史を知れる建物もあり、昔ながらの絵画なども手に取って観察できました。デザイン担当のエンジニアがとても興味津々でした(笑)

最後に

今回は GOJO チャレンジというプログラムを利用させていただきました。
歴史ある建物、日本文化がある建物で作業できる機会はあまりないので、他の方も活用いただくと良いかもしれません。

ここまで読んで下さり、ありがとうございました!

▼前回のエンジニアに記事はコチラ!!

▼採用情報はコチラ!!
少しでも気になっていただけた方は、是非ご連絡・ご応募いただけたら嬉しいです!
募集ポジションは弊社Recruitページに掲載しておりますので、ご確認ください。


この記事が参加している募集

仕事について話そう