見出し画像

元フクロウラボエンジニア、退職者インタビュー(高木さん)

フクロウラボ取締役CTOの若杉です。今回はフクロウラボを卒業したエンジニア高木 勇気さんへのインタビューになります。転職先でもエンジニアとしてバシバシ開発を行いながら幅広く活躍されている様子ですが、フクロウラボにおいても、チームリーダーとして、エンジニア組織の一躍を担っていただいた方です。フクロウラボを退職して半年、現在の状況やフクロウラボ時代についてお伺いしました。

(右)フクロウラボ入社当時の高木さん

IaCも開発の一部?

若杉 今日は退職者のインタビューになります!早速ですが、今の職場
ではどのようなことをしているか、簡単にご紹介いただけますか?

高木 直近では、バックエンドの機能開発を担当していることが多いです。バックエンドの開発言語はrubyで行っています。あと、インフラをterraformで改修することもありますし、フロントエンドも関わることもたまにあるような環境です。

若杉 なるほど。terraformというワードが出てきたのでついでにお聞きしますが、IaC(Infrastructure as Code)ツールとして使っているのはterraformだけですか?ServerlessFrameworkなども併用していたりしますか?

高木 そうですね、ServerlessFrameworkも使っています!

若杉 terraformとServerlessFrameworkの住み分けにルールなどあります?

高木 実は、まだそれらの住み分けについての明確な定義がまだ決まっていないのが現状です。terraformとServerlessFrameworkの住み分けについて、最近ちょうど、考える機会があり、僕なりの提案を資料にまとめて、インフラチームに相談しようとしていたところだったんですよ!

若杉 そうなんですね!そのあたりについては、改めて別途の回のテーマとして、じっくり情報交換したいです!ちなみにフクロウラボでのざっくりとした方針としては、基本的にはterraformを使用します。ただ、ServerlessFrameworkを使った方が便利になりそうなリソースに関しては、ServerlessFrameworkに切り出して管理するという感じで、ServerlessFrameworkの美味しい部分をなるべく使う方向になってきています。terraformとServerlessFrameworkのハイブリッドな管理はいろいろ考えさせられますよね。

高木 そうですね。terraformに関しては、基本的には公式なベストプラクティスに準じてやっていると思います。

若杉 terraformのstateの管理1つとっても、どういう粒度で管理すべきか割と議論になったりしますしね。

高木 stateファイルは、基本的にはS3で共通で管理はしますが、プロジェクト毎で1つだったり、ネットワークやIAMの権限系などのリソースカテゴリ単位で分けたり、確かに、いくつかスタイルがありますね。

若杉 なるほど。terraformとServerlessFrameworkの管理については、また改めて話す機会を設けましょう!
いきなり話がそれちゃいましたが、話を戻すと、現職では開発自体だけでなく、インフラなどにも幅広く携われる環境なんですね!

高木 はい、パーティと呼ばれる機能別でチームが設定されていますね。構成としてはPdM1名、バックエンド2名、フロントエンド1名、デザイナー1名といった構成が多く、インフラの専任担当はいないことが多いです。なので、インフラも自分たちのチームで考えます。会社全体を横断的に受け持っているインフラチームは存在するので、その人達に相談しつつ進めていますね。その横断的に受け持っているチームも、インフラだけでなくSREっぽいこともやっていたりします。

若杉 自分たちで考えつつも、横断的に見ている有識者にも相談できる環境はすごくいいですね!

エンジニアとしての成長意識

若杉 フクロウラボを退職を決断するきっかけや原因みたいなことがあったら教えてほしいのですが、どうでしょうか?

高木 自分の成長速度が鈍化しててきているなと感じたのがきっかけで、今までに自分が体験したことのない環境への興味が高まっていきました。

若杉 なるほど。当時は確かにフクロウラボのメイン事業は広告のアフィリエイト事業のみだったので、大きな部署異動みたいなのがなく環境が限定されがちというのは課題だったと思います。ただ、今は割と新規事業の立ち上げが本格的になってきていて、業務委託も含め積極的な採用して開発リソースの拡充を行いました。他の事業への異動も出てきていますし、ちょっとずつ多様な事業や環境が社内に増えてきたとは思います。

高木 いいですね!その当時は、「もっと大きな規模会社の環境はどうなんだろう」と考えていました。今までに体験したことのない規模の会社の開発体制や組織構成、環境に興味が湧いてきて、そういった環境に身を置くことで成長につなげようと思いました。

若杉 最初に退職を相談してから実際の退職まで間があったと思いますが、その間のフクロウラボの社内メンバーの反応はどうでしたか?

高木 結構温かく受け止めてくれたと感じています。退職までに日数がありましたが、雰囲気が壊れるということもなく、最後まで仕事はやりやすかったです。
「次はどこに行くんですかー?」と聞いてくれたりと、僕の転職をナチュラルに受け止めいているメンバーが多かった印象です。

若杉 技術的な面でリードしてくれるシーンが多かったので、やはり、みんな、「ええ!そうなんですか…」とショックを受けていましたよ!

高木 (笑)

環境の変化で増えた学び

若杉 今、改めて振り返って、フクロウラボに入社して良かったことはありますか?

高木 まず、僕は自社プロダクトの会社に入ったのがフクロウラボが初めてだったので、自社プロダクトの開発というところで学びは多かったです。特に会社のカルチャーの部分で、今までいた会社とは全然違っていて、「こんなことも許されるのか」とポジティブな意味で驚きでした。
例えば、技術的負債の改修でシステムをリプレイスしようとか、その際は、新たな言語Goを使おうとか、非常に自由度が高く、いろんな技術に触れる事ができたのは良かったなと思います。
あと、広告システムの裏側の仕組みがわかったというのも面白かったですね。広告の効果測定ベンダーというレイヤーが存在していたりとかデータの流れ、流通の仕組みだとかは勉強になりましたね。個人的には、webの一部で使われているbeaconタグを埋め込んで色んな情報を取得する手法は興味深かったです。それまでは広告の仕組みを意識したことがなかったので。

若杉 ちなみに、開発以外のところではどうですか?

高木 社内の営業の方と距離感近くお話する機会が多かったというのがあります。どういうことかというと、開発している管理画面のユーザーは広告主やメディアさんだけでなく、レポートの分析とかでみる社内の営業さんが一番のユーザーだったりもするので、そういったユーザー目線で営業さんから課題を直接聞くという経験が、今までの会社ではなかったので勉強になりました。

専門領域のアドバイザーとしての技術顧問

若杉 フクロウラボが「ここを改善したらもっとよくなる」と思うところはありますか?

高木 はい、いろいろ挑戦をさせてもらえる環境はすごく良いと思うのですが、ちょっと技術的に詰まったりした際に、自分たちで努力して解決するだけでなく、より専門的な内容を高い視点で相談できる技術顧問がいると良いと思いました。

若杉 そうですよね、技術顧問がほしいという要望は他のエンジニアからも出ていました。実は今は技術顧問の方をお願いしています。フクロウラボでは、AWSをメインで使用していて、その中でもサーバレスな環境での開発がほとんどを占めるようになっています。ECS fargateだけでなく、AppSync、Lambda、DynamoDB、Cognito、SQSとかバックエンドのリソースとして使うことが多いです。そういったアーキテクチャに慣れているエンジニアは少なく、全体的に調査することへ時間を割かれていました。そこでサーバレス開発をより効率よく進めるために、自分達で調べる代わりに、技術顧問の方へ質問を投げて、回答やベストプラクティスを教えてもらうというスタイルで技術顧問の方にワークして頂いています。知名度があるエンジニアさんとソフトウェア設計について相談するとかではないですが。

高木 なるほど、そういった技術顧問もいいですね!現職の会社では、知名度のあるエンジニアさんが技術顧問をしていて、定期的に相談できる機会が設けられています。プロダクトに沿った簡単なお題を元に複数人で TDD や DDD を実践しながら練習しています。 技術顧問の方がやり方や方向性などを示して頂けるので別のチームではやったことを試しに取り入れて実践したりしています。 ゆくゆくは自分のチームでも取り入れて開発していきたいと思っています!

若杉 最近はDDDを意識するエンジニアは多いですよね。フクロウラボでは、技術的負債の改修で、マイクロサービス化する方向で解決することが多いのですが、どういった粒度でマイクロサービス化するのかやマイクロサービス化したそれぞれのコードでどこまで法則的にDDDに準じて作るべきかがディスカッションすることが多くなってきています。

引き続き大事にしてほしいカルチャー

若杉 フクロウラボで、良いと感じたカルチャーなどはありますか?

高木 そうですね、何か困ったことがあったら、他のメンバーに相談しやすいというのが、エンジニアチームのカルチャーとしてすごく良かったと思います。「ちょっとハマったからGoogleMeetで相談させてくださいー」とか「このタスク進めたいけど1人では心もとないので誰かペアプロお願いできる方いますかー」とかSlackで気軽に相談できるカルチャーは、新しく入ってきたエンジニアもすごくやりやすいだろうなと感じていました。

若杉 ありがとうございます、「このタスクはモブプロで進めよう」など、フクロウラボのエンジニアチームは協調性を重視してはいますね。ちなみに、今の会社でもペアプロ・モブプロはよく行っていますか?

高木 先程話した技術顧問の方へ相談する際は、モブプロで進めるのですが、普段の開発ではあまりペアプロやモブプロをやることは無い感じです。各チームの人数が4,5と少ないというのと、スキルが高い方が多いからなのか、役割分担をしたあとは各々で開発を進めることがほとんどです。チームのメンバーがもう少し増えたら、個人的にはペアプロの機会を増やしたいなと考えています。

共に学ぶ楽しさ

若杉 最後の質問です。一緒に働いたフクロウラボのエンジニアメンバーへ一言いただけますか?

高木 はい、これはですね…今も一緒に勉強会を行っているので、これからもよろしくお願いしますって感じです!

若杉 そうですよね…僕らも一緒に勉強できて非常に助かっていますし、あまり職場とかこだわらずに、エンジニアとして成長できたりとか、情報共有もしたりとかしてきたいと思っていますので、こちらこそ、引き続きよろしくお願いします!

(文章:若杉 竜一郎)

この記事が気に入ったらサポートをしてみませんか?