> For the complete documentation index, see [llms.txt](https://docs.wantedly.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wantedly.dev/readme.md).

# Wantedly Engineering Handbook

新しくウォンテッドリーの開発チームに参加する人向けのドキュメント集です。社内のエンジニアが知るべき情報のうち外部にも公開できる情報を体系的にまとめたものです。

入社前後のフルタイムの社員が一番の想定読者です。ハンドブックの内容はインターンや採用選考を受けている人にも役に立つことを期待しています。また、PDF 形式の電子書籍およびオンラインドキュメントとして広く一般公開しています。1 年に 1 度、物理書籍としても印刷し社内外に配布します。

## 入手

* [🌏 公開版 PDF (技術書典)](https://techbookfest.org/product/4831016940208128?productVariantID=4856256852393984)
* [🔒 社内版 PDF (internal)](https://github.com/wantedly/dev/releases)
* [🌐 Web 版](https://docs.wantedly.dev)
* [📚 過去の TechBook](https://drive.google.com/drive/folders/1sY2eF93rTaNkQeqIgtnNZntXpUueQ5DZ)

## 関連資料

* [📊 Wantedly の開発チームをよく知ってもらうための 2W1H](https://speakerdeck.com/wantedly/for-engineers)
* [🎤 登壇資料一覧](https://wantedlyinc.com/ja/presentations)
* [🎧 Podcast](https://anchor.fm/wantedly-dev)
* [🍿 YouTube](https://www.youtube.com/channel/UCj1HXgKShVMrIn9EFetN7jw)
* [🛋 Blog](https://www.wantedly.com/stories/s/wantedly_engineers)
* [🇬🇧 Blog (English)](https://medium.com/wantedly-engineering)
* [🇬🇧 Blog (English - dev.to)](https://dev.to/wantedly)
* [💬 Twitter](https://twitter.com/wantedly_dev)
* [🏫 wantedly/learning-resources](https://github.com/wantedly/learning-resources)
* [📚 dev-docs (internal)](https://dev-docs.wantedly.com)
* [🔰 ウォンテッドリー入門 (internal)](https://dev-docs.wantedly.com/beginners/)
* [📚 Confluence (internal)](https://wantedly.atlassian.net/wiki/home)

## Dashboards

* [Looker (internal)](https://wantedly.jp.looker.com)
* [SLO/SLI (internal)](https://slo-dashboard.internal.wantedly.com/)
* [Argo CD (internal)](https://argo-cd.internal.wantedly.com/)
* [Argo Workflow (internal)](https://argo.wantedly.com/)
* [Loki (internal)](https://loki.wantedly.com/)
* [Datadog](https://app.datadoghq.com/dashboard/lists)

## 目次

* [まえがき](/preface.md)

### 第一部：開発チームへの案内

* [技術とアーキテクチャ](/introduction/technical-overview.md)
* プロダクト概要(未執筆)
* [アプリを提供するプラットフォーム](/introduction/apps_platforms.md)
* [開発チームの構造](/introduction/dev-org.md)
* [コミュニケーションの全体](/introduction/communication.md)
* ドキュメンテーション(未執筆)
* [カレンダー](/introduction/calendar.md)
* [障害対応の心構え](/introduction/incident.md)
* [効率的な社内知識の調べ方](/introduction/catching-up-on-in-house-knowledge.md)
* [外部発信](/introduction/outreach.md)

### 第二部：技術領域への案内

* Frontend
  * [Web アプリのアーキテクチャ](/fields/frontend/frontend-architecture.md)
  * [Web アプリのデザインシステムライブラリ](/fields/frontend/design-system.md)
  * [Web アプリ共通ライブラリ "React Shared Component" の紹介](/fields/frontend/react-shared-components.md)
* Mobile
  * [モバイルネイティブアプリについて](/fields/mobile/mobile-native-app.md)
    * [iOS](/fields/mobile/mobile-native-app/mobile-ios.md)
    * [Android](/fields/mobile/mobile-native-app/mobile-android.md)
    * [Kotlin Multiplatform (KMP)](/fields/mobile/mobile-native-app/mobile-kmp.md)
* Backend
  * [protobuf スキーマと gRPC 通信](/fields/backend/apis.md)
  * [実践: gRPC in Ruby](/fields/backend/grpc-in-ruby.md)
  * [実践: gRPC in Go](/fields/backend/grpc-in-go.md)
  * [GraphQL Gateway - アプリ向けに API を公開する](/fields/backend/graphql-gateway.md)
  * [Wantedly Visit で BFF GraphQL サーバーを辞めた理由](/fields/backend/history-of-graphql.md)
  * 実践: GraphQL スキーマ設計(未執筆)
  * [API での認可処理 (Authorization)](/fields/backend/authorization.md)
  * [マイクロサービス共通ライブラリ "servicex" の紹介](/fields/backend/servicex.md)
  * [CronJob](/fields/backend/cronjob.md)
  * 非同期メッセージング処理入門(未執筆)
  * バッチ処理入門(未執筆)
* Infrastructure
  * [Infrastructure Squad](/fields/infrastructure/infrastructure-squad.md)
  * [プロダクト開発のための Kubernetes 入門](/fields/infrastructure/kubernetes-introduction.md)
  * [インフラ構成概要](/fields/infrastructure/infrastructure.md)
  * [インフラ構成の変遷](/fields/infrastructure/infrastructure-history.md)
  * [リリース・デプロイ戦略を支える技術](/fields/infrastructure/deploy-strategy-implement.md)
  * [トラブルシューティング: 何を見たいときに何を使うか](/fields/infrastructure/troubleshooting.md)
    * [Honeybadger](/fields/infrastructure/troubleshooting/honeybadger.md)
    * [Datadog](/fields/infrastructure/troubleshooting/datadog.md)
* Data
  * [データ基盤入門](/fields/data/data-infra.md)
  * [レコメンデーション](/fields/data/recommendation.md)
  * [Looker 入門](/fields/data/looker.md)
  * [推薦システムの開発に使っているツール](/fields/data/ds_tools.md)
* [デザインシステム入門](/fields/design-system-for-non-designers.md)
* [開発プロセス](/fields/dev-process.md)
  * [Git の慣習](/fields/dev-process/git-convention.md)
  * [Pull Request の書き方](/fields/dev-process/how-to-write-a-pull-request.md)
  * [ポストモーテムの取り組み](/fields/dev-process/post-mortems.md)
  * [負債返済日の取り組み](/fields/dev-process/fusai-hensai-bi.md)
  * [プロダクトの課題発見及び解決](/fields/dev-process/discovering-and-solving-service-issues.md)
  * [プロダクトデザイナーと上手に協働するための心得](/fields/dev-process/collaboration-with-designers.md)
  * [ソフトウェアデザインの基礎](/fields/dev-process/software-design.md)
  * [コーディング規約](/fields/dev-process/coding-rule.md)
  * [リリース・デプロイ戦略](/fields/dev-process/deploy-strategy-overview.md)
  * [上長承認が必要な作業](/fields/dev-process/approval.md)
  * [アーキテクチャディシジョンレコード(ADR)](/fields/dev-process/adr.md)
  * [作業ログを残す意味](/fields/dev-process/operation-log.md)
  * [多言語化対応(i18n)](/fields/dev-process/i18n.md)
  * [メール開発](/fields/dev-process/mail.md)
* [開発ツール](/fields/dev-tools.md)
  * [kube](/fields/dev-tools/kube.md)
  * [Code Coverage](/fields/dev-tools/code-coverage.md)
  * [Kubefork](/fields/dev-tools/fork.md)

### おわりに

* ロードマップ(未執筆)
* [Handbook の書き方](/postscript/guideline.md)
* [コントリビューター](/postscript/contributors.md)

#### 付録

* [社内用語集](/appendix/jargon.md)
* 主要な GitHub リポジトリのリスト(未執筆)
* 今後の挑戦・未解決イシュー(未執筆)
* プロダクト開発組織のバリュー(未執筆)
* 採用についての考え方(未執筆)

## コントリビューションガイド

ハンドブックは、継続的にチーム全員で更新していきます。特に、新人のみなさんの積極的な貢献を望みます。自分自身が困ったことや、ドキュメント不足に気づいた情報を、未来の仲間のために書き残してください。 既存の更新案は [Wantedly Engineering Handbook](https://github.com/orgs/wantedly/projects/115) で管理されています。

### 情報の追加・更新や誤字脱字

修正の pull request を歓迎します。[@engineering-handbook-editors](https://github.com/orgs/wantedly/teams/engineering-handbook-editors)にレビューをアサインしてください。

### 新しい記事の執筆

目次の中でリンクが存在しない記事は未執筆です。少しでも情報があれば助けになります。短い文章や、GitHub issue の抜粋でも構わないので、関連しそうな情報を教えて下さい。記事を書いて pull request をだすのも、もちろん歓迎です。

また、現時点で目次に含まれていないトピックに関しても、新しい記事の提案を歓迎します。気軽に[issue](https://github.com/wantedly/dev/issues?q=is%3Aissue+is%3Aopen+label%3AHandbook)を作成してください。

新しい記事を作成し、書籍版に含められる内容になったら、[catalog.yml](https://github.com/wantedly/dev/blob/master/handbook/catalog.yml)に追加してください。

Web 版の目次に載せる場合は [SUMMARY.md](https://github.com/wantedly/dev/tree/gitbook/docs/handbook/SUMMARY.md) に追記した上で `ruby docs/handbook/gen-readme-toc.rb` を実行し、この目次に反映させてください。

書籍版にまだ含めない場合は、記事の先頭に `<!-- toc-skip: book (理由) -->` を追加してください。Web 版にもまだ載せない場合は `web` も追加できます (例: `<!-- toc-skip: web, book (理由) -->`)。理由は必須です。

記事の文章フォーマットに関しては、[Handbook の書き方](/postscript/guideline.md)を参照してください。
