🗂

Nstock エンジニアオフサイト開催レポート

に公開

エンジニアのわだよしです。Nstock では2年ほど株式報酬SaaSの開発に携わった後、今はセカンダリー事業でITガバナンスや情報セキュリティに取り組む役割を担っています。こちらでの執筆は2回目となります。

今回の Nstock Tech Blog は、先日実施したエンジニアオフサイトというイベントについてのレポートをお届けします。

  • エンジニアオフサイトの意義・効果を知りたい
  • Nstock のエンジニアが実施しているコミュニケーションについて知りたい

という方にはオススメできる内容なので、是非読んでください(できれば拡散も)!

開催の目的・背景

開催のきっかけになったのは、

  • エンジニアが増えてきた(現在18名)
  • 複数事業にエンジニアが在籍しており、交流に偏りが出てきた

という声が挙がったことでした。そこで僕を含む4名のエンジニアオフサイト企画・運営メンバーが集まり、約2ヶ月をかけて複数回の MTG などで検討・準備を重ね、開催にこぎつけました。

そのキックオフで定めた今回のエンジニアオフサイトの目的は以下のとおりです。

  • 他の事業・プロダクトに関する「技術動向やこれまでの背景を知る」
  • ふだん言語化しきれない「モヤモヤを共有する」
  • チームや技術の「将来の話をする」

これまでもこのような話題はあったとは思いますが、同じ事業に関わるエンジニア同士に閉じていたり、局所的な視野になっていることがあるのではという考えから、このように決定しました。

また、本来オフサイトというのは「現場から離れた場所」という意味ですが、今回は「対面」という要素を重視したことも付け加えておきます。

開催概要

今回のエンジニアオフサイトは、平日午後にオフィス近くの貸会議室にて実施しました。参加者はいわゆるソフトウェアエンジニアだけではなく、QA エンジニアやコーポレートエンジニアを含む18名です。

当日のコンテンツは事前に Notion にまとめ、しおりとしてご案内しました。それがこちらです。

エンジニアオフサイトのしおりエンジニアオフサイトのしおり

ちなみに前回は約1年前で、まだエンジニアが10名だった頃です。しかも半日ではなく、1泊2日の合宿形式でした(その際のレポートはこちら)。

1人目正社員の僕としては、エンジニア同士のコミュニケーションの形も変わっていくんだなぁと、とても感慨深い気持ちになりながら、このブログを執筆しています。

各コンテンツのご紹介

開場・はじめに

まずは開催の趣旨と、目的の説明。
それでは早速各コンテンツへ!といくその前に、(元気なうちに)参加者全員で集合写真をパシャリ。

エンジニアオフサイトの集合写真エンジニア全員集合(!?)

プロジェクターと被っちゃいました、ごめんね。

Tech Talk

今回エンジニアオフサイトを開催する狙い・成果のひとつである「他の事業・プロダクトに関する『技術動向やこれまでの背景を知る』」を達成する取組として、Tech Talk を開催しました。

事前にアンケートで自薦・他薦の登壇者やテーマを募り、企画・運営メンバーで最終決定し、以下の4テーマで、計6人のエンジニアに実施してもらいました。

  • @tanakiyo & @touyu:ドキュメントベース開発プロセス & Claude Code 豆知識(Tips集)
  • @matano:Nstock Webフロントエンドの現在地と今後の展望をざっくりと
  • @nono:ストックオプション個数管理のリアーキテクト話
  • @kakkie & @sawady:セカンダリープロダクトの CQRS

ちなみに持ち時間は質疑応答なども含め10〜15分程。スライド形式を必須とせず、感想や質問は口頭ではもちろん、Slack に発表毎のスレッドを用意することとしました。

やってみてどうだった?

実際に登壇した方のうちお二人に感想を聞いてみました。

まずは touyu さん。

Claude Code の豆知識(Tips 集)を紹介しました。最初は何を話そうか少し迷っていたのですが、振り返ってみると自分が普段内々で試していた工夫がいくつかありました。こうしたものは自分だけで試していると共有のきっかけを逃してしまいがちです。今回、それらを整理して社内に共有する良い機会になったなと感じています。

そして kakkie さん。

軽量CQRSを導入・運用した経験を発表しました。実際に活用する中での工夫や課題を共有でき、チーム内でも改めて会話が生まれたのが良かったです。発表としてまとめる過程では、自分の知識の整理や理解の深まりにもつながり、有意義な機会になりました。

お二人共短い準備・発表時間だったにも関わらず、とても鮮度が高く、学びの多い時間となりました。他の方の登壇内容や感想についてもとてもよかったのですが、残念ながら紹介しきれない!是非カジュアル面談等で聞いてもらえれば嬉しいと思います。

聞いてみてどうだった?

では聞いた人はどうだったのかというと、

もっとこういう機会じゃなくてもやりたい

設計意図が知れたのでよかった

といった嬉しい意見が寄せられ、発表毎に用意した Slack も短い時間ながら多くの反応があり、盛り上がりを見せていました。

情報は鮮度が命情報は鮮度が命

ちなみに企画・運営メンバーである僕はタイムキーパーをやりながら聞かせてもらったのですが、特に nono さんの話を興味深く聞かせてもらいました。

理由は、当時自分が関わった設計・実装に対しての話だったから。いわゆる技術的な負債を作った側である自分としては耳が痛いところではあるのですが、今の解像度で捉えるとめちゃくちゃいい方針だなぁと思える内容ですし、僕の手を離れたプロダクトがみんなの力で成長している様子を知ることができ、とても嬉しい気持ちになりました。

この nono さんの話は、別の Nstock Tech Blog や社外のイベント等でもお伝えしていく機会がありそうとのことなので、お楽しみに!

改めて、登壇頂いた皆さん、ありがとうございました!

象・死んだ魚・嘔吐

続けて、「象・死んだ魚・嘔吐」です。これは振り返り手法の一種で、

  • 口に出さないけれど全員が知っている真実 -> 象
  • 一見うまくいっているが、ほっておくと事態が悪化しかねないこと -> 死んだ魚
  • ぶっちゃけ -> 嘔吐

と、話す内容にラベルをつけ、普段は話しづらいことや見過ごされている問題を詳らかにし、信頼関係を強化することを目的とするもの。Airbnb の共同創業者ジョー・ゲビアが提唱した手法だそうなのですが、日本語に訳すると結構仰々しい名前ですね。。。

ちなみにこれ、前回のエンジニア合宿でもやった内容なのですが、今回は人数が増えたこともあり、4〜5名の小さな集まりに分けることで全員が話せるような形式としました。また重たい内容を含む可能性もあるため、議事を取ったり集まりで話した内容を全体に共有することはせず、差し支えない範囲で付箋に記入し、後で閲覧時間を設けるという軽い運用としました。

どんな内容があった?

全体に共有しないということは、ここでその内容を紹介するのは難しいということです。とはいえ、どんな話がなされたのか気になるのが人の性。というわけで、ここでは僕がどんな話をしたのかを、ちょっとだけご紹介したいと思います。

僕は「意思決定に孤独さが伴う」という嘔吐をしました。

僕は Nstock に入社した1人目のエンジニアで、株式報酬 SaaS を担当した後、スタートアップのための非上場株式の取引所立ち上げの担当に移った経緯があります。

また、移ってしばらくして、ソフトウェアエンジニアとしての役割からも離れ、ITガバナンス、セキュリティ、QAといった、いわゆる「守り」の領域を担当することに。

そこに正解があればいいのですが、誰も答えを持っていないなんてこともザラ。それでも決めて、進めなきゃいけない。おこがましい表現ではありますが、要は自分が「ラストマン」なわけです。

みんなに信頼されて任せてもらっているのはありがたい。でも、怖さがあるのも分かってほしい。そんな話をしました。

事業とかプロダクトという観点ではなく、個人的かつ感傷的な話にしてしまったのですが、それを暖かく受け入れてくれたみんなにはとても感謝しています!

そんな風に、最初は恐る恐るだった話っぷりも徐々に盛り上がっていき、終わった後はスッキリした気分になったり、その後の新しい交流(1on1やりましょう!とか)につながったりと、とても有意義なものになったのがこの場面でした。

象・死んだ魚・嘔吐の一場面人形を持っている方が話し手です

OST

象・死んだ魚・嘔吐を通じて自己開示しやすくなった後は、OST の時間です。

OST は、Open Space Technology の略で、参加者自身が話したいテーマを持ち寄り、自由に議論するというものです。今回は1セッションあたり25分、4テーマを並行させることとし、2セッションで合計8テーマの枠を用意しました。

枠は早いもの勝ちで、その場でテーマを募ります。また、基本的にテーマを出した人がセッションを運営しますが、テーマ間の移動は自由。必ずしもテーマを採用された人が進行しなければならないというルールはありません。

どんなテーマがあったか

では実際に挙がったテーマやその内容を見ていきましょう。

  • 生成 AI を導入してるけど、あんまり開発が楽になってなくない?
  • 技術的な内容やプロダクトのアーキテクチャ、どうやってキャッチアップしてる?
  • エンジニア採用をどうやって加速させたらいい?

といった、技術や組織に関する話だけではなく、「家を買いたいんだけどどうしたらいい?」といったテーマもありました。名前に Technology とありますが、技術的な内容とは限らなくていい手法なんですね。

ちなみに僕は「エンジニアの異動について」というテーマに参加しました。

僕自身がそうであったように、Nstock では担当するプロダクトが変わることがあります。今の Nstock では、人事やマネージャがそれを決めるといったことはなく(そもそもマネージャがいない)、自らもしくはみんなで話して決めていくことが多いのですが、

  • 強制的な異動を実施すべきか
  • 異動による全体の知識・経験共有と一時的な生産性の低下をどう捉えるか

といった議論まで踏み込みながら、このテーマを話すことができました。

今回の OST は答えを出したり方向性を見出すことを目的としていたわけではないのですが、こういったテーマが施策や課題として顕在化してきた際にも参考になりそうなくらい、Nstock「らしさ」を考えるいい機会になったと思います。

振り返り

メインコンテンツを終えた最後は全員での振り返りです。全員が気持ちいい疲労感に包まれる中、参加者が付箋に振り返りを記載し、ホワイトボードにあらかじめ用意した 😄 🙂 😐 😖 の周辺に貼り付けていきます(ハピネスドアというらしいです)。

これまで触れてこなかった内容をいくつかご紹介すると、

拡散しっぱなしでよい機会はなかなかないので思考のバランスを逆に整えられたと思う

思ったより Give できることがあってよかった

といったポジティブな意見や、

ちょっとコンテンツに対し時間に追われた感じがした

といった今後の開催に向けて改善が必要なありがたい意見などがありました。振り返りというとネガティブなことを取り上げがちですが、好意的な意見をとても多く頂けたのは企画・運営メンバーとして嬉しい限りですね。

ハピネスドアドアじゃなくてもいいんです

懇親会

振り返りでいわゆる真面目なコンテンツを終えた後は、居酒屋に場所を変えて懇親会。こちらは都合がつかず参加できなかった方もいらっしゃったので特に企画は用意せず、近くの席になった方と楽しくお話して盛り上がりました。

その後オフィスに戻って2次会を続けた方もいらっしゃったようです(まれによくある)。

まとめ・今後に向けて

最後に少しだけ、開催後に企画・運営メンバーで実施した振り返りの話を共有して、この記事を締めくくりたいと思います。

何より、当初エンジニアオフサイトを実施するにあたり掲げていた

  • 他の事業・プロダクトに関する「技術動向やこれまでの背景を知る」
  • ふだん言語化しきれない「モヤモヤを共有する」
  • チームや技術の「将来の話をする」

という意義が、かなり達成できたのではと思います(手前味噌ではありますが)。

あわせて、またやりたい、準備・進行がスムーズだったという声も頂けたので、より頻度を増やしたり、
特定の深いテーマで分化させたりといった取り組みにもつなげていきたいと思います。それには、企画・運営の型化やメンバーの入れ替えなんかも効果的かもしれないですね。

いかがだったでしょうか?

Nstock には、企画・運営のみならず参加者としても、積極的に関わってくれるエンジニアが多く集まっているということを感じて頂けたかと思います。もちろん Nstock では今後も、定期・不定期を問わず、エンジニアがオフサイトを通じて同じことに向き合う時間・場を設けていく予定です。

フルリモートで接点が少なくて物足りない

自己開示や対話を通じて成長していきたい

という方にはちょうどよい環境かなと思うので、そのような方は是非、Nstock のドアを叩いてみて欲しいです。お待ちしています!

Nstock Tech Blog

Discussion