ドメイン知識ゼロのエンジニアが事業にディープダイブするためにやったことの総括
こんにちは、株式会社LayerXでPdM兼エンジニアとして働いているざべすです。本記事はLayerX Tech Advent Calendar 2024の11日目になります。10日目はmakogaさんのプロダクトチームのEMが実践している3つのマネジメント(戦略・達成・組織)でした。
私はLayerXから三井物産デジタル・アセットマネジメント(※長いので以後MDMと呼びます)に出向し、不動産ファンドの運用業務効率化を図る社内システムを開発しています。MDMはALTERNA(オルタナ)という個人向け投資サービス事業と投資家の皆さんのお金を預かって運用するアセットマネジメント事業の2つの事業を運営している会社です。
私はMDMにLayerXから出向してから約4年半経ちますが、アセットマネジメント事業や証券事業を理解するためにド素人の状態から色々なことに取り組んできました。本記事では私がドメイン知識を獲得するために4年半で取り組んだことを振り返りも兼ねて記事を執筆しています。また、本記事を通して我々のようなエンジニアの働き方に興味を持ってくださる人が増えると嬉しいです。最近ではプロダクトエンジニアと呼ばれるエンジニアにあたるかもしれません。少しでも参考になれば幸いです。
本記事の3行まとめ
ドメイン知識を獲得すると働くのが楽しくなる
現場との接点を増やすことは教科書で学ぶより遥かに効率が良い
エンジニアも実際の業務を知ることで開発が爆速になる
本題に入る前に、ドメイン知識の獲得に力を入れる背景を簡単に紹介させてください。
なぜ不動産ファンドの運用業務効率化に取り組むのか
不動産ファンドの運用業務にはたくさんのステークホルダーがおり、我々アセットマネージャーは運用の司令塔として大量のデータ転記やコピー、メールのやりとりを日々行っています。これらを効率化することは少人数でのファンド運用を実現し、運用手数料を下げ、投資家の皆様の利回り向上やアセットマネジメント会社としての競争力に繋がります。その取組みの1つとして「DAM(Digital Asset Management)」という社内システムがあり、私はこのチームでPdM兼エンジニアとして働いています。詳しくは以下の丸野の記事を御覧ください。
なぜエンジニアがドメイン知識を獲得する必要があるのか
ファンド運用者向けの社内システムを開発するにあたり、エンジニアにもドメイン知識が求められます。MDM社内には実際にファンドの運用をやっているメンバーが多数在籍していますが、LayerXが目指す爆速開発においては彼らへのヒアリングだけでは不十分です。
このことはバクラク事業部の榎本の以下の発表資料に詳しく書かれています。要は「1人で担当できる範囲が広ければ高速に良いものを開発できるから」です。
取り組んだこと
MDMの事業領域について学ぶために取り組んだことは主に3つです。
資格の取得
オフィスで仕事をする(ユーザーと同じ空間で仕事をする)
実際に業務をやらせてもらう
1. 資格取得
2020/8月頃に出向して現在に至るまでに業務関連で5つの資格を取得しました。不動産証券化マスター、証券外務員、簿記3級等です。資格を取ろうと思った理由は次の3点です。
覚悟を示すため
どうせなら形に残ったほうが嬉しい
締切効果
気になるのは「どれくらい役に立ったか」ですよね。資格試験の過程で学んだことのうち、実際のシステム開発に利用しているのは多く見積もって1割程度で、実際には後述の「実際に業務をやらせてもらう」のほうが100倍役に立ちました….笑。しかし、資格を取ることで得た知識のお陰で他の部署の会話も解像度高く理解でき、毎日の仕事がより楽しくなりました。直接関わりのない他の部署の仕事の話を聞いて毎日ワクワクできるのは資格取得の過程で勉強したおかげだと思っています。
※念の為補足しておきますが、MDMに出向するエンジニアについては資格を取らなくても業務に支障はなく、取得義務はありません。資格を持たずとも深堀り力が高くて僕より業務に詳しい開発メンバーもいます。
2. オフィスで仕事をする(ユーザーと同じ空間で仕事をする)
MDMはリモートと出社が完全に自由ですが、ファンド運用担当者は出社が比較的多いため、私も意識的にオフィスに出社しています。
オフィスで働いていると、ファンド運用チームのメンバー同士で業務の相談や雑談をしているのが耳に入ってきます(※私の席は運用チームのすぐ近く)。これはファンド運用チームとの雑談のきっかけになりますし、そこからシステムの仕様の話につながることもあります。カジュアルに社内システムへの要望を挙げていただくこともありますし、こちらが雑談のついでに質問をさせてもらうこともあります。
エンジニア全員が頻度高く出社すべきとは全く考えていませんが、ドメイン知識を獲得するという観点で、現場の人と接点を持つことは業界の空気感や共通認識を知る貴重な機会であり、出社は1つの手段だと考えています。
3. 実際に業務をやらせてもらう
約半年ほど実際にファンドの運用業務のすべてをやらせてもらうことができました(※もちろんプロの皆さんの多大なサポートが必須です)。これには絶大な効果がありました。システム化対象の業務フローは理解していたつもりですが、業務体験の前後では開発の効率に雲泥の差が出ました。まさに先程挙げた榎本の資料にある「開発のコスパが良くなる」という状態です。設計や仕様策定はもちろんですが、私のコーディング速度も明確に速くなりました。
もちろん、世の中にはたとえどんなに厚いサポートがあっても素人には業務の一部すら取り組めない事業領域が多くあります(例えば医療)。しかし、現場で得られる生の情報は何にも代えがたいという事実は大きな学びになりました。
コードを書くことが本業である私達エンジニアに運用業務を実施する機会を設けて多大なサポートをしてくださったMDMやファンド運用チームの皆さんにとても感謝しています。
フォーカスすべきことはチームやフェーズ次第
ここまで「ドメイン知識を身に付けることが正義!」という内容になってしまいましたが、最近の私はエンジニアリングやPdMとしての力量を上げることにフォーカスしています。社内システムの規模が大きくなってきたことに伴い、技術的な課題や開発チームとしての課題が増えたこと、知識を活用して成果をどんどん作っていくフェーズになったことが理由です。
スタートアップで成果を出していくにはプロダクトや会社の状況に応じて柔軟にフォーカス対象を切り替えられることが大切だと考えており、私もそうなれるように日々頑張っています。
まとめ
冒頭のまとめの再掲です。
ドメイン知識を獲得すると働くのが楽しくなる
現場との接点を増やすことは教科書で学ぶより遥かに効率が良い
エンジニアも実際の業務を知ることで開発が爆速になる
最後に
コードを書くことが本業でありながら事業領域へのキャッチアップに多くの時間を割けたのは、私がMDMで不動産アセマネ領域に中長期でコミットすると決めていることが大きいかもしれません。エンジニアは比較的転職スパンが短い職業ですが、スタートアップの事業規模がどんどん大きくなっている近年の環境において1つの領域に長くコミットできることは価値が上がっているのではないでしょうか
現在、LayerXではMDMで一緒に働くエンジニアの仲間を募集しています。MDMでは『「眠れる銭」を、 Activateせよ。』という企業理念で日々事業に取り組んでいます。頭に汗をかきまくるハードな環境でミッション達成に向けて私達と一緒に働きませんか?
少しでも興味をお持ちいただけたらぜひ下記URLからご連絡ください!ご連絡お待ちしています!
https://open.talentio.com/r/1/c/layerx/homes/3589?group_ids=7317