こんにちは、技術本部 Contract One Engineering UnitでAI契約データベース「Contract One」の開発をしている中川泰夫です。
私は2024年9月からContract One Devグループのマネジャーを担当してきました。マネジャーとして組織の立て直しに取り組む中で、社内ハッカソンの開催やエンジニアイベントの主催など、さまざまな成果を残すことができました。
しかし、Contract OneがPMF(Product Market Fit)を達成した今、私自身が発揮できる価値は現場でのプロダクト開発にあると確信しました。そのため、2025年5月をもってマネジャーを退任し、再びエンジニアとして現場での開発へ戻ることになりました。
この記事では、実際に体験したマネージャーからエンジニアへの転向について、どんな工夫をしてきたかを具体的な数字とともにお話しします。
エンジニアとして現場復帰する際に直面したのは、運用業務、採用業務、技術改善の並行作業という課題でした。
これまで担当してきたサブタスクがすぐになくなるわけではありません。同時に、エンジニアとしてのキャッチアップやプロダクト開発への貢献も求められます。
限られた時間の中で、多くの役割を効率的にこなし、Contract Oneの成長に貢献する。これは私にとって大きな挑戦でした。
この課題を解決するために、私はClaude Codeを活用したAIコーディングを取り入れました。
Claude CodeはAnthropic社が開発したAI開発支援ツールで、単なるコード生成ツールではありません。コードレビュー、リファクタリング、デバッグ、テスト作成まで、開発プロセス全体をサポートしてくれる強力なパートナーです。
特に効果的だったのは以下の活用方法です。
さらに工夫したのが、Container環境を活用した並列処理です。
当初はGit worktreesを使って並列でAIエージェントを動かしていましたが、以下の問題が発生していました。
これらの課題を解決するため、container-useを導入しました。
container-useは「一度に1つのエージェントを監視する状態から、複数のエージェントが安全かつ独立して作業できる環境を実現する」ことを目的としています。
Dagger(CI/CDパイプラインをコードで管理するプラットフォーム)と Git worktrees(同一リポジトリの複数ブランチを同時にチェックアウトする機能)を組み合わせた抽象化です。これにMCP(Model Context Protocol)サーバーとして動作し、AIエージェント用の分離された環境を生成します。
AIエージェントの作業領域をホストマシンではなく、独立したContainer環境で実行することで、以下のメリットを実現しました。
1. 前提条件の確認
container-useを使用するには、以下が事前にインストールされている必要があります。
2. container-useのインストール
詳細なインストール手順は公式インストールガイドをご参照ください。
3. AIエージェントとの統合設定
container-useはModel Context Protocol(MCP)を通じて、Claude Codeを含むさまざまなAIエージェントと統合できます。各AIエージェントごとの詳細な設定手順は公式エージェント統合ガイドをご参照ください。
4. gitignoreへの追加
Container環境固有の設定ファイルを除外。
# .gitignore.container-use/
Claude Codeのスラッシュコマンド機能を活用し、container-useの利用を任意選択できるようにしました。これにより、作業内容に応じて柔軟に Container環境を使い分けることが可能です。
# container-use Command (.claude/commands/container-use.md)container-use環境でのファイル操作、コード変更、シェル操作を実行するためのコマンドです。隔離された環境での開発作業を自動化します。## 入力-`$ARGUMENTS`: 実行したいタスクの説明(日本語)## 出力- Environment ID - 作業内容の詳細 - ログ確認とチェックアウト方法## 手順### 0. 前提条件確認1. container-useがインストールされているか確認2. インストールされていない場合は、以下を実行してインストールを促す- macOS:`brew install dagger/tap/container-use`- 他のプラットフォーム:`curl -fsSL https://raw.githubusercontent.com/dagger/container-use/main/install.sh | bash`- Claude CodeのMCPサーバー追加:`claude mcp add container-use -- container-use stdio`### 1. 環境準備1.`TodoWrite`ツールを使用してタスクリストを作成2.`mcp__container-use__environment_create`で新しい環境を作成3. 必要に応じて`mcp__container-use__environment_add_service`でサービスを追加### 2. 開発作業実行1.`mcp__container-use__environment_file_read`でファイル内容を確認2.`mcp__container-use__environment_file_write`でファイルを編集3.`mcp__container-use__environment_run_cmd`でコマンドを実行4. 必要に応じて`mcp__container-use__environment_file_list`でディレクトリ構造を確認### 3. 結果確認1. 作業完了後、Environment IDを提供2. ログ確認方法を説明:`container-use log <env_id>`3. チェックアウト方法を説明:`container-use checkout <env_id>`## エラーハンドリング### container-use未インストール時の対応1.`mcp__container-use__*`ツールでエラーが発生した場合2. 以下のメッセージでインストールを促す:```container-useがインストールされていません。以下のコマンドでインストールしてください。macOS: brew install dagger/tap/container-use他のプラットフォーム:curl -fsSL https://raw.githubusercontent.com/dagger/container-use/main/install.sh | bashClaude CodeのMCPサーバー追加:claude mcp add container-use -- container-use stdio詳細は公式ドキュメントを参照してください:https://github.com/dagger/container-use```### 環境作成エラー時の対応1. 権限エラーや依存関係エラーが発生した場合2. ユーザーに具体的なエラーメッセージと解決方法を提示3. 必要に応じて代替手段を提案## 必須ルール**ALWAYS use ONLY Container-use Environments for ANY and ALL file, code, or shell operations—NO EXCEPTIONS—even for simple or generic requests.****DO NOT install or use the git cli with the environment_run_cmd tool.****You MUST inform the user how to view your work using `container-use log <env_id>` AND `container-use checkout <env_id>`.**
スラッシュコマンドを使用することで、以下のように簡潔にcontainer-use環境での作業を指示できます。
/container-use Protocol Bufferの再生成を実行して
このコマンドにより、隔離された環境で自動的に以下の処理が実行されます。
なお、Container環境特有の運用上の考慮点もありました。
.gitignoreでの除外が必要特に、各エージェントが独自の環境を持つことはcontainer-useの核となる機能です。これにより複数のエージェントは互いに干渉することなく並列作業が可能になります。
この仕組みにより、他の作業を進めながら、バックグラウンドでコーディング作業を並列実行できるようになりました。
私自身の開発活動を分析したところ、マネジャーからエンジニアへの転向前後で劇的な変化が確認できました。

これらの数値は、AIコーディングとContainer環境による並列処理が、限られた時間でも高い開発生産性を実現していることを示しています。
エンジニアとして現場に戻った今、私の目標は明確です。Contract Oneを ARR10億規模まで成長させ、いずれはSansanやBill Oneに続く第3の事業の柱として決算資料に載せられるレベルまで育てることです。
AIコーディングと並列処理を武器に、開発スピードと品質の両立を実現し、プロダクトのエッジをさらに尖らせていきます。
また、これらの取り組みは私個人に留まらず、開発組織全体でもAI駆動開発を推進しています。毎日のように新しい取り組みが生まれており、メンバー間でのナレッジ共有が活発に行われています。
現在、「LLM Week」という組織全体でコードやドキュメントをすべてAIに書かせる取り組みを実施しており、組織全体のAI活用レベル向上を目指しています。Claude Codeだけでなく、CodeRabbit(AI コードレビュー)、GitHub Copilot、Notion AI、Figma Code Connectなど、様々なAIツールを組み合わせて開発プロセス全体を最適化しています。
PMF達成後の成長フェーズでは、一人ひとりがより高い生産性で価値を生み出すことが求められます。AIコーディングは、そんな時代の強力な武器になると確信しています。
重要なのは、AIに仕事を奪われるのではなく、AIを活用して自分の能力を拡張することです。私たちエンジニアの本質的な価値は、技術を使って事業課題を解決することにあります。
本記事では、マネジャーからエンジニアへの転向という挑戦を通して、以下の取り組みをご紹介しました。
Contract Oneの成長と共に、私自身もエンジニアとして新たな挑戦を続けていきます。同じようにキャリアの転換点にいる方、AIコーディングに興味のある方、ぜひ一緒にこの成長の旅を楽しみましょう。
Contract Oneで一緒に働きませんか
PMF 達成後のグロースフェーズで、あなたの力を発揮してください。
© Sansan, Inc.
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。