事業開発とシステム開発を効率的に紐づけるには
こんにちは、ジョージ・アンド・ショーン営業企画の松橋です。
今回は社員インタビュー第2回目です!本インタビューでは、ジョージ・アンド・ショーン(以下G&S)に参画されている皆さんに、「実際どんな会社なのか、どんなことをしているのかイマイチよくわからない…」という疑問をストレートに聞いていきます!ぜひお楽しみいただけたら幸いです。よろしくお願いします。
第2回目社員インタビューはG&SのWebサービス設計、開発を担い、フロントエンドからバックエンドまで幅広く手掛けるフルスタックエンジニア、アーキテクトの砥綿 啓晶さんに事業開発とシステム開発を効率的に紐づけて回すコツや兼業worker主体のチームでの開発の進め方を中心にお話いただきました。
プロフィール
―これまでの経歴、本業でのお仕事について教えてください。
本業ではトヨタ系のWoven Planetという会社で自動運転関連のソフトウェア開発を行っています。Data Platform という部署で働いていて、クラウドを使ったデータ処理の設計や実装を行っているエンジニアです。
―たしかG&Sに参画されたタイミングが一緒でしたね!G&Sに入ったきっかけを教えてください。
実は 2019 年に海外からの帰任を機に現職に転職しました。その転職のタイミングで、前職で同期だった小野に「会わせたい人」が居ると言われて紹介されたのが CEO の井上でした。もともと自分のアイデアを起業という形で実現したいという思いがあって、ベンチャーがどのように事業を実現していくのか勉強させてもらいたいという目的でジョインさせてもらいました。
なお、顔合わせの後は初対面にも関わらず、夜更けまで渋谷で遊びましたが、当時の僕はまだ人見知りだったせいかたぶん400文字くらいしか喋ってません(笑)
―現在、GSで取り組んでいることを教えてください。
現在は複数のプロジェクトに関わっていますが、サービス設計、全体のアーキテクチャ設、主にサーバーサイドの実装という形で動いています。具体的には、biblle(ビブル)のクラウド側の刷新開発や、地域 SNSのキョウドコの開発に取り組んでいます。最近は最新のクラウド機能を使って、今後biblleアプリの機能改善を行いやすいようなしくみをつくったり、ユーザー数増加に向けてのシステムの再構築を行っています。
―biblleのコアとなるお仕事をされているんですね。ちょうどこの間、小田急線の経堂駅で「キョウドコ」を使って最新のお得情報を見ながらお店をハシゴしたのですが、アプリもどんどん進化していてこれからも楽しみです!そんな1ユーザーとして思うことは、やはり開発って大変ですよね。というところです・・・
僕はもともと学生のころはテニスしかしてなくて、友達にプログラミングの課題をアウトソーシングしたりするような人間でした。またシステム開発といっても入社後の最初の数年間はプロジェクトマネージメント等の管理系業務が多かったので、なかなか技術的知識が身につかないような仕事が数年続きました。そんな中、クラウドを導入し、1から設計するチームに運よく配属されたことが契機となり、そこから本格的に自分の手で設計し、モノづくりを始めました。当時はとても大変でしたが、今につながる様々なスキルを身につけるにことができたと思います。
価値のあるプロダクトづくりは自分の作るものがどれだけの価値があるのかを常に意識することが重要
―開発を始めるのに遅いというのはないんですね!
開発者として必要なことはありますか?砥綿さん的、開発者としての役割に対する考え方を教えてください。
ですが根本にあるエンジニアとしての底力みたいなのは、学生時代に勉強しているのはやはり強いなと思います。例えばすごく大きな問題が起きて、その問題を調べている時に解決できる幅(どこまでその問題の仮説を立て、考察して、調査して解決できるか)やその深さは過去の勉強や経験、あとセンス(笑)が大きく影響します。開発といってもすべて1からつくるわけでなくて、もちろんクラウドやライブラリだったり、様々なツールを使ってモノをつくりますが、そこで何か問題が起きた時に、そのツールだけ使えるという人は、もうそこで調査が行き詰ってしまうのですが、そのツールがなんでその問題を起こしているのかというところまで深く調査して、仮説、検証することができることは開発者として非常に重要です。
また僕はエンジニアとして動くときには、自分の作るものがどれだけの価値があるのかを常に意識しています。なので、ビジネス側(自分がやることもありますが)にもきっちりそこは説明してほしいですし、説明がなければたくさん質問をします。なぜならば、なんとなくでは、なんとなくなプロダクトしかできないからです。プライドをもって自分でよく考えて、周りにもよく考えてもらってモノづくりをするのが開発者としての役割と考えています。
―私からすると開発の皆さんは分野も様々で、特化しているところも違う印象があるのですが、専門外の分野でも請け負ったりするのですか?
専門外といってもいろいろなレベルがあるため、例えばプロジェクトで使うプログラミング言語が初めて触る言語ということはよくありますが、当たり前に勉強だと思って取り組んでいます。ただ、完全に別の分野、たとえば AI自体の研究等であれば得意なメンバーに任せたほうがよいと判断することもあります。
G&Sだと簡単にいうとフロントエンド、バックエンド、AIの開発の分野で自然と分かれているように思いますが、やはりそこの壁を超えるのは相当な勉強と努力が必要と感じますね。みんな素晴らしいスペシャリストです。
ベンチャーの小ささを逆にうまく活かして事業開発や開発の面でアジリティとフレキシビリティを提供するのが G&S の役割
―兼業スタイル、ベンチャーでのシステム開発で通常の開発と異なることを教えてください。
まず、まとめてコミットできる絶対的な時間が違います。開発というのはクリエイティブな作業で、作業の最初に昨日何を作ろうとしていたか、どういう設計にしようとしていたかを思い出して、エンジンがかかってくるのに 30分くらいかかります。設計だったりどんな仕様にするかの確認だったり、今あるプログラムのコードを読んだりを思い描いてからさあ!とスタートさせます。
ですが、これを兼業で毎日コツコツ少しずつ進めようとすると、なかなか生産性が上がらなかったりします。なので僕は、平日は土日で作業するのに引っかかりそうなことがあったら予めプロジェクトメンバーに聞いておいたりなどのすり合わせ作業等の準備に充てて、土日などのある程度のまとまった時間を確保した時に、乗ってきたら一気にプログラムをまとめて書くという形で進めています。
また、ベンチャーでの自社開発や共創事業での開発は世の中にあるような、ないようなモノだったり、まず僕らの技術で作れるのか、そもそもビジネス自体の先行きが不明瞭の部分が多い背景があるので、MVP(Minimum Viable Product) や POC (Proof of Concep)ぽいものが多くなります。それはそれで自然でいいと思うのですが、プロダクトとして確実に世の中に出していくための通常のシステム開発とは全く開発のプロセスが違います。
ベンチャーでは最初から全部の機能をつくる体力はないので、小さく始めてスピード重視で開発します。100万人に使われたらどうなるのかだったリ、こんな変な使われ方をした時大丈夫かなど、そもそもスピード重視で主要機能にフォーカスする MVP や POC では考える必要がないので、こういった部分を意図的にちゃんと切り分けて考えて作ります。
ですがその中で忘れてはいけないのは、僕らのミッションは、MVP を作ったり、POCをやることではなく、最終的にスケールさせて、そのプロダクトをちゃんと世の中に出していくことです。プロダクトのフェーズによってアーキテクトに求められる能力が変わってくるのがスタートアップならではではないでしょうか。
兼業スタイルでの開発には開発者の時間をいかに無駄にしないかが大切
―G&Sは兼業スタイルで働かれている方が大半と思うのですが、兼業worker主体のチームを回すことで苦労されること、また、意識されていること、どう回すとうまくいきそうかについてノウハウを教えてください。
兼業スタイルでの大きな課題はオーバーヘッドの大きさだと考えています。例えば、フルコミットで週に 40 時間働けるのと、兼業で週に 10 時間働けるのでは、単純計算で 1/4 のアウトプットが出そうですが、そうはなりません。開発を例にとると、開発マシンのセットアップ、新しい開発言語の習得、各種自動化の設定等、要件の理解などなど、フルコミットでも兼業でも同じくらい時間がかかる作業がたくさんあります。これを僕はオーバーヘッドと呼んでいますが、多くの人はこれを忘れがちです。
なので、兼業の中では特にそのオーバーヘッドをいかに小さくするか、簡単にいうと開発者の時間をいかに無駄にしないかが大切です。僕が開発の面で特に気をつけているのは、ありきたりですがテストやデプロイの自動化です。ただし、これらの自動化自体も大きな工数がかかるので、バランスを見ながらやっていくのがポイントかと考えています。
また、コミュニケーションのオーバーヘッドはコミュニケーションの形にフレームワークを入れたほうがいいと考えていて、それがスクラム体制を G&S に持ってきた理由のひとつでもあります。
もちろんすべてのプロジェクトにスクラム体制を組む必要はないですが、(規模が小さく、開発する人数が非常に少ない場合など)どういった形でも僕らがどういうフレームワークで動いているのかや、コミュニケーションを取る時もある程度カタチがあったほうが動きやすくなります。例えば開発を進めるにあたって困った時に、スクラムであれば一番プロダクトの方向性や、どういう機能が今一番優先順位が高くて、それが欲しいなどがはっきり分かっているプロダクトオーナーに相談すればいいことは自明です。ロールの明確化はコミュニケーションの基礎で、コミュニケーションのオーバーヘッドの削減にも大きく貢献すると考えています。
(図:スクラム体制イメージ)
事業開発をうまく進めるには事業開発やサービス設計の解像度を上げる努力と、それを開発チームに正しく伝えるためのコミュニケーション手段が重要
―事業開発とシステム開発を効率的に紐づけて回すために必要なことはなんだと思いますか?
事業開発の解像度がそれだけプロダクトのデリバリーのスピードとクオリティにつながると考えています。そのためには、事業開発やサービス設計の解像度を上げる努力と、それを開発チームに正しく伝えるためのコミュニケーション手段が必要だと思います。
ビジネスというのは仮説と検証の繰り返しで、そもそも解像度を上げても正しいとは限りません。なので、ベタですがリーンスタートアップのような形で事業を少しずつ磨き上げながら、開発もタイムリーにそれについていく必要があります。それをスムーズにするためのひとつの手段が前述したスクラム(=アジャイル開発のいち手法)だと思っていて、PO(プロダクトオーナー)が責任をもって事業とプロダクトのディレクションの整合性をとりつつ、開発チームと密に動くことがキーだと考えています。
―常にアップデートし続けるために砥綿さんにとって大事なことは何ですか?
ソフトウェア開発という意味においては、常に現場にいることだと考えています。これは必ずしも実装ということではなくて、かなり詳細なレベルまで設計すれば、自ずと知識のアップデートの必要性もでてきます。実際に使うために学ぶのと、教科書から学ぶのでは技術に対する理解の幅が全く違うと思っています。あとは技術の大局的な流れというのは IT 系のニュースを見てるとけっこう入ってきますね。
それと同時に、スタートアップのコアメンバーとしてマネジメントや事業開発に近いところで働くという意味では、書籍や Web 等を読み漁ってインプットも入れていくといのも重要だと思っています。
―G&Sならではのいいところだと感じていることはありますか?
G&S という会社は大人なメンバーが揃っていて、ベンチャーといって想像されるような状況で苦労することは基本的にあまりないです。たとえばCEO と CTO がケンカして会社が割れるとか、社員が徹夜で風呂に入ってないとか、VC から詰められて CEO が死にそうになっているとかそういう話です。全部ジョインする前の僕の妄想でした(笑)
このようにG&S ならではのいいところは、ある程度の心理的安全性が保たれているところだと思います。また、エンジニアとしての成長に関してもみんなの理解があって、苦手分野でもチャレンジしようとしたら誰でもチャレンジできます。たとえば、僕は教科書的に勉強したことを持ってきがちなのですが、こんないいフレーワークがあって、これやりたいといった時に、普通だったら「うーん、やりづらいからいいよ。」となるところを、G&Sにはやってみようの受け入れる雰囲気があるため、エンジニアとしての役割の考え方とも繋がりますが、よく考えてプライドをもってモノを作るということが実際に手を動かしてトライできる環境です。
―逆に現在のG&Sでのお仕事で課題に感じていることや、これからやってみたいことを教えてください。
課題に感じるのは逆に少し大人すぎるということでしょうか。本来心理的安全性というのは、なんでも認められるということではなくて、「僕は、それは違うと思う。」ということをはっきり言える環境だと思っています。G&S においてそれが特別言いにくいとは思いませんが、僕が相当気を使って喋っているつもりでも、たまにサイコパス扱いされます(笑)ですがみんなが外からインプットを受けて成長すれば、自然と考え方に多様性が生まれて、いい意味での意見の違いが出てくるはずだと思うので、そういう意見交換みたいなのをもっと見たいですね。これからも僕から積極的に発言していきたいです。
―最後に個人のビジョン、今勉強中のことは?将来の目標を教えてください!
個人的には、事業開発等に関しての勉強をしています。実は今年あるサービスを立ち上げたのですが、思うところありクローズしました。今も個人的にはやりたい事業はあるのですが、構想検討中というところでしょうか。欲張りなもので、もちろん G&S をスケールさせることも個人的な目標のひとつですし、G&S の現場で学んだことを自分の事業に活かすことができればパーフェクトですね。
この記事が気に入ったらサポートをしてみませんか?