こんにちは、マネーフォワード CTO の中出(なかで)です。
CTO の私が、普段「なにを感じて、どんなことを考えているか」について、四半期に一回社内へ共有している内容を一部編集し、 Developers Blog に公開したいと思います。
前回はこちら:マネーフォワード CTO が考えていること(2023 年 6 月)
ドメイン理解の重要性
サービス開発に関わるエンジニアは、担当するドメインについて深い理解が求められます。
マネーフォワードはB2CとB2Bの両方で、ユーザーの課題解決や生産性の向上を目的としたサービスを提供しています。それこそが、まさにマネーフォワードが社会に提供している価値です。私たちはエンジニアとしてプロダクトを開発することで、こうした価値を生み出すことに貢献することができます。
ユーザーが、私たちのサービスを活用し、ユーザーの課題解決や生産性の向上を実現することによって、価値が生まれます。ユーザーを深く理解するということは、ユーザーの課題を深く理解するということです。そのためには、ドメインの理解が欠かせません。ドメイン理解なしに価値を生み出すことはできません。
私たちのサービスは現在、主に日本国内で展開しています。そのため、日本特有の文化やルールを理解する必要があったり、多くの情報が日本語のみで提供されたりしています。つまり、ユーザーの課題解決のために、日本特有のドメイン理解が必要になります。
一方で、私たちはエンジニア組織全体でグローバル化(英語化)の取り組みを強化しています。この取り組みをしているからといって、ドメイン理解の必要性が無くなるわけではありません。むしろ、日本語だけで提供されている情報を英訳するなど、非日本語話者のメンバーも含めたチーム全体がドメインを等しく理解できる環境づくりが必要になってきます。
マネーフォワードでサービス開発に関わるエンジニア全員が、自身の開発するサービスのドメインを理解していることを期待します。また、全員がドメイン理解をしていくための取り組みについても奨励します。一つ一つの取り組みが、多くの価値を生み出すサービスにつながり、なによりも個々人の成果の質を高めます。
経験の価値
私は経験を重視しています。私自身が多様な経験を積み重ねる中で成長してきたからです。エンジニアリングの世界には、様々な技能や才能を持った人々がいます。技術的な能力だけで判断すると、私以上のエンジニアはマネーフォワードにもいます。
しかし、私と同じくらいの経験を持つ人は少ないと自負しています。特に、多くの意思決定を経験してきた人は、まだそれほど多くはいないのではないでしょうか。
人の能力の形成には、経験が大きな役割を果たしています。そして、その経験は機会が比較的得やすいものと、そうでないものに分かれます。コーディングについて言えば、日常的に経験の機会が得られ、OSSのような良質なコードから学び取ることができます。一方で、設計やアーキテクチャ、プロジェクトマネジメントやピープルマネジメントといった分野になると、機会をすぐに得ることは難しくなってきます。
また、一言で経験といっても、意思決定する立場で経験することが重要です。同じ事柄を経験したとしても、意思決定者として経験したのか、意思決定された結果に従って経験したのか、得られる学びや気づきは大きく異なります。意思決定する過程で、多くの選択肢を検討し、その中から最も適切な選択を行い、後でその判断を振り返ることで、深い学びを得ることができます。
私は、能力とは「意思決定の正確さ」として定義することもできると考えています。良いコードを効率良く書く能力も、正確な意思決定を速やかに行う能力として理解できます。私たちの仕事は、連続する意思決定の積み重ねで成り立っています。この意思決定の能力を鍛えるためには、多くの意思決定とその結果の検証が必要です。
マネーフォワードのエンジニアたちには、多くの経験、特に意思決定の経験を積んでほしいと思っています。単なる指示に従うのではなく、自ら考え、行動し、その結果を反省する、このサイクルを繰り返すことで、早く成長してほしいと願っています。
私の役目は、次世代のリーダーシップを担うエンジニアを育成することです。それを実現するために、意思決定を含む経験の機会を得ることが難しい領域について、多様なポジションを提供することで、経験を積む機会を増やしたいと考えています。
特に、成長している組織に身を置くことは自身の成長戦略において大変重要です。意思決定することが多く求められるからです。ですから、ベトナムやインドのような成長をしていく組織でのチャレンジを検討してほしいです。また、会社としてそのためのバックアップもしていきます。