元銀行員のジュニアエンジニアが、開発チームをリードするようになるまで
こんにちは。Finatextホールディングス 広報担当、ミヤカワです。
Finatextグループのメンバーを紹介していく社員インタビュー。今回は、メガバンクの営業マンからエンジニアに転身した経歴を持ち、現在は証券事業で開発チームのリーダーを務めている大木卓哉さんにお話をうかがいました!
▼銀行員から転身した理由や、Finatextに入るまでの経緯はこちらから
エンジニアに転向し、経験も浅かった状態でのスタート
– 2回目のインタビュー、よろしくお願いします!今回は、大木さんの入社後のキャリアについておうかがいしたいと思っています。まず、入社当初に経験した仕事について教えてください。
2018年の8月頃にFinatextに入社しているのですが、初めの1年弱は、金融機関向けサービスのサーバーサイド開発をやっていました。現在担当している「BaaS(※1)」の開発に比べると小規模なプロジェクトが多かったですね。
– まずは小規模な案件で仕事に慣れていったということでしょうか。
そうですね。前回の転職時に営業からエンジニアに転向したのですが、前職での開発の実務経験は1年4ヶ月ほどでした。しかも前職での業務は、巨大な基幹システムの特定のロジックをひたすらJavaで書いているような感じでして、Finatextに入社した時点で、WEB開発の知見やスキルはほぼないに等しい状態。正直なところ、かなりジュニアレベルだったと思います(笑)。
いくつかの案件を通じて、WEBサーバーを自分で立ち上げたりインフラもいじってみたりしながら、WEB開発の基礎を学んでいきました。GoやAWSなど、弊社の技術スタックにもこのときに慣れていきましたね。
– その次のステップとして、現在のBaaS案件に入っていったんですか?
はい。最初に担当した案件が落ち着いたタイミングで、ちょうど会社がBaaSに注力していこうという時期にあり、私もそれに関わってみたいと希望を出したんです。その結果、「セゾンポケット(※2)」というサービスの開発プロジェクトに入ることになりました。2019年の5月頃だったと思います。
実体験を通して知った、保守性・拡張性の大切さ
– 入ったタイミングは「セゾンポケット」のリリースを半年後に控えていた時期ですが、当時のプロジェクトはどのような状況でしたか。
セゾンポケットの開発とBaaSの開発の両方が集中し、結構大変な時期でしたね。当時、BaaSの基盤上には既にアプリケーションが一つ(自社プロダクトの「STREAM(※3)」)乗っていて、セゾンポケットが二つ目のアプリケーションになる予定でした。BaaSはプラットフォームなので、当然ながら複数のアプリケーションに対応できる状態でないといけないのですが、そうなっていなかった部分も色々とありまして。複数アプリケーション展開に対応するための大幅改修、セゾンポケットの機能(投資信託サービスなど)に合わせた追加機能開発、セゾンポケット自体の新規開発と、開発案件が目白押しでした。リリース後もそのまま保守開発に関わったのですが、機能追加やバグ修正などがありまして、そこから半年ほどはわちゃわちゃしていましたね。
– なるほど。思っていたよりハードでした(笑)。大木さん的には、振り返ってみてそのプロジェクトでどんな学びがありましたか?
保守性や拡張性を考えた実装の重要性が身に沁みました。初期の案件でご一緒した「やすさん」という先輩がいまして、彼から拡張性や保守性が大事だという話を聞いていたのですが、そのときは漠然とした理解で終わっていました。
その後このプロジェクトを通して、自分が関わったシステムを実際に保守する立場になってみて、どういうコードだと運用保守しづらいか、その結果どういう影響があるのかなどを身をもって知ったんです。やすさんのアドバイスがすごく腑に落ち、そこからはかなり保守性・拡張性を意識するようになりましたね。
▼「やすさん」こと、山﨑康行さんの記事はこちら
– 続いて、セゾンポケットの後はどんなプロジェクトに関わったのでしょうか。
次に関わったのは「Wealth Wing(ウェルスウィング)」という一任投資サービスで、こちらも同じくBaaS上で展開する証券サービスです。セゾンポケットの改修が落ち着いた頃に、ちょうどWealth Wingの開発が始まるという話を聞き、また新規の開発に身を置きたいと思って手を挙げました。テックリードがやすさんで、チームメンバーは私を含めて3名です。リリース自体は2020年11月でしたが、4〜5月頃に開発に着手し、9月にはほぼ完成していました。
– 新規サービスがその人数で約4〜5ヶ月間での完成って、かなり早いですよね。
BaaSが基礎的な機能を用意してくれているので、エンジニアはその上に載るアプリケーションに必要なロジックだけを考えればよく、開発規模はそこまで大きくならなかったんです。まさに、BaaSの強みだと思いますね。
そしてそのプロジェクトで、やすさんから「そろそろリーダーやってみたら?」と言われ、その次に携わった 「Goal Navi(※4)」という新しいプロダクトではサーバーサイドのリーダーとして参画することになりました。
設計スキルに、チーム開発。さまざまな面で成長を実感
– 初のリーダー案件は、どうでしたか?
めちゃくちゃ大変で、その分、めちゃくちゃ成長できたと思っています。
開発チームは、リーダーの私と、データベース(DB)やインフラに強いスペシャリストなエンジニアが一人、業務委託の方が一人という構成でした。DBやインフラ周りはスペシャリストの方にお任せし、業務委託の方には管理画面周りを丸ごとお任せし、私は主にアーキテクチャやドメインロジックを担当することになりました。
これまで関わったBaaS上のアプリケーションは、BFF(Backends For Frontends)に近いというか、BaaS側のAPIを読ませる前提で、フロント側のためにデータを加工して書くような設計が多かったんです。
一方でGoal Naviは、かなりフロント側にロジックを持っていて、それを形にする上で、相当なドメイン知識や商品理解が求められました。幸いにも、PMやBaaSプロダクトのリーダーなど、ドメイン知識の豊富な方が周りに大勢いたので、毎日のように壁打ちや議論に付き合ってもらいながら、一つひとつ設計を進め、最終的にはかなり複雑なロジックを完成させることができました。これは大きな成功体験になりました。
– 少数のチームで、難度の高い案件に挑んだんですね。
はい。そもそも、自分一人であれだけの大きさのサーバーを作ったことがなかったんですよね。単純にコード行数だけで測れるものでもないですが、Finatext内、特に証券ドメインの中ではトップクラスに多いほうだったんじゃないかと思います。
そして、先ほどの話にもあった「拡張性」や「保守性」に関しても、しっかりと考えられた設計にできたと個人的には思っていて。実際、リリースされてから現在(2022年8月)まで半年弱、大きなバグもほとんどなく安定運用できているので、自信につながりました。
あとは、少数のチームであること自体は個人的には良かったですね。アーキテクチャの一貫性を保ちやすかったですし、チーム人数が増えるとリーダーはコードレビューなどコードを書く以外の仕事が増えがちですが、私は常にコードを書いていたい人間なので、自分自身もバリバリ手を動かせたのは良かったです。プロジェクトの終盤、GitHubのコード行数をチームで確認したことがあったのですが、追加した行数が3人ともほぼ同じくらいだったんです。プレイヤーとしても満足のいく働きができ、それでいて、チームのリーダーとしてバランスを保ちながら一つのソースコードを完成させられたというのが、得難い経験になりました。
リーダーとしての目標。後進育成にかける想い
– 数年で相当成長された印象を受けますね。そんな大木さんの目標や今後目指す姿を聞いてみたいです。
絶対に手は動かし続けたいですね。自分自身の技術力はまだまだ磨く余地が大きいですし、特にアーキテクトに関してはもっと考えられることは多いです。少なくとも今後10年は技術に重きを置いて進化していきたいと思っています。
会社としては、私が2018年に入社したときと比べて、エンジニアの人数が倍以上になっています。これから先も組織がどんどん大きくなることを考えると、ジュニア層の採用・育成は増えていくはず。自分がどのように貢献できるか、育成の観点で何に気をつけるべきかについても、最近は色々と考えています。
– 具体的にどんなことを考えているのでしょうか?
最近悩ましく感じているのが、相手の書いたコードに対して、何でもかんでも「こういう風に書いたほうがいいよ」と指摘することが果たして良いのかどうか、というもの。お手本を見せるだけでは、相手が自分で考える力を削いでしまい、成長につながらないのではないかと。逆に、その後の保守まで自分で面倒を見ることを前提に、ある程度自由に書いてもらったほうが、本人の経験になるのではないかと思っています。「この書き方をすると、後でこんな風に困るのか」を身をもって知るのが一番の学びにつながるんですよね。
– かつての大木さんがそうだったように、ということですね。ちなみに、これから入る方で、こういう方が向いているのでは?と感じる人物像はありますか。
スキルの不足分をちゃんとキャッチアップしていけるなら、入社時点で必ずしも技術力が高い必要はないと思いますが、将来的にはチームを引っ張っていったり、リーダーになれる素質を持った方のほうが適していると感じます。現場の第一線で手を動かしつつ、チームリードもするイメージですね。簡単な話ではないですが、テックリードのポジションを目指そうと考えている方にとって、そういった機会に恵まれていることは確実なので、ぜひ挑戦していただきたいなと思っています。
– ありがとうございます。話は変わりますが、プライベートでも大きな変化を迎えられていますよね。
そうですね。今年7月に、2人目が産まれました。上が2歳の男の子、下が0ヶ月の男の子で、二人ともまだ小さいので結構プライベートはてんやわんやですね。
– 小さいお子さんを2人抱えての仕事は大変かと思いますが、どのように両立されているのでしょうか。
リモートワークと裁量労働制にかなり助けられていますね。今は、上の子の保育園への送り迎えを私がしているため、日中に実質的に使える時間は8:30〜17:30がMAXです。そこに通勤で往復2時間かかってしまうとなると、もはや仕事の時間が確保できないので、基本はリモートワークにしています。そして毎日17:30まで働いたら育児に切り替え、子どもが寝静まった21時以降にまた少し働く、といった柔軟な働き方をさせてもらっています。ちなみに、出社する際はベビーシッターを利用していますが、福利厚生でベビーシッター割引券(※5)があるのも助かります。他の社員も育児と両立されている方は多いですし、育児との両立に対する会社の理解はすごく得やすいと思います。
– 週末はお子さんと過ごされていると思いますが、何か自分なりのリフレッシュ方法はあったりしますか?
子どもができてから外食の機会も減ったので、代わりに土日の昼は美味しいパスタを作ることが最近の楽しみだったりします。YouTubeでイタリアンのシェフが公開しているレシピを見て、試行錯誤しながら味を追求しています。なかなか一発でうまくいかないことも多いのですが、先日作ったプッタネスカ(アンチョビやケイパー、オリーブを使ったトマトソースのパスタ)は一回目で大成功。めちゃくちゃうまくて、それ以降すでに4~5回は作っています(笑)。
– いいですね!ぜひ私も食べてみたいです。本日はありがとうございました。
***
▼大木さんのMeety(カジュアル面談)
▼証券事業で募集中のポジション
▼証券事業エンジニアの採用情報
▼ほかのエンジニアのインタビューはこちらから!
この記事が気に入ったらサポートをしてみませんか?