こんにちは、スタメンのエンゲージメントデザイン部で広報を担当している森田です。
本日は、不定期にお届けしているエンジニアインタビューの第4弾をお届けします。4回目となる今回は、バックエンドGで活躍するベテランエンジニアにインタビューしました!初めて読んでいただいた方は、ぜひこれまでの記事も合わせてお読みください。
▼モバイルアプリエンジニア インタビュー記事はこちら!▼
【プロフィール】
津田 恭佑(つだ きょうすけ)
1978年生まれ、愛知県出身。早稲田大学在学中に、プログラミングやRubyに興味を持つ。卒業後、SEの開発リーダーとして活躍。2012年にはWeb業界へ転身し、ソーシャルゲーム等の開発に携わる。2018年10月にスタメンへ入社。データ配信の仕組みなどサーバー側を担当し、TUNAGの発展に大きく貢献。入社2ヶ月後の社内アワードでは、ベストエンジニア賞を受賞。社内のあだ名は「つだっきょ」
これまでのキャリアを簡単に教えて下さい。
システムインテグレーター(SI)でのSE/プログラマーを10年ほど経験しました。最後の1年半は、シンガポールにある保守リーダーとしてチームをまとめていました。その時点でキャリアについて考え、このまま管理、マネジメントをするのではなく、やはりプログラマーとして生きたいと思い立ち、Web業界へ転身しました。
ゲームを含むウェブサービスの開発者として10年程度務めた後、スタメンに転職し、現在は、バックエンドグループとしてインフラ、devops的な業務を行っています。
大手企業で管理職をしていた経験もある津田さんですが、スタートアップであるスタメンへ転職。大きなギャップなどはありましたか?
自分としては、開発者として働きたいという意欲が強く、大手なのか、ベンチャーなのか、というところはあまり意識してませんでした。
スタメンは、自分が入社した頃は、ベンチャーと言っても数人ではなく既に40人くらいメンバーもいて、創業からも2年ほど経っていた頃だったので、コーポレート部がしっかりしていたということもあり、あまり会社としての体制で違いを感じることはなかったです。
その反面、キャリアパス等は大きな企業とは随分違うと感じています。大手企業のSIの場合は、キャリアパスが制度として整備、明文化されており、会社で定義されているパスにどう適合するか、その中で自分はどこにいくか、自分のキャリアを当てはめる形が多いと思います。
ベンチャーの場合は、提供しているプロダクトの必要とする技術や、チームとして不足して役割をやることが多いです。関わるプロジェクトによって特に技術面では必要になるものが変わりうるので、プロダクトや会社の成長を含めてなにが必要になるか考え、必要となるスキルや役割を自分で考えてキャリアをつくっていたので、ここが一番違う点だと感じています。
スタメンに入社したきっかけや経緯を教えてください。
直接のきっかけは、開発ブログを読んで、オフィスにお伺いさせていただいたことです。
当時は、創業事業である「TUNAG」1つのプロダクトをみんなで開発している環境だったので、これから何を目指してどうスケールさせていくのかがとてもイメージしやすかったです。
面談の際に、当時のCTO小林さんに、プロダクトビジョンや、具体的な技術の話などをさせてもらい、一緒にやっていきたいなと感じました。
私はいままで、売値が決まっている開発や、商流が確立したサービスに関わることがほとんどでした。組織や、サービスに大きな成長、変化がある環境や、そうした環境を選んだ人たちとチームとなれることがとても魅力的に映りました。
入社した時は、スマートフォンアプリのネイティブ化が始まったタイミングだったので、まず最初のプロジェクトとして、チャット機能のネイティブ化を担いました。Google Cloud Firestoreによるデータ配信の仕組みなどサーバー側を担当したのですが、入社前にいろいろ話を聞いた機能だったので、感慨深かったです。
津田さんの現在のお仕事について教えてください。
障害対応・大企業向けのTUNAGの負荷対策・パフォーマンス・チューニングを始めとし、エンジニアの開発環境の改善活動・エンジニアのステージング環境の増設・ドキュメンテーションによるチームへの展開なども行っています。
ドキュメンテーションについては、SIでの仕事と比較して言うと、ドキュメントは納品物ではないので純粋にチーム内や、自分自身への情報共有として作成しています。
設定内容や実装はバージョン管理されていますが、「どういう経緯でそうしたのか?」「これを変更しようと思ったらどうしたら良いのか?」などは将来忘れてしまったり、他の人にとっては理解できないことだったりするので、無駄なコストをかけず、必要なものを見極めて、ドキュメントとして残していくことを方針としています。チャットや情報共有ツールや勉強会など、その時に合わせて共有し、誰も知らない領域がないよう、言語化するだけではなく、改善案を示しながら、チームへ共有しています。
加えて、現在は新規事業としてオンラインファンサロン「FANTS(ファンツ)」をリリースしたので、インフラ構築なども行っています。
多岐に渡る業務を担当されているのですね!業務をする上で、大事にしていることはありますか?
調べて予測すること、仕組み化することを大事にしています。
パフォーマンスでは、ログの取得やパフォーマンスインサイトの有効化など、まずそもそも監視する手段を整備するのが重要で、それを観測する必要があります。まだまだ見えてないところ、見えてるけど改善できてない部分があるので、アプリケーションとしてのネックになる前に発見、改善していくことを目指してます。
障害対応は、サービスの成長に伴い増えており、監視、予測両面の対応が必要となります。仕組み化できる部分は、仕組み化していき、将来的には、自動で把握できるようにしていきたいですね。
普段どのように開発してますか?バックエンドGの開発フローなどを教えてください。
基本的にはチームによらず、同じ開発フローを使用しています。プロダクトオーナーやデザイナー含む関係者でのキックオフに始まり、プルリクエスト作成、レビュー、CIを通してからデプロイという流れになります。
ただ、バックエンドGで担当する開発に関しては、純粋にパフォーマンス面での改善や、セキュリティに関する対応など、エンジニア間で完結する開発が多いです。
今後SREとして、TUNAGとFANTSをどうしていきたいですか?
2つとも今度さらに成長していく事業なので、サービスを安心して利用していただけるよう、安定稼働させることが大前提ですが、現状はまだ必要に差し迫られてから行動していることも多い段階です。なので、今後は、サービスの成長に対して、事前に対応できるように予測して動いて行きたいです。
加えて、FANTSはTUNAGと異なりto Cのサービスなので、今後新たな壁が待っていると思いますが、TUNAGで培った技術や知識をチームとして十分に活かしてスケールさせていきたいです。
どんなSREでありたいと思っていますか?
提供しているサービスに必要な技術や機能が、どんどん外部の環境、サービスの状態によって変わっていくので、拘りを持たずに最適なものを、調査、採用できるようにしたいと思っています。
2~3年後になにが必要か、など中長期で考えてみて、フラットに技術を選定していきたいですね。
これからスタメンでチャレンジしたいことはなんですか?
これから必要になる技術スタックで埋められてないところがあると思ってるので、それらを埋めていきたいです。
ネイティブのアプリチーム、フロントチームは採用する技術も決まって、学びながら開発を進めていますが、バックエンド側には、Rails以外のサーバーサイド技術が現状ありません。今後、Webサイトではない、APIや、高いパフォーマンスを必要とされる機能の開発が必要になった際、第一の選択肢として検討できるものがない状態です。GolangやRustが有力だと思っていますが、そこは自分の趣味を兼ねてチャレンジしていきたいです。
バックエンドGではどのようなことを大事にしていますか?また今度、4人目には、どんな人がチームに入って欲しいですか?
バックエンドGには、3つのミッションがあります。
・システムの信頼性を担保し、事業の成長にブレーキをかけないこと
・事業の変化に素早く柔軟に対応できるような基盤を実現すること
・スタメンのエンジニア集団全体を技術でリードしていくこと
もし、今のメンバーに加わっていただけるのであれば、このミッションに一緒に挑戦してくれる方がいいですね。そして、ある程度SRE業務の経験があり、中長期的な視点を持って問題解決に向き合える人と一緒に働きたいです。
例えば、今は顕在化していないが、近い将来確実に事業成長の足枷となることは起こるだろうという問題意識を持って具体策を考えたり、働きかけることができる人。「僕らが事業を引っ張っていく」という意識を持てる、そんな方がいいですね。
SRE業務は調べながら経験を積んでいく領域です。わからないことを当たり前として自ら解決していける自走力を持ち、調べることが好きで解決策を探せる、探究心を持った人に仲間になってもらいたいと思っています。
津田さん、ありがとうございました。
バックエンドGでは、2つのプロダクトを少数精鋭の3人体制で運営しています。
4人目となる新たな仲間を募集しています。この記事を読んで興味を持ってくださった方はぜひ気軽にエントリーください。あなたのエントリーをお待ちしております!