第5章:Spacely

Tony Duong

Tony Duong

6月 15, 20261

他の言語:🇫🇷🇬🇧
#career-story#career#personal#japan#tokyo#spacely#rails#aws#leadership#freelance
第5章:Spacely

Monstarlabでの最終出社日は12月15日あたり、クリスマスとお正月の直前だった。すぐに次のことに飛び込んだりはしなかった。その空白の時間を使った。

まずは、妻と彼女の地元・唐津で、義理の両親と一緒に過ごした時間。あの街が大好きだ——海沿いの、穏やかで静かな町で、しかも城がある。着いた瞬間に、脈拍がひとつぶん落ち着くような場所だ。

それから、前々からやってみたかったことをやった。東京から大阪までの自転車旅だ。一人で。とんでもない旅だった。途中、雪の中を走った区間もある——まったくの予定外だ。日本は山が多いし、いくつかの坂は本当にきつかったけれど、どういうわけか、どの坂も止まらずに登りきるエネルギーがどこからか湧いてきた。今でも、どうやってやり遂げたのか自分でもよくわからない。素晴らしい思い出だ。

そして東京に戻ってきて、僕はSpacelyに向かう準備ができていた。

バックエンドチームへの着任

僕はシニアバックエンドエンジニアとして入社した。バックエンドチームは4人のエンジニアで構成されていて、初日からみんな温かく、心から支えてくれた。彼らは僕のコーディング課題に感心したと言ってくれた——正直に言うと、あれには本当に全力を注いだ。

Spacelyが実際にどんな会社なのか、少しだけ。日本のB2BクラウドVRプラットフォームで、不動産・住宅業界の1000社以上に信頼されている。写真や3Dデータを、わずか30分ほどで没入型の360°パノラマVRコンテンツに変換できるサービスで、これによって顧客からの問い合わせ、ショールームへの来訪、そしてコンバージョンを促進できる。僕の仕事はプラットフォーム全体のバックエンド——すべてをスムーズに動かし続けることと、新機能を素早くリリースすることだった。

Spacelyに入ってほとんどすぐに感じたことがある。それは、それまでの6年間のエンジニア経験の果実だった。初めて、背伸びをしている感覚がなかった。引き込まれる仕事の範囲は広かったけれど、そのほとんどが、すでに自分の足元に地面がある領域に着地していた。

幅広い1年半

これがひとつの整然としたストーリーラインだったふりはしない。いろんな種類の仕事が、しばしば同時に進んでいて、その多様性こそが、僕がこの仕事を愛した理由だ。

PMたちと密に、定期的に会話しながら機能を作った。バックエンドの開発ワークフローそのものについても、十数通りの小さな形で取り組んだ——たとえばコーディングルールを定めたこと。それらは今、AIツールが従うように AGENTS.md ファイルの中に書かれている。ドキュメントをQiitaからNotionへ移行することも提案した。結果として、Notionは技術ナレッジベース全体を整理する場所として、はるかに優れた住処になった。

エネルギーの多くは、地味で、積み重なっていくものに注いだ。リファクタリング、コード品質の向上、読みやすくすること、みんなの日々を良くするツールの導入。1年半をかけて、同僚たちと一緒に、ワークフローのほぼすべての部分にAIを織り込んでいった——コードを書くことから、それを保守することまで。ひそかに誇りに思っていることがひとつある。プラットフォームが1日1万回以上実行しているコアジョブを、おおよそ4倍速くしたことだ。気になる人のために、これは詳しく記事にした——360°キューブマップ生成を約4倍速くした話

脆弱性診断プロジェクトもリードした——候補となるセキュリティ会社と話し、スコープを定め、実際に進める。これは意図的に自分から手を挙げた。コードベース全体を俯瞰する一番速いルートだと考えたからだ。僕はその視点を持つのが好きだ——自分がたまたま作業している隅っこだけでなく、コンポーネントが実際どう組み合わさっているのかを知ること。

Rails 7.1から7.2へのアップグレードは、同じ欲求を、しんどいやり方で満たしてくれた。うちはマルチデータベース構成を採用していて、このアップグレードは複数のデータベースにまたがる単体テストをたくさん壊した。かなりの時間がかかった——でもこういうタスクはコードベースのあらゆる部分に触れるので、終わるころには、以前よりずっと全体を理解していた。やる価値があった。

時間のかなりの部分は、インフラとシステム設計に費やした。ここでは、僕のAWS経験——そして認定資格の勉強で吸収したすべて——が何度も何度も活きた。普段からよく触れるサービスは、Step Functions、Lambda、API Gateway、ECS、そしてALBとVPCを使ったネットワーク層。それから、APIスペックの生成を自動化して、ソースコードから直接生成されるようにした。以前は別リポジトリで手作業で保守していた——作業量は倍だし、正確さを保つのも難しかった。ソースから生成すれば、構造上、信頼できるものになる。

そして僕はDatadogととても近しくなった——ログ、トレース、メトリクス。ダッシュボードを作り直し、50を超えるアラートを正規化した——その命名、メッセージ、runbookまで。地味な仕事だけど、これによって将来のインシデントが、ひとつひとつ静かに楽になっていく。

デバッグの面では——僕は本当にデバッグが好きなのだけど——Honeybadgerのアラートを、約1万件から300件未満まで2週間で減らした。これは、エンジニア以外の人に説明するのが難しいくらい、満足感のある仕事だった。

Jiraアプリも作った。これでようやく、信頼できるバーンダウンとベロシティチャートが得られるようになった。デフォルトのJiraでは、うちの要件を満たせなかった——DONEとして数えるべきステータスがたくさんあるのに、標準レポートではそう扱われないし、スプリントポイントも複数のJiraワークスペースにまたがって、それぞれ異なるカスタムフィールドに入っている。それらを正しく集約しない限り、開発チームが実際どのくらいの速度で進んでいるのか、正確に把握する方法がなかった。

Tech Leadになる

2025年12月、入社から10か月後、僕はTech Leadになった。これをこんなに楽しむことになるとは思っていなかった。

その一部は、わかりやすいものだった——新メンバーのオンボーディング、ミーティングのファシリテーション。でも僕はミーティングそのものにも手を入れた。不要な定例はできる限りすべて削り、週次の**「Product Dive」**をもっと活気あるものにしようと自分から動いた。これは、どのエンジニアでも、どんなに小さなことでも、自分が取り組んできたことを紹介できるミーティングだ。狙いは、お互いの仕事への意識を高め合い、知識を共有すること——というのも、僕らエンジニアはどうしても、自分のバブルの中に消えてしまいがちだから。小さな新しいボタンひとつでも、チームに知られる価値がある。今やっていることを伝えるデイリースタンドアップは今もあるけれど、誰かにきちんと説明してもらわないと、ある仕事を本当に理解することはできない。

会社の技術ブログにも4本の記事を書いた。そして——どうしても抑えられなくて——ブログ全体の新しいデザインをプロトタイプした。今のものはすごく2000年代っぽく感じるからだ。これがその提案。 ずっと素敵だと思うし、実際に会社について読んで知りたくなるようなものになっている。同僚たちはあまり乗り気じゃなかったので、僕は手放した。後悔はない——良い練習になったし、それ自体に価値がある。

そのあたりで、Spacelyから、日本で最も人気のあるエンジニア向け求人プラットフォームのひとつTokyoDevのインタビューで会社を代表してほしいと頼まれた。興味があれば、こちらがそのインタビュー

そして、その傍らで、僕はShirimono——日本語学習アプリ——を作り、Web版とモバイルアプリの両方をリリースした(App Storeはこちら)。作るのは本当に楽しかったし、無料なので、日本語を勉強している人はぜひ試してみてほしい。

…ずいぶん、たくさんだ。わかってる。すべてがまだあまりに新しくて、こうしてあふれ出してくる。Spacelyでの1年半は、3年か4年のように感じた——僕らは本当にたくさんのことをやったし、僕はそれを楽しんでやった。そしてその大半は、チームメイトのおかげだ。新しいアイデアにオープンで、限りなく支えてくれて、そして驚くほどの自由をくれたEM。

転機——フランスへ戻る

今は6月で、妻と僕はフランスに戻ることを決めた。恋しかった。家族が恋しかった。信じることを学んだあの落ち着かなさは、今回は別の会社ではなく、故郷を指していた。

そういうわけで、僕はSpacelyを正社員として退職した——すると彼らは、フランスからフリーランスとして引き続き一緒に働けるチャンスを提示してくれた。それには本当に感謝している。

Spacelyは、個人が本当に大切にされている会社で、それは肌で感じられる。とても多くの同僚が何か月もの育児休暇を取り、人々は恨みもなくお互いをカバーし合い、肝心な場面でちゃんと支え合っていた。これは小さなことじゃないし、当たり前のことでもない。誰にでも勧められる会社だ。

新しい章がフランスで始まる。でも、それはまだ僕が書いていないページだ。


成し遂げたこと

Spacelyでの期間に僕がやったことの、もう少し具体的な記録:

  • 4人のバックエンドチームにシニアバックエンドエンジニアとして参画(Ruby on Rails)。VRプラットフォーム全体のバックエンドを担当し、入社10か月でTech Leadに昇格(2025年12月)。
  • コアの本番ジョブを約4倍速くした——1日1万回以上実行されるCPU負荷の高い360°→キューブマップ変換を、共有のSidekiqワーカーから切り離してAWS Lambdaに移した。(詳しい記事はこちら。
  • Honeybadgerのエラーアラートを約1万件から300件未満まで削減——2週間の集中したバグ修正によって。
  • カスタムJiraアプリを構築——バーンダウンとベロシティチャート用。複数のDONEステータスと、複数Jiraワークスペースにまたがるスプリントポイントフィールドを集約。デフォルトのJiraでは設定できなかった。
  • 脆弱性診断プロジェクトを最初から最後までリード——セキュリティ会社の評価、スコープ定義、実施まで——一部には、コードベースを俯瞰する一番速いルートとして。
  • Railsを7.1から7.2へアップグレード——マルチデータベース構成全体にわたって行い、その過程で壊れた多くのクロスデータベーステストを修復した。
  • AWS上のインフラ・システム設計をリード——Step Functions、Lambda、API Gateway、ECS、そしてALB/VPCのネットワーク層——実地経験と複数のAWS認定資格を背景に。
  • APIスペックの生成をソースコードから直接自動化——別リポジトリで手作業保守していたスペックを、構造上信頼できるものへ置き換えた。
  • チームのコーディングルールを確立(現在は AGENTS.md ファイルに組み込まれている)し、コードを書くことから保守することまで、開発ワークフローのほぼすべての段階にAIを織り込む手助けをした。
  • チームのドキュメントをQiitaからNotionへ移行し、技術ナレッジベースにより整理された住処を与えた。
  • Datadogのオブザーバビリティを刷新——ダッシュボードを作り直し、50以上のアラートの命名、メッセージ、runbookを正規化した。
  • Tech Leadとしてチームのミーティングを再構築——不要な定例ミーティングを削り、週次の「Product Dive」知識共有セッションを活性化した。
  • 会社の技術ブログに4本の記事を執筆し、ブログ全体のリデザイン案をプロトタイプとして提案した。
  • TokyoDevのインタビューでSpacelyを代表——日本を代表するエンジニア向け求人プラットフォームのひとつ。

🌐 Claudeによる翻訳

Tony Duong

著者: Tony Duong

デジタル日記。思考、経験、そして人生についての考え。