【キャリア】外注管理中心から、企画から実装までやるキャリアへの転換。リーダーエンジニアになるまでとこれから。

こんにちは。M&AクラウドのEMの鈴木(@yamotuki)です。
今回は、M&Aクラウド開発チームのサブチームのリーダーとして仕事をしている濱田さん(@hamakou108)にインタビューをし、その成長の軌跡を対話形式で記事にしていきたいと思います。
普段から上長である私と1on1を通してキャリアのすり合わせをしているのですが、インタビューでは過去の話も含めて改めて聞いてみました。

この記事のダイジェスト

  • 手を動かして開発したい、ユーザーに使われるものを作りたい、という気持ちでM&Aクラウドに入社
  • 1~2年目で開発スキルとプロジェクトマネジメントスキルを磨く
  • 2年目後半にスクラムマスターを3ヶ月間フルコミットで経験し「プロダクトを良くするためのチームを作る」という方向で成長
  • 3年目から開発, PjM, スクラムマスターの経験を活かし、リーダーとして活躍

登場人物紹介

  • インタビューする人: 鈴木智也。新卒で株式会社ドワンゴに入社。インフラエンジニアとして従事。同期入社の荒井に誘われ、2018年8月に2人目エンジニアとしてM&Aクラウドにジョイン。2022年8月からEM。濱田さんの上長。
  • インタビューされる人: 濱田晃輔
    • 千葉大学理学部物理学科で物性シミュレーション研究において FortranC++ を経験
    • 新卒でニフティ株式会社に入社し、3年間インターネット接続サービスの申込登録システムの開発・運用を担当。技術スタックはバックエンド(Java)を軸足として、フロントエンド(HTML + 生CSS + jQuery)も多少経験。(つまりこれが弊社入社時技術スタックです。)
    • 2020年2月に5人目のエンジニアとしてM&Aクラウドにジョイン。
    • 3人のエンジニアからなるM&Aクラウドプラットフォームチームのリーダー。

濱田さんを一言で紹介するなら、エンジニア風林火山でいうと、「山のエンジニア」だと認識してます。長期保守を前提とした設計を熟考し、エッジケースまでちゃんと考え、チームメンバーのコードのレビューも丁寧にやってくれます。会議ではじっと人の話を聞いており、意見を求められれば本質的な課題を指摘する。そんな人です。

濱田さんの雰囲気が分かる適切な画像がなかったので、個人的に一押しの写真を載せておきます。  

住んでいた家の夕日が強く、光のエンジニアになってしまった濱田さん

入社理由

鈴木)入社理由はこちらの記事でもヒアリングされていましたが、改めて聞いてもいいですか?

「まるで油田を掘っている感じ」M&Aクラウドエンジニアが語るM&Aクラウドでやりたいこと~エンジニア座談会~|UPDATE M&Aクラウド

濱田)前職では、もともと外注に依存していましたが、そこから抜け出そうとする動きがありました。とはいえ、構造上の問題があり、私自身も外注管理の仕事が中心となっていました。自分のキャリアを考えた時に、システム開発の外注管理が上手くなるというのは自分の思い描くキャリアと違うものでした。自分の手を動かしてユーザーにちゃんと使われるサービスを作りたいと思いながら、その時間はあまり取れませんでした。そこで転職を検討し、スタートアップ中心に会社選びをしていました。上流から下流まで経験できるという点と、提供しているサービスも他にないということでM&Aクラウドを選びました。

開発者としての成長

鈴木)入社後にどのように開発者として成長してきたのか順番に聞いていきます。

入社直後

鈴木)入社直後は技術スタックに面食らったり、とっつきづらさを感じたりしましたか? 当時だと、フロントエンドは TypeScript/Nuxt.js/Vue.js(※現在は SvelteKit に統一の方向でPJ実施中)、バックエンドはPHP/Laravel ですね。
濱田)バックエンドは PHP だったので入りやすかったです。PHP特有の標準関数とか autoload の挙動くらいを学習すればよく、大きな断絶はありませんでした。フロントエンドについてはNuxt.js, Vue.jsは多少のジャンプがありました。前職で使っていた jQuery だと DOM をどう操作するかだけの話で、処理を順番に追っていけば何をやっているか手続き的に分かります。Vue.js のような宣言的な書き方に触れたことはなかったです。Vue.js について細かいところだと、 computed って結局どう使うのかとか、ライフサイクルをどう考えればいいのかという点は勉強した記憶があります。

鈴木)最初のキャッチアップはどれくらいかかりましたか?
濱田)最初の2ヶ月くらいは結構苦労しました。業務内でも勉強しながら仕事を進め、業務外でも追加の学習を1日1~2時間取っていました。業務内の学習は、その実装に最低限必要な知識を中心に。業務外では、その機能がどうして動くのか、という深掘りをしました。

鈴木)チーム雰囲気としては「もうちょっと学習してもいいよ」だったか、「すぐに結果を出して」のどちらでしたか?
濱田)そんなにガンガン成果だせという感じではなかったですね。もちろん、成果を出さなくてもいいわけではないのだけど、「学習に時間をかけないというのもダメだよね」という雰囲気でした。
鈴木)何も分からないで書いている人のコードはすぐバグりますからね。

鈴木)新しい人が入ったとして、同じように学習していくとキャッチアップすることができると思いますか?
濱田)ちょっとでもフロントエンドを触ったことがあるという人であればキャッチアップできると思います。全く触ったことがない人だと結構大変かもしれないですね。
鈴木)確かに他の新メンバーで、ほぼWebフロントエンドを触ったことがない方だと、スムーズに書けるようになるので4~6ヶ月くらいはかかっているかもしれないですね。弊社の場合は成長意欲の高い人が集まってきているのでみんな乗り越えてきてますね。私も実のところ元々はインフラエンジニアだったので、バックエンドもフロントエンドも1から学習しました。M&Aクラウドには成果が出せるまで先輩が優しく付き合ってくれる文化があるかもしれませんね。

入社後 1~2年

鈴木)入社後1~2年でご自身がどのような状態になったかは覚えてますか?
濱田)まずは1~2週間程度で終わる小さいプロジェクトについてPjMを経験させてもらいました。入社1年くらい経ってから、2~3人くらいで1~2ヶ月とかかかる中規模PJでプロジェクト管理をしたのがこの頃だったと思います。PJの目的についてはPdMが決めて、プロジェクトの何を開発するかという要件定義はPdMと二人三脚で進めていました。PjMですが、手を動かすのは引き続きやっていました。

鈴木)スクラムマスターをやったこともありましたよね。そこはキャリアにおいてどのような位置付けですか?
濱田)スクラムマスターをやりはじめたのは入社して2年半ちょっとの頃でした。それまでは通常開発とプロジェクト管理がメインだったところから、チームビルディングといったチームに関わる方向性の仕事をやりはじめたのはキャリアの区切りだったなと考えています。それまでのいちメンバーとしての動きから、チームのコーチのような動きをするように変化していきました。言い換えると、プロダクトの機能に対してフォーカスしているところから、チームにフォーカスして間接的にプロダクトを作る方向もやるようになっていったということです。事実とフィードバックを重んじるスクラムの思想を注入することで、よりユーザ価値を増やせる方向にチームが動くことができます。チームを変化させることでプロダクトを良くできるという視点は、スクラムマスターをやってから学んだところです。

鈴木)荒井さん(CTO)からスクラムマスターをやって欲しいと言われた時に迷ってましたよね。今はやったことはポジティブに捉えていると感じていますが、当時は違う受け取り方でしたか?
濱田)当時だけで見ると、スクラムマスターをやっている3ヶ月は開発ノータッチだったので入社理由の一つである「手を動かしたい」とずれはありました。ただ、3ヶ月という期限付きだったのでチャレンジしてみようと思いました。あとは、プロダクトを良くするために専任スクラムマスターを立てるという意思決定をしたという背景は荒井さんから説明があって、感覚としては理解できていなかったかもしれませんが、ロジックとしては理解していたところでした。あまり意固地にならずに荒井さんを信じてやってみようというマインドでやっていました。

鈴木)手を動かすというのからは離れるけど、入社理由のもう一つの「使われるサービスを作りたい」という点ではマッチしていましたか?
濱田)そうですね。手を動かして作るということは2年目の途中までである程度できるようになっていたので、「誰かに使ってもらえる」というのを考えてみた時に、スクラムを導入することと、自身がスクラムマスターをやったことは結果的にはキャリアに必要だったと考えています。

入社 3年~

鈴木)リーダーになったのはいつでしたっけ?
濱田)明確に役割としてリーダーになったのはちょうど入社4年目の今年に入ってからですが、実質的には3年目くらいに3人チームの中で同等の仕事をしていたと思います。

鈴木)ロールとして明確化されたリーダーになった時に、以前と変わった動きはありました?
濱田)チーム内のクオリティコントールが求められるようになりました。短期と長期のバランスを考えて、チームのアウトプットが適切かを意識するようになりました。あとは、それをどうチームメンバーに伝えていくか。例えば、ある設計に対して意図を言語化して伝えることは特に意識していることかなと。

鈴木)それを支える学びって何がありましたか? 
濱田)知識的なところで言うと、開発者全員でやっている読書会の存在が大きかったです。TDDやクリーンアーキテクチャの読書会がありました。クリーンアーキテクチャで言うと、それを業務に落とす意識で読書会に取り組み、実際のコードと照らし合わせながら理解しました。例えば、クリーンアーキテクチャの考え方として、依存関係の方向が双方向になっていないようにする、というのがあります。双方向依存になっていたら、例えばドメインレイヤのテストをするときに、不必要にドメインレイヤの外のことを意識しなければいけないことになります。そういった設計の方向性について、読書会は言語化の助けになったと考えています。

情報発信について

入社前後

鈴木)メインの仕事の話からちょっと離れて、情報発信について教えてください。弊社は「全員インフルエンサー」を開発バリューの一つとして掲げていますが、それについてはどう受け取っていましたか?
濱田)元々は情報発信はほぼやっていなかったです。個人ブログを立ち上げたのは転職が決まってからでした。ブログ作ったのは、M&Aクラウドが情報発信に力を入れているのを聞いたのがきっかけでした。もちろん発信の場として Qiita でもいいのですが、せっかくだから自分で発信する媒体を持ってみようと思いました。

鈴木)確か、ブログははてなブログとかではなくて自作ですよね?
濱田)そうですね。ブログ自体も最初は Gatsby.js で作って、その後 Next.js でリプレイスしました。記事データは Markdown としてソースコードに埋め込んであり、ビルドするときにHTMLに変換する形です。最初 Gatsby.js で作ったのは理由は、Next.js よりはとっつきやすかったからです。実はもともとは Next.js で作ろうとしたが、jQuery くらいしか触ったことがなかったので、当時はハードルが高くて挫折しました。その後、Nuxt.js を実務で触ってハードルが下がったので、すんなり作れるようになりました。Nuxt.js と Next.js でもちろん違いはありますが、何をやりたいかという点だと大きな違いがないのです。

今の捉え方

鈴木)現在は登壇やテックブログへのチャレンジはどう捉えていますか?
濱田)今は、やってみないとその価値がわからないと思っています。やる前は、弊社チームの「みんなやっているからやってみようよ」という雰囲気でやり始めました。やってみると、発信することははたから見ているより難しさがありました。難しさの一つ目は書こうとしている対象自体の理解。二つ目はそれを言葉にして伝達すること。実際にやってみて難しさがあると感じましたが、それを乗り越えると、理解度も表現力も上がるのを実感しました。業務をする上でもそういうのがMUSTというわけではないけど、BETTERだと考えています。やったほうがうまく開発ができるようになる気がしてます。

まとめと今後の展望

鈴木)キャリアについてまとめとして話したいことありますか?
濱田)入ってから3年半くらい経ちましたが「上流から下流までやりたい」という入社当時考えたいたことは達成できたと思っています。リーダーとしての動きも、入社後にできるようになったので、入って良かったと思っている点ですね。

鈴木)もう一歩だなと思っている点はありますか?
濱田)もっと専門性をつけたいと思っているところはあります。今は小さい組織なので、良くも悪くも全部やる必要があります。「これといえば濱田」「濱田といえばこれ」というものをこれから得ていきたいですね。これまでのキャリアだと横に伸ばすのが多かったので、縦に伸ばすのがやりたいことです。具体でいうと、今積極的に勉強しているのは、テストとかアーキテクチャの領域です。

鈴木)それを会社は応援してくれていると思いますか?
濱田)応援してくれていると思います。専門性をつけたいと言う点で、何をやりたいかとか、具体的にどうすればいいのかといった点を 1on1 ですり合わせてもらって、実際にそれができるリーダーというポジションにアサインしてもらったと感じてます。

鈴木)会社成長にあたり、さまざまな技術領域の中でも会社によって必要とされるところは違いますよね。弊社でいうと、経営者が顧客でユーザー数が少ないので「高いトラフィックを捌く」みたいなのは重要でははないけど、長期保守を前提として設計を変え続けなければいけないですし、それに付随して自動テストの重要性は高いですね。
濱田)例えば今期の目標で、Featureテスト同士の依存関係の解消やSeedingの辛さ解消について目標に入れさせてもらいましたが、それは目先の開発の辛さを解消するとともに、会社成長に関わるところですね。

鈴木)目標を自身で作れるようになったというのも濱田さんの大きな成長ポイントですよね。次にトライして行きたいことってもうあったりしますか?
濱田)資金調達クラウドをサービスとして分離したことにより、コードとドメインのミスマッチが起こりつつあるので、ドメインがどうあるべきかというのは模索してリファクタリングみたいなところもやっていきたいですね。
鈴木)ありがとうございます。これからも顧客ニーズに合わせてサービスが増えたり、エンジニア人数が増えていくとなるとコードの適切な分離は大事ですよね。その変化は怖くもあり楽しみですね。

終わりに

新卒から3年ほど大手インターネットプロバイダでWebエンジニアやられてから中途入社して早4年目の濱田さん。途中に一見入社理由とは異なるスクラムマスターというロールも経験しつつ、それも糧にして成長してきているのが面白いですね。

濱田さんや鈴木と話してみたいという方、お待ちしてます!

www.wantedly.com