0. Welcome
このハンドブックは、私たちのエンジニアリング文化を内外に伝えるためのものです。
エンジニアリングは単なる技術や手法の集合ではなく、顧客に価値を継続的に届けるための仕組みと姿勢の上に成り立っています。
ここにまとめる内容は、新しく加わる仲間にとっては道しるべとなり、既存メンバーにとっては立ち戻る拠点となり、外部の方々にとっては私たちの姿勢を知る窓口となるものです。
ただし、これは固定的な規範ではなく、常に見直し、改善し続ける「進化するドキュメント」です。
1. Vision, Mission, Value
Vision
日本の IT を再起動する“最高のチーム”となる
Mission
デザインとテクノロジーの力で、日本を再び競争力のある国にする
Value
- Be modern, Be standard ― 先端を捉え、新しい標準をつくる
- One for all, All for one ― チームで最大の成果を出す
- 顧客に価値を届ける ― 利用者の課題に誠実に向き合う
- プロとしてのこだわり ― 高い技術と姿勢を市場に示す
2. Our Engineering Culture
私たちのエンジニアリング文化は、単なる技術やプロセスの選択にとどまらず、「利用者にとって意味のある価値を確実に届けること」を中心に据えています。
この文化は、アジャイルソフトウェア開発宣言とその背後にある 12 の原則、そしてソフトウェアクラフトマンシップ宣言に強く影響を受けています。 私たちはこれらの考え方を現代的に実践し、日々の開発活動における判断基準としています。
コアとなる姿勢
1. 顧客価値を最優先にする
- 技術や手法は目的ではなく、価値を届けるための手段。
- 成果物は「プロジェクト完了」ではなく「顧客に価値が届いたとき」に初めて成立する。
2. 変化に柔軟に対応する
- 要件や環境は常に変化する前提で設計・実装を進める。
- 計画よりも適応力を重視し、より良い選択肢があれば柔軟に方向転換する。
3. 小さな改善を積み重ねる
- 大規模な一括導入よりも、持続可能な改善を小さく早く回す。
- 継続的デリバリーを前提とし、CI/CD を積極的に導入。
- デプロイは属人化を排除し、誰でもリリースできる仕組みを整備。
4. 協働と透明性を重んじる
- 情報は原則オープンチャンネルで共有し、意思決定の背景も可視化する。
- リモート環境でもいつでもハドルできる文化を持ち、距離や立場を障壁にしない。
- フィードバックを恐れず、相互の信頼を前提とした建設的なやり取りを行う。
行動指針
-
ドキュメントとレビューを資産化する 知識や意思決定は属人化させず、チームの財産として残す。
-
CI/CD の積極的導入 デプロイを自動化し、誰でもリリース可能な仕組みを整備することで、価値提供を止めない。
-
透明性あるコミュニケーション Slack のオープンチャンネルを基本とし、立場や役割を問わず自由に意見交換できる。
-
小さな挑戦を推奨する 新しいツールや手法を小規模に試し、学びを広げる文化をつくる。
-
リモートでも即時協働 ハドルを活用し、物理的な距離に左右されないコラボレーションを実現。
私たちが大切にしている価値観
- 信頼:オープンな情報共有と責任ある行動で信頼を築く。
- 学習:挑戦と振り返りを通じて常に成長する。
- 協働:一人の成果よりも、チーム全体での最大の価値提供を目指す。
- プロフェッショナルとしての姿勢:クラフトマンシップの精神に基づき、「動くソフトウェア」だけでなく「よいソフトウェア」を目指す。
3. How We Work
私たちの仕事の進め方には決まった型はありません。
プロジェクトの性質や顧客の状況に合わせて、最適なアプローチを柔軟に選びます。
ただし、透明性・対話・改善という共通の姿勢は常に貫きます。
プロジェクトの進め方
アジャイル型
- 短いサイクルで成果を積み重ね、顧客と共に価値を創り出す。
- フィードバックを迅速に取り入れ、方向性を微調整する。
- チーム全体で「完成したプロダクト」より「継続的な学びと改善」を重視する。
ウォーターフォール型
- 要件を明確に固め、計画に基づいて段階的に進める。
- 大規模システムや外部との調整が必要なプロジェクトに適する。
- 計画の厳守だけでなく、合意形成や品質保証のプロセスを重視する。
ハイブリッド型
- 外部にはウォーターフォールの計画性を示しつつ、内部ではイテレーションを回す。
- 顧客やステークホルダーとの調整を円滑にしながら、柔軟性とスピードを確保する。
- 実際の開発チームは小さく早い改善を重ねつつ、透明性ある報告を行う。
共通して重視すること
1. 透明性の高い情報共有
- プロジェクトの進捗・課題・リスクを隠さず共有する。
- ダッシュボードやドキュメントを活用し、誰でも状況を把握できる状態を保つ。
- 不確実性や懸念点も率直に表明し、早期に対応する。
2. 建設的な対話
- 意見の違いは衝突ではなく、より良い成果を生むためのきっかけと捉える。
- 課題の指摘だけでなく、代替案や改善提案をセットで共有する。
- ミーティングでは「発言のしやすさ」を大切にし、役割や立場にかかわらず発言を歓迎する。
3. フィードバックによる改善
- 成果物やプロセスについて定期的に振り返る。
- 「うまくいったこと」「改善できること」を明文化し、次に活かす。
- 成果だけでなく学びをチームの資産として残す。
活用する仕組み
- コードレビュー:品質向上だけでなく、知識共有と相互学習の場として活用する。
- ADR(Architecture Decision Record):重要な意思決定の背景を記録し、将来の判断に役立てる。
- ドキュメント共有:情報を属人化させず、組織全体の資産として残す。
4. Engineering Practices
私たちが共通して重視しているエンジニアリングの実践は、単なる技術的手段ではなく、品質・スピード・信頼性を両立し、顧客に価値を継続的に届けるための基盤です。
ここで紹介するプラクティスは、私たちのプロジェクトを支える柱であり、また日々進化し続ける領域でもあります。
CI/CD・IaC
-
CI/CD
- 継続的インテグレーションとデリバリーにより、素早いリリースと高品質を両立。
- 小さな変更を頻繁にリリースすることでリスクを低減し、顧客への価値提供を加速する。
-
IaC(Infrastructure as Code)
- インフラ構成をコード化することで、再現性・透明性・自動化を実現。
- 環境差異によるトラブルを減らし、チーム全体で同じ基盤を共有する。
具体例:私たちの基本パターン
- インフラ管理:AWS CDK によりインフラ構成をコード化。
- 実行環境:アプリケーションはコンテナ化し、Amazon ECS 上で稼働。
- デプロイメント:
ecspresso
を活用し、ECS へのデプロイを自動化。 - CI/CD:GitHub Actions と組み合わせて、PR マージ後に自動的にデプロイが走る仕組みを構築。
この流れにより、環境差異や属人性を排除し、小さな変更を迅速にリリースできる体制を確立しています。
アプリケーション構成
私たちが多くのプロジェクトで採用しているアプリケーションの基本構成は以下の通りです。
-
フロントエンド
- React / Next.js を中心としたモダンな SPA / SSR 構成。
- UI/UX を重視し、デザインとエンジニアリングを一体化して開発。
-
バックエンド
- プロジェクト特性に応じて PHP / Laravel、Golang、またはフル TypeScript 構成を選択。
- 認証、API 提供、管理画面といった役割を担う。
-
共通の特徴
- API は REST / GraphQL をプロジェクトごとに選定。
- インフラはコンテナベース(Amazon ECS 上で稼働)。
- 開発体験(DX)を重視し、型安全性やコード自動生成の仕組みを積極的に導入。
標準構成をベースにしつつ、プロジェクトごとに必要に応じた技術選定や拡張を柔軟に行っています。
Observability
システムの状態を可視化し、「何が起きているのか」だけでなく「なぜ起きているのか」を理解することを重視しています。
具体例
- アプリケーションレベル:Sentry を用いてエラーを可視化し、スタックトレースやユーザー影響範囲を把握。
- インフラレベル:Amazon CloudWatch によるログ・メトリクス監視を行い、リソース利用状況や異常値を検知。
- チームへのフィードバック:監視データをダッシュボード化して共有し、障害対応の迅速化や再発防止につなげています。
セキュリティ・プライバシー
セキュリティは「後追いで追加するもの」ではなく、設計段階から組み込むものと考えています。
具体例
- 静的解析:依存関係の脆弱性診断やコード品質のチェックを実施。
- 新しい取り組み:SonarQube の導入を検討中。コードレビューや CI に統合し、セキュリティと品質を両面から担保していく。
- 基本方針:法令遵守だけでなく、ユーザーからの信頼を守ることを最優先に据えています。
AI 活用
私たちは AI 駆動開発(AI-Driven Development) を推進しています。 AI を「単なる補助的な存在」ではなく、要件定義から設計・実装・テスト・ドキュメント化に至るすべてのフェーズに組み込むことを是としています。
具体例
-
ワークフローの中心
- Cursor を中核とし、SpecKit や MCP を活用した開発フローを整備。
- 要件整理 → 設計 → 実装 → レビュー → ドキュメント化まで、AI が伴走する体制を構築。
-
幅広いツール評価
- ClaudeCode, Codex, GitHub Copilot など多様な AI ツールを研究・評価。
- 開発プロセスのどの部分で最も効果を発揮するかを検証し、成果を組織内で共有。
-
目指す姿
- 単に開発効率を高めるのではなく、新しい働き方のスタンダードを築くこと。
- AI 活用を通じて、チームがより創造的な課題解決に集中できる環境をつくり、顧客に提供する価値を最大化します。
5. Growth & Career
私たちは、エンジニア一人ひとりの学びと成長を大切にしています。 成長は単にスキルを習得することではなく、チームや組織の価値提供を高めることと表裏一体です。
そのために、私たちは「学び続ける文化」と「多様なキャリアパス」を支える仕組みを整えています。
成長の考え方 ― 守破離
- 守:まずは基本の型を学び、確実に実践できるようにする。
- 破:次にその型を打ち破り、よりよい方法を探る。
- 離:最終的には自分自身のスタイルを築き、チームや組織に新しい価値をもたらす。
この考え方は、技術の習得に限らず、プロジェクトの進め方やチームのあり方にも応用されます。
知識共有
-
社内向けアウトプット
- Docbase をナレッジ共有のプラットフォームとして利用。
- NDA に関わる内容や顧客固有の事案も安心して書ける環境を整えており、メンバーが任意に学びや気づきをアウトプットできる。
- コードレビューやペアプロも「指摘」ではなく「相互学習」として位置づけ、日常的に知識を循環させている。
-
社外向け発信
- Tech Blog を運営し、プロジェクトで得られた知見や検証結果を社会に還元。
- カンファレンス登壇や記事執筆も積極的に奨励し、エンジニア自身の成長と組織のプレゼンス強化につなげている。
多様なキャリアパス
-
Chapter(専門性ごとの横断組織)
- 技術領域や役割ごとに知識を深め、横のつながりを強化する。
-
Stream Aligned Team(顧客価値に直結するチーム)
- プロダクトやサービスの成長に直接貢献する。
-
Platform Team(開発基盤を支えるチーム)
- 共通基盤やツールを整備し、他チームの生産性を高める。
これらのキャリアは一方向ではなく、役割や関心に応じて柔軟に行き来できるのが特徴です。 実際に、フロントエンド領域で専門性を深めた後に Platform Team に異動して基盤開発を担うなど、幅広いキャリア展開が可能です。
成長を支える仕組み
- 1on1 ミーティング:キャリアや成長課題について継続的に対話する場を設け、月 2 回程度実施。
- 評価とフィードバック:成果だけでなく、学びやチャレンジの姿勢も評価。
- 外部発表や OSS 活動:組織外への発信を奨励し、カンファレンス登壇・Qiita や Zenn 執筆・OSS コントリビューションを通じてさらなる成長を促す。
6. For Candidates
私たちは、単なる「システム開発」を行うチームではありません。
「日本の IT を再起動する」 という挑戦に共に取り組む仲間を求めています。
ここでは、私たちがどのような人と一緒に働きたいかをお伝えします。
私たちが歓迎する人
- 技術と仕組みを通じて価値を生み出したい人
- 新しい技術やアプローチを単なる流行として捉えるのではなく、顧客への価値につなげられる人。
- チームで協力し、知識を共有する姿勢を持つ人
- 自分だけの成果にとどまらず、仲間と共に学び合い、組織全体の成長を支えられる人。
- 改善や挑戦を前向きに受け止められる人
- 不確実性や課題を成長の機会と捉え、新しい挑戦を楽しめる人。
私たちが提供する環境
- 挑戦できるフィールド
- 新しい技術・手法を試し、失敗から学べる環境。
- 学び合う文化
- 勉強会やレビューを通じて、常にスキルアップできる場。
- 多様なキャリアパス
- Chapter、Stream Aligned、Platform といった多様な役割を経験しながら成長できる。
- オープンな対話
- 役職や年次に関係なく、率直に意見を交わせる文化。
メッセージ
私たちと共に働くことは、単なるエンジニアリングの仕事以上の意味を持ちます。
それは、日本の IT を再起動し、社会に新しい価値を生み出す挑戦に参加することです。
もしあなたが、
- 技術で価値を届けたい
- チームで学び合い、共に成長したい
- 改善と挑戦を楽しみたい
そう思えるなら、私たちはあなたを心から歓迎します。