文化
Vision
新しい日常をつくる
Value
ビジョンを実現するために「こういう人と一緒に働きたい」として定めたバリューがあります。
エンジニアの文化
エンジニアは、これらのビジョンやバリューへの共感はもちろん、技術的な向上心とサービスを伸ばしたいという思いを持っています。
その結果、以下のような文化があります。
コードレビュー文化
将来を見据え、ポジティブな方向に議論を尽くす文化です。 コミュニケーションミスが発生しないよう、ガイドラインを定めています。
例として以下のようなコメントガイドがあります
ラベル | 意図 |
---|---|
must |
これは必ず対応してほしい。 このままではApproveできない |
imo |
自分の意見や提案・好み。 自分ならこう書くけどどうかな? このままでもApproveはできるけど、目を通して判断してほしい。レビュイーは何らかの回答を行う。 |
nits |
些細な指摘。 ほんの小さな指摘。既存のインデントやタイポ。(新たに入り込んだ場合は修正must) Approveでそのままでもマージ可能。 |
ask |
質問や確認。 コードの意味や背景が分からないから教えて!こういう理解でOK? レビューが進められないから、Approveはできない |
設計、アーキテクチャへのこだわり
サービス開始から15年を迎え、10年先までサービスを継続する方法を考えています。
ドメイン駆動設計とクリーンアーキテクチャを採用しており、こちらも実装ガイドのドキュメントを作成してチーム内で共通認識を作りながら開発をしています。
ドキュメント、ADRなどチーム開発指向
継続的な開発のために、チームが力を発揮出来る環境作りをしています。
特に新規参画メンバーがハマったり質問があったことはできるだけドキュメントに残すようにしています。 レビューで議論になった際に同じ議論を繰り返さないようADR(Architecture decision record)という形で記録を残して効率的に議論が行える様にしています。
ドメイン知識の勉強会
言われたものをただ作るのではなく、エンジニア自身がドメイン知識を深めることを重視しています。キャッチアップを目的とした共有会を定期的に開催し、その内容を録画・保存することで、後から参画したメンバーにも知識を共有できる仕組みを整えています。
開発生産性に対する意識
正確に作ることだけでなく、迅速に開発を進めることにも注力しています。日々、4Keysやサイクルタイムを計測し、生産性を低下させる要因がないかを確認・分析し、継続的に改善を図っています。
コミュニケーション
メインのコミュニケーション手段として、Slackを活用した非同期のやり取りを行っています。一方で、デイリースクラムなどの定期的なミーティングや、バーチャルオフィスツール「Gather」を利用したリアルタイムのやり取り(例:「いまちょっと良いですか?」)も取り入れています。チームがスムーズに連携できるよう、最適なコミュニケーション環境の構築に努めています。