開発ポリシー
私たちは次の三つを大事にしています。
01 テストとレビュー
私たちは単体テストとコードレビューを欠かしません。
システムに改修と機能追加はつきものですが、テストが無く、コードや設計も良くない場合、これがいつまでも行える物ではないということは意外と認識されていません。
私たちはテストを実装し、レビューを行い、リファクタリングを続けることで品質を維持することを目指します。
具体的施策
- 新卒研修にTDD研修を追加
- GitLabを採用し、プルリクエストによりレビューを実施
02 スクラム
私たちはスクラムでぺース管理を行っています。
スクラムはチームの状態を浮き彫りにし、まだ顕在化していない課題までを検知できるため、より早期の問題解決が可能となります。拙い計画管理のため、エンジニアだけに不当に負荷がかかり、健康を害してしまう、などという事態を起こさないよう努めています。
具体的施策
- スクラムマスターはScrum Alliance®認定スクラムトレーナー(CST®)による社外研修を受講
- 中途入社者にはスクラムチーム配属前に社内スクラム研修を実施
03 言語・設計
私たちは保守的な選択を無意味に優先することはありません。
たとえば「経験があるから・人が確保しやすいから」といった理由でPHPしか許さない、ということは行いません。妥当性がある場合、積極的に新しい言語やフレームワークを採用します。
具体的施策
- Scalaを積極的に採用
- ドメイン駆動設計(DDD)を積極的に採用
- iOS開発ではSwift採用
開発環境
PC
私たちはMacbook Proの15インチの上位モデルを標準作業PCとして支給しています。(※2021年1月現在)
Scalaなどパワーが必要な作業であってもスペック不足を感じる事無く作業ができます。
もちろんIntelliJなど必要なソフトウェアも支給します。
その他
Communication
- Slack
IDE
- IntelliJ
Document/wiki
- Confluence
- esa.io
Project management
- JIRA
Workflow/CI
- GitLab