# プロジェクト概要
- B2B SaaSプロダクト企業の開発組織において、機械学習エンジニア・ソフトウェアエンジニアとしてプロダクトの様々な機能の開発・運用を行う
- 組織全体のエンジニア採用
# チーム構成・役割
- エクストリームプログラミングというアジャイルソフトウェア開発の方法論を導入している100名弱ほどのエンジニア組織 (ソフトウェアエンジニア、機械学習エンジニア、SRE、テストエンジニア)
- ステークホルダーは主にプロダクトマネージャー、デザイナー、カスタマーサクセス、社内の業務エキスパートなど
- 4,5名のチームでプロダクトの各機能の開発
- 技術領域はフロントエンド、バックエンド、インフラ(SRE領域・IaC・CI/CD)、機械学習、運用
- デザイナーやPdMと一緒にプロダクトの機能を考えたり、チームや組織作りに貢献することも職責
- 全員がリーダーという位置づけで、プロダクト作りやチームビルディングに必要なことをやる
# 技術要素
- 言語: Kotlin, Python, Rust, F#, Dart, Java, TypeScript, Go
- CI/CD: Buildkite, Argo CD, GoCD, Jenkins, AWS CodeBuild, CodePipeline GitHub Actions
- Container PaaS: GKE, ECS
- Kubernetesスタック: Helm, Skaffold, Argo Rollouts, Istio
- IaC: Terraform, Ansible
- Observability: Datadog, Google Cloud Logging
- ミドルウェア: MySQL, PostgreSQL, ElasticSearch, GCS, S3
- 開発プラクティス: ドメイン駆動設計, テスト駆動開発, ペアプログラミング, トランクベース開発, マイクロサービス・マイクロフロントエンド設計, など
# 成果
- 自分が開発した機能でプレスリリースが出たり、ユーザーフィードバック、売上につながったりする達成感や、PdM・デザイナーと共に喜びを分かち合えたこと
- 大規模なプロダクトを経営戦略に沿ってアジャイルに開発し続けるための技術や組織に対する目線を養えたこと
- チームに奉仕する姿勢やコミュニケーション・リスペクトを大切にする姿勢を持てるようになったこと
- ソフトウェア技術・設計スキルの向上