- 担当業務
- ドメイン駆動設計を用いたサービス全体の要件定義・設計
- Scala × PlayFreameworkを使ったWebAPIアプリ&バッチアプリの開発
- TypeScript × Angular2を使ったSPAアプリの設計・開発
- SASSを使ったフロントエンドのデザイン全般
- 新卒エンジニア戦力化のための教育・指導
- Docker + Kubernetesを使ったGCPにおけるサーバ運用
- TerraformとAnsibleを使ったインフラ(GCP)の環境運用
- 役割
- エンジニア
- 習得スキル
- ドメイン駆動設計とScalaを組み合わせた実装ノウハウ
- TypeScript × Angular2を用いたサービス開発知識
- Docker + Kubernetesに関するサービス運用知識
- Terraform、Ansibleなどのサーバ構築自動化ノウハウ
- コメント
- 仕様があいまいな状態でプロジェクトがスタートした案件だったので、ディレクターの方と密にコミュニケーションを取り、サービスイメージを要件に落とし込み、要件からドメインや仕様を定義していきました
- フロントエンドの技術選定も担当し、少ないメンバーでもスピードと保守性を両立できるTypeScript × Angular2を採用することを決めました
- チームが少人数だったこともあり、バックエンドからフロントエンド、インフラまですべての開発を担当しました
- 開発環境
- 言語: Scala, TypeScript(JavaScript), Python
- 設計: DDD(ドメイン駆動設計)
- DB: MySQL
- FW・ライブラリ
- バックエンド: PlayFreamework, SkinnyORM, Spec2(単体テスト), Angular2
- フロントエンド: Angular2, angular-cli, RxJS, Karma × Jasmine(単体テスト)
- サーバー: CentOS7(GCP), Docker, Kubernetes
- インフラ自動化: Terraform(GCP), Ansible, Fabric(Python)
- その他: Mackerel(サーバ監視), Bamboo(CI/CDツール), Bitbucket(Git), Jira(チケット管理), Conference(ドキュメント管理), Slack, IntelliJ IDEA