温泉宿で開発合宿・2025年版

まもなく還暦のよねざわ、前回の転職時に「もうここが終の棲家」と決めていたはずなのに、定年まであとわずか半年という状況にもかかわらず、退職を決意しました。
現職にはほんとうにお世話になりました。いちどは諦めていたエンジニアリングの道をふたたび目指し、Go＆オニオンアーキテクチャーのプロジェクトに配置され、設計から進行管理までいろいろ経験ができましたし、形ばかりとはいえ「テックリード」という肩書きもついたりしました。社内輪読会や勉強会の開催、またSlackやNotionを通してのエンジニアリングへの関心と好奇心を高めることもできました。また、「受託開発会社はこう経営されるべき」という哲学的な領域の話も、CTOや事業部長とのディスカッションを通じて、めっちゃ深めることができました。

…「いやそれならばなぜ辞めるんだ？」となるかもしれませんが、こればかりは「方向性の違い」、としか申し上げられません。
なお、5月末の退職後はフリーランスとしてしばらくはエンジニアリングを続けていくつもりです。が、次の仕事は、現時点でまったく決まっておりません（笑）。

# 7年ぶりの開発合宿＠鳴子温泉郷

…冒頭で自分語りしてしまいました。
そう、今回は、[前回](https://qiita.com/yonezawaizumi/items/bc2c9f0376733445ce19)から7年ぶりとなる、開発合宿を、2025年４月11〜13日の2泊3日で行いましたので、その発表の報告となります。
合宿場所は前回と同じく[鳴子温泉旅館すがわら](http://www.ryokan-sugawara.com/)、そして打ち上げ場所も前回と同じく[東鳴子温泉焼肉八兆](https://www.instagram.com/explore/tags/%E7%84%BC%E8%82%89%E5%85%AB%E5%85%86/)、さらには追加しての[東鳴子温泉食堂千両](https://tabelog.com/miyagi/A0403/A040301/4005433/)となりました。

# 開発合宿のレギュレーション

* 2泊3日とする
* 2日めの15時から1人30分ずつ発表と質疑応答を行い、〆とし、その後は焼肉八兆で打ち上げとする
* 発表に間に合うように研究資料作成を行う
* 合宿開始前から事前準備をしておくことは自由だが、全部完成させておいて温泉入るだけ、というのは自粛する
* 研究の内容はコンピューターサイエンスに直接関係していればなんでもよい
* 研究環境は各自ですべて用意すべし
  * ただし電源と館内Wi-Fiはある
  * プロジェクターと接続ケーブルはよねざわが用意する
* 発表内容のうちソースコードは GitHub にて、またスライドは Googleスライド、Speaker Deck などでの全世界公開を義務付ける
  * スライド表示に無料サービスの利用で広告や透かしなどが入っても構わない

# 開発合宿の場所と準備

## 鳴子温泉旅館すがわら

強いとろすべに墨を摩り下ろしたような独特の香り、コンディションによっては水色になる、すがわらの元からの源泉、通称「すがわらブルー源泉」は今回ももちろん大健在！

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/1be8317a-3751-4593-b451-e3ca300f8d15.jpeg" width="360" height="270" /><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/a22ab64f-1813-410e-9363-dfc7a76bf2db.jpeg" width="360" height="270" />

そして上右のとおり、7年の間に、すがわらに新たな源泉、「美肌の黒湯」が加わりました！
こちらはいわゆるアブラ臭（機械油の香り）とモール臭（植物が腐食し泥炭になる前の香り）に満たされています。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/10d0b995-d9c3-4283-a013-cc099ca649d2.jpeg" width="360" height="270" /><img src="
https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/5603cc85-bc48-4de2-999b-9847149a0cca.jpeg" width="360" height="270" /><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/8612465a-2d57-480d-bffd-459c73265be3.jpeg" width="270" height="360" />

さらには！ コロナを経て大改修がなされ、新たに誕生した「うるおいの湯」。すがわらブルー源泉を滝のように投入して湯口で55℃ある源泉（湧出時は100℃！）を冷ましています。またその温泉熱を利用した低温サウナまでできました！！＼(^o^)／ サウナーの reo=san も、開発の合間にさっそく堪能してましたよ。

## すがわらのお部屋

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/63f55d9f-4709-43d0-8588-bb2e40f0ff6c.jpeg" width="480" height="360" /><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/e2f80bce-2838-45b8-8a48-4a2e77b7d98b.jpeg" width="270" height="360" />

今回は参加者5人なので、3階にあるファミリールーム、501号室をアサインしていただきました。
6畳と10畳の2室に広縁、そしてその奥には2人座れるミニバーカウンターと洗面台とトイレ、という間取り。このミニバーカウンターが、みなさんの就寝後の開発継続、またあぐらに疲れたときの開発継続に、大いなる威力を発揮してくれました。

# 研究成果の発表

開発は1日目の15時から開始し、2日目の15時まで、途中の入浴・睡眠・買い出し・1日目の朝食（後述）、以外は開発に集中しました。

その結果は、発表順に、以下のスライドのとおりです。

## よねざわ：あの言語のインタープリターを書いてみた

<iframe src="https://docs.google.com/presentation/d/e/2PACX-1vTGqYkkLFJQz00FWMZAtcTRi1_lEi7co4weZRIeudbb50c2DS4UYpSbnrzkfBBk8uc8t6rtCl5Kitbz/pubembed?start=false&loop=false&delayms=3000" frameborder="0" width="960" height="569" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>

[→ソースコード](https://github.com/yonezawaizumi/brainfuck)

私は、もはやこすられ過ぎているとしか云いようがないんですが、[Brainf*ck](https://ja.wikipedia.org/wiki/Brainfuck)のインタープリターをScalaで書いてみました。いろいろと至らない点も多かったんですが、入出力同期限定とはいえ、ちゃんと動くものを作ることができたのは、ある意味感無量というか…。これは今後も少しずつブラッシュアップして、当初構想のものまで持っていきたいと思っています。

## ssmylhさん：Windows Cloud Files API で遊びたかった

<script defer class="speakerdeck-embed" data-id="2aef0377d24f418c85157cbd83bd3b22" data-ratio="1.7777777777777777" src="//speakerdeck.com/assets/embed.js"></script>

ssmylhさんは私の6つ前の職場で同僚だった方で、C++erからPHPerへと退化の一途をたどっていた私を関数型プログラミングという~~悪の~~まっとうな道に~~引きずり込んで~~導いてくださった恩人です。またそのおかげでScalaを覚えることができ、結果としてScala開発者として転職できて、そこでの[Scala製ゲームサーバーの大トラブル](https://qiita.com/yonezawaizumi/items/79679ad9911da6ea0309)の際の「改善のエビデンスのための負荷テスト」をどうするか悩んでいたとき、「よねざわさん、Goを覚えてください！」とアドバイスをいただき[ぶじ乗り切ることができた](https://qiita.com/yonezawaizumi/items/01384aad12cc5d9bc4d3)大恩人です。
今回は[Windows Cloud Files API](https://learn.microsoft.com/ja-jp/windows/win32/cfapi/cloud-files-api-portal)で遊ぼうと取り組んだ結果、「公式のサンプルコードがARM版Windowsで動かない」という大トラブルに巻き込まれ、コードを1行も発表できなかった、という無念の~~ぼやき~~分析を報告してくれました。

## ninikokoさん：Youtube Lofier - Chrome拡張開発

<script defer class="speakerdeck-embed" data-id="ffdb53abc2cd4e2b8ea32479d34813d1" data-ratio="1.7777777777777777" src="//speakerdeck.com/assets/embed.js"></script>
[→ソースコード](https://github.com/NikoSanko/YoutubeLofier)

ninikokoさんは、現職の私のプロジェクトに、協力会社のメンバーとして参加した気鋭のエンジニア。Goもオニオンも初体験でしたが、すぐに慣れてチームの牽引役になってくれました。
もともと私、~~事前面接（は法律で禁止されています）~~ 初顔合わせ時に「学生時代にWin32 APIでアプリ作りました」との記述に「え、今何歳ですか？」と思わず経歴書を二度見してしまったんですが、実はそれもオーディオを操作するための実装だった、ということで、まさに本領発揮の発表として私は受け止めました。ていうかそもそも[Web Audio API](https://developer.mozilla.org/ja/docs/Web/API/Web_Audio_API)の存在じたいを知らなかったよ私！(^^ゞ

## reo=san：MCP調べてみました！ / Exploring MCP

<script defer class="speakerdeck-embed" data-id="d2eae39037fc4462996f319f55800043" data-ratio="1.7777777777777777" src="//speakerdeck.com/assets/embed.js"></script>
[→ソースコード](https://github.com/uh-zz/mcp-tutorial)

reo=sanは、私のKyash時代の同僚で、現職の私のプロジェクトが「Goでオニオンの新規開発」ということで、副業としてスケルトンからの実装をお手伝いいただいています。常に困難と制約と理不尽しかやって来ない（爆）プロジェクトにおいて、いつもキレッキレのアイディア出しに助けられまくっています。そしてこのプロジェクトも私が全機能実装後に去るということで、「なんかAI入れようか」みたいな話が出ている最中の、まさにホットな話題、泣く子も黙るMCP。発表内容は「便利でわかりやすいまとめ」となっていて、さすがLT慣れしてるな、と、私の感心度がさらに上がってしまいました。

## kawayu_uさん：メモリウォールを超えて：キャッシュメモリ技術の進歩

<script defer class="speakerdeck-embed" data-id="abc67616f54d4b7caa024ef67912a9dd" data-ratio="1.7777777777777777" src="//speakerdeck.com/assets/embed.js"></script>

kawayu_uさんは現職の同僚として知り合いました。現職でたまたまGoに触り、そしたら隣の席によねざわがやってきて、「レビューしましょうか」「お願いします」みたいなこっそりのやり取りを経て、私のプロジェクトに参画し、直後に転職して去っていった、という、思い出の濃ゆい元同僚です。もともとガジェット好きだということで、今回はエンドユーザー側からコンピューターのメモリの（DRAM以降の）近代史を完結にまとめてくれました。

# 今回の温泉開発合宿の個人的な感想

## 温泉宿での開発はめちゃくちゃはかどる ver.2

今回もまた、「温泉宿での開発はとてもはかどります。なぜなら、**考えに行きづまった際に「湯船に直行」というシンキングタイムが得られる**からです。」がいかんなく発動されました。そしてサウナ！ 熱い湯にじっくり浸かるのは不得手、という人でも、サウナなら、というのはあるわけで(^_-)-☆、じっさいにサウナーのreo=sanはかなり楽しんでいました。
あともう1点、kawayu_uさんは温泉にあまり興味がなかったそうなんですが、すがわらの湯に「これはいい！」とめっちゃ感動していました！ たまに熱過ぎることもあるんですが(^^ゞ、熱くなければホント万人受けすること間違いないこの泉質。ホントおすすめです！(^^)/~

## 成果物の共有はたのしい ver.2

今回、発表までは完全にネタは伏せる、で臨んだのですが、5人の発表はみごとにばらけ、じぶん以外の4人の発表を聞くことが楽しいったらありゃしない！
また、5人というのも絶妙でした。これ以上人数増えると発表タイムが間延びするかもしれず、発表も2時間と少しくらいで収まり、完了後の感想戦も大いにはずみました。

## 脳を使いぬいた後の焼肉はおいしい ver.2

今回も鳴子温泉郷の食の聖地、[東鳴子温泉焼肉八兆](https://www.instagram.com/explore/tags/%E7%84%BC%E8%82%89%E5%85%AB%E5%85%86/)での打ち上げです。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/4631ce1f-ff2b-49cc-8f9a-028f2cec60f8.jpeg" width="320" height="240" /><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/9c5cc18e-09fe-4684-9b80-76321bb5f935.jpeg" width="320" height="240" />

7年前にはなかった隠しメニュー、厚切り牛タンを最初に焼きましたが、…全部乗せるんだこれ！(ﾟ∀ﾟ) 壮観な鉄板上の景色であります！＼(^o^)／

そして今回の謎肉はこれ。「いずみさん、つぶあんとこしあん、どっちが好き？」「つぶあん。」との会話を経て「はい、つぶあん」で出てきたのがコレです。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/087a90f1-8108-4230-b586-be39254219fa.jpeg" width="640" height="480" />

…誰が旨いこと云えと。（とか書いてしまうからマスターのダジャレがより一層乱発されるんだよなぁ…笑）
この鮟鱇、目がつぶらで、それで「つぶあんなのかな？」と推察。もし「こしあん」って返答してたら、皮の色があんこ色とかなんだろうな…(；・∀・)

## 鳴子温泉の食をほかにも参加者に紹介できた

2日めの朝食は、旅館すがわらのはす向かいにある[鳴子温泉菅原分店765（なるご）](https://x.com/sugawarabunten)です。朝7時から15時まで営業のコの字カウンターの呑み屋ですが、おにぎり屋さんとしてもよく利用されており、みんなでおにぎり定食や豚汁定食をいただきました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/f15140be-7485-4424-9191-7e528a3f1c37.jpeg" width="320" height="240" /><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/d65b6342-ba67-41c9-ade4-9b5284896891.jpeg" width="320" height="240" />
（1枚めの右上を気にしてはならない、絶対にだ。）

私は豚汁定食ご飯大盛に魚卵セット単品をつけましたよ♪

そして帰途の直前、3日めの昼食は、東鳴子温泉のもう1つの名店、[食堂千両](https://tabelog.com/miyagi/A0403/A040301/4005433/)でカツ丼やカツカレーライス。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/68c409c4-e9c0-4355-9959-65e279fd8b26.jpeg" width="320" height="240" /><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98308/420a5779-9e6e-4ab8-b744-918bf5c298d5.jpeg" width="320" height="240" />

私とssmylhさんの年長組はカツカレーライス、そして他の若い3人はカツ丼を食べました。
カツ丼のカツはこのカツカレーのカツよりもさらに厚みがあります！ そしてみなさん、完全腹パンになりながらも完食して、よくがんばりました！（なんなんだこの大食ハラスメントは＞じぶん）

# 来年もまたやりたいな温泉宿開発合宿！

やっぱり楽しかった開発合宿。鳴子温泉郷だけでも楽しいところに、脳みそ使ってやりたいプログラム書いて、発表して、みんなでわいわいやって、…＼(^o^)／ **もう私は来年のテーマを決めてしまいました！** いやー来年が楽しみ過ぎる！