エンジニアの仕事は、プロダクト開発という名の総合格闘技
こんにちは。クラシルを運営するdelyでCTOをしています、大竹です。
兼任で、クラシルの新規事業であるネットスーパー事業の責任者をしています。先日、イオン様との提携を発表しました。
delyは2014年の設立時に堀江さんと共同創業しました。いくつもの事業立ち上げ・撤退を経て、2016年5月にクラシルをローンチしました。当時はエンジニアは自分1人しかいなかったので、(負債も残しつつ)全てゼロから構築しました。
そこから4年半、CTOとして技術選定、メンバー採用、組織マネジメント、さらに新規事業としてEC事業の立ち上げも経験しました。
曲がりなりにも多くの経験をしてきて一つ断言できるのは、エンジニアの仕事はコードを書くことだけではない、ということです。
そもそもやるべきことは、世の中の課題を解決することです。その手段としてプロダクトがあり、そのプロダクトを作るためのソフトウェア開発があります。
世の中の課題を解決するエンジニアとして持っておくべき「スタンス」があると思ってます。今回はそれを言語化してまとめました。
現場に出る
エンジニアの仕事はシステム構築ではなく、ユーザーに価値を届けることです。そのためにスケールしないことをする必要があります。ユーザーに会いに行くこと、手作業での地道なデータ整備をすること、現場に出て実地調査をすることも、全てエンジニアリングです。自陣の奥深くに籠もっている技術屋ではなく、最前線で戦う歩兵でもあるべきです。
DoorDashのエンジニアは配達もしていた
dely最初のフードデリバリーサービス「dely」の配達でダッシュしてる堀江さん
通訳になる
エンジニア出身でない経営陣に対して、技術的な不確実性、実装工数、出来上がるアウトプットのイメージを翻訳して伝える必要があります。これができていないと、エンジニアリングの観点が抜け落ちた非現実的な意思決定が下る、もしくは経営戦略とミスマッチな状態で無価値な開発業務が行われてしまいます。そのため、常に両者の言葉を使い分けて話す通訳であるべきです。
経営をする
ユーザーに価値を届けるためのプロダクトは、営利企業によるビジネスの形で提供されてはじめてサステナブルになります。エンジニアであってもPL・BS・キャッシュフロー等の経営指標を把握し、収益性やユニットエコノミクスの効率性を数値化し、エンジニアリソースを投資することで得られる成果をコストパフォーマンスで評価する必要があります。ヒリヒリするトレードオフを感じながら、自ら意思決定する立場である自覚を持つべきです。
ザッカーバーグはハッカーから経営者に成長した
ギークであり続ける
プロとして高いレベルの技術力を持つことは必須条件です。IT産業は誕生してから今日まで一度たりとも変化が止まったことはなく、日々新しい技術が生まれ、既存の技術がアップデートされています。モバイルインターネット、クラウド、AI、ブロックチェーンなど直近10年だけを見ても明らかに環境は変化しています。常に貪欲に学び、誰よりも先端技術に詳しいエンジニアであるべきです。
当時の先端技術を駆使して作ったPayPal
工場でTeslaの技術説明をする現在のイーロン・マスク
先導する
野心的なプロジェクトを実現するためには必ず不確実性が伴います。どういう技術を使うか、長期的に負債化しないために抽象化をどのレベルでするか、開発リソースをどう調達するか。プロダクト開発にまつわる不確実性をコントロールするのはエンジニアの責務です。常に戦略的に物事を考えて、限られたリソースでユーザーに価値を届けることに努める必要があります。さらに、難易度も理解した上でどう実現するかを明瞭かつモチベーショナルに語り、チームの心を前向きに動かすことができれば、プロジェクトの成功率は大きく上がります。エンジニアは悲観論者ではなく、チームをモチベートする先導者であるべきです。
創業期にアパートでビジョンを語るジャック・マー
深くリサーチする
世界中で優秀なエンジニアが競ってプロダクトを開発し、それぞれがベストプラクティスを模索し続けています。各社がどのような技術を使い、どのようなアーキテクチャを採用し、どのようなインタフェースを作っているかを常にキャッチアップする必要があります。自分の頭の中だけで考えるのでは足りず、事例を分析してノウハウを吸収していく姿勢が必要です。
見えない負債に光を当てる
技術的負債は目には見えなくても確実に存在するものです。負債に光を当てて、どのタイミングで返済するか適切な判断を下すのもエンジニアです。医者のように常に健康状態を把握して、成長スピードと負債化のトレードオフを考え、適切なタイミングで手術が必要です。手術は早すぎても、遅すぎても医者失格です。
最終責任を持つ
プロダクトがどういう形でユーザーにアウトプットされるのかに対して、最終責任を持つ立場であるべきです。責任を持つ人だけが、意思決定をする権利があります。最終責任をとらず、仕様通りに実装するだけという意識では本当に良いプロダクトを作ることはできません。アウトプットのクオリティを担保するのがエンジニアです。
あと1回打ち上げ失敗したら自己破産だったイーロン・マスク
最後に
自分が常に心がけているのが、「必要に駆られたことに全力で取り組む」ことです。
私は創業から今まで、事業や会社の成長のために一番必要なことにフルコミットするスタイルを貫いてきたと自負しています。自分のモットーとして「必要に駆られたことに全力で取り組むことが一番の成長機会」という考え方を持っているからです。
https://note.com/otake_masato/n/n80f56908c092
創業から今まで、会社も事業も組織も目まぐるしく変化してきました。その環境でバリューを出し続けるために、「自分の仕事はこれだ」と決めつけるのは良くないと思っています。
エンジニアリングを知っていることは強みではありますが、会社として一番やるべきことがコードを書くこととは限りません。ベンチャーにおいて、そうでないことの方がむしろ多かったと感じます。
"総合格闘家"として、何でもやる覚悟でいると、楽しいです。
**********
この記事は「dely #1 Advent Calendar 2020」の25日目の記事です。