「1人の開発者として以上に開発全体の質を向上したい」チームラボWebアプリエンジニアの”スペシャリストチーム”とは?
今回は、ソリューション事業においてWebアプリケーションのバックエンドやフロントエンド開発を担当するパッケージチームで開発責任者や"スペシャリスト"として働くWebアプリエンジニアメンバーにインタビューをしました。
チームラボのプロジェクトにおいて開発責任者が担う業務内容や、スペシャリストの役割などについて聞いてみました。
メンバープロフィール
チームラボに入る前の経歴を教えてください
父がIT関係の仕事をしているため、自分も将来IT関係の仕事に就くイメージが学生の頃からあり、大学は情報系の学部に入学しました。
大学卒業後は大手独立系Slerに入社し、新卒から2年間システムエンジニアとして働いていました。
最初の会社ではシステムエンジニアとして、担当する業務内容が限られていて、与えられた業務に対して自身のリソースが余ってしまうことがあり、次のキャリアを考えるとしたら多少業務量が多くなったとしても、エンジニアとして幅広い領域に関われたり、大きい裁量を持たせてくれる環境で挑戦していきたい、と考え始めるようになりました。
2つ目のキャリアとしてチームラボを選んだ理由を教えてください
まず、エンジニアとして幅広い領域に関われるという点ですが、自分が携わりたいと思っていた範囲は、例えばコーディングだけではなくアーキテクチャから関われて、要件に対してインフラ構成から考え、それを基に細かいスペックを検討し、APIの開発やチューニングまで担当できたら嬉しいと思っていました。そういった経験を積むことで、「こういうサイトの場合は、これくらい負荷が掛かるから、どういう時にどんな対応をしないといけないのか」のような一貫したWebサイトの構築に関する知識を貯めることができる環境を探していました。
始めは、事業会社から受託開発まで幅広く見ていたのですが、事業会社は巨大なサービスの開発に関われる一方で、エンジニアとして開発を担当する範囲が細分化されているように感じ、受託開発に絞って探していたところ、転職エージェントからチームラボを紹介してもらいました。
チームラボが手がける案件一覧を見ると、ECサイトから金融、スポーツなどクライアントの業界も幅広く、求人ページには本当に広い領域の業務内容が書いてあり、自分が求める次の環境として合っているのでは、と思い応募することにしました。
チームラボに入ってから開発責任者を担当するまでの経緯を教えてください
チームラボに入ってから最初に担当した案件は、株式会社電通/公益社団法人日本プロサッカーリーグ様がクライアントの『Club J.LEAGUE』というサービスの追加機能開発に参加し、チームラボの開発環境などについて知りました。
2つ目の案件では、新規の開発案件でゴリゴリ開発したいという希望を伝えていたところ、タイミングよく入れる日本航空様のエアラインブランドとして誕生した『ZIPAIR』の公式Webサイトの開発案件があり、アサインしてもらいました。
要件定義段階の案件だったため、設計から実装まで自分で担当する経験を積むことができました。
3つ目は現在進行中のため、詳しくお話しすることはできませんが、ユーザー数1千万人以上のとても大規模なECサイト開発案件で初めて開発責任者を担当することになり、現在案件が始まってから3年ほど経っています。
開発責任者が担当する範囲はとても広く、例えば要件定義フェーズでは設計や技術選定を行うだけでなく、技術的な部分に関してはクライアントに直接説明を行います。
この案件はかなり巨大な規模だったので、自らコーディングを行うというよりは、各メンバーと実装の方針をすり合わせたり、プロジェクト全体を見て、横断的にソースコードに関わり品質をチェックしたり、開発スケジュールの確認・調整などにリソースを多く使っています。
そもそも規模が巨大で仕様の決定が難航していたので、そのサポートに入ったり、あるチケットについてはメンバーと一緒に考えたり、仕様の決定方針や決定フローを整える部分を担当しました。
初の開発責任者で巨大な案件だったので、内部メンバーのチーミングやベンダーのコントロールなど大変なことは多かったですが、それこそ広範囲な部分を担当してみたかったので、沢山のことが学べたと思います。
”スペシャリストチーム”とは具体的に何をするしているチームですか?
チームラボのエンジニアとして一定の開発経験を積み、技術面やマインド面においてチームラボ内である一定の評価を得ると所属することができる、所属班や案件のチームとは異なるチームです。
スペシャリストチームは、いくつかのチームに分かれており、それぞれがチームラボのソリューションを特定の領域や方向性をもって強化、課題対策、研究、標準化などをしていくための専門チームです。
自分はその中でも『クオリティUPチーム』というチームに所属していて、炎上や障害件数を極力ゼロにすることを目標に活動しています。クオリティUPチームの担当部分は抽象的な点が多いですが、例えば各開発フェーズで押さえるべきポイントを各案件の開発担当者にインプットしていく、というのがあります。
具体的には負荷試験をする時にはどういう観点でどういうテストコードを書くべきか、開発フェーズでは開発初期に押さえておくべきことや、要件定義時に必ずドキュメント化すべき点などについて、スペシャリストチームで蓄積している情報を啓蒙することでハマりやすい落とし穴に落ちないようにサポートすることで、チームラボ内の開発案件全体の品質が向上するように日々改善策をチーム全体で考えています。
入社して数年は、プロジェクトでの経験を通して、さきほどお話ししたスキル面やマインド面の成長を重要視しています。その次のステップとして、ソリューション事業で重要視している専門のスペシャリストチームに所属できるキャリアを用意しています。例えば要件定義や上流設計、最適なアーキテクチャ、セキュリティ向上や負荷対策などといったサービスのクオリティアップに特化したチーム、開発基盤となるフレームワークやライブラリ、手が足りないときの実装支援などに特化したチーム、Webプロダクトの新規提案・開発、効率運用に特化したチーム、UI/UXの実装面で全体のクオリティや生産性を上げるための施策に特化したチームなど、いくつかのチームがあります。そこでは担当したプロジェクトだけでなく、事業全体に対して広くコミットしたり、プロジェクト横断的にナレッジを共有したりと、複数のクライアントに影響を与えるレベルのアウトプットが求められます。
開発責任者、スペシャリストチームを経験しましたが、更に次のビジョンはありますか?
チームラボに入って現在5年目ですが、大型案件の開発責任者や、スペシャリストとしての業務など、様々経験しましたが、今後のビジョンは、まさに最近悩んでいる部分です。
1つは、最近開発業務から少し離れているので一旦また開発者として、個人の技術力向上に集中してみるか、もしくは現在担当しているスペシャリストの延長になりますが、一人の開発者というよりかは、もう少し組織横断的に品質の向上や、高い品質が担保され続ける文化や組織形成の仕組みなどについてコミットしていくべきか、考えています。
ただ、チームラボ内で求められていることや、自身の市場価値を考えると、後者になるのかなと感じてはいます。
自身が過去に担当した案件から蓄積したナレッジを、1つの案件ではなく広範囲に還元していくことは、タスクは具体化しづらいし、恐らく成果も見えづらかったりすると思いますが、より大きな影響を与えられるエンジニアになっていきたいと思っています。
最後にどんなエンジニアがチームラボに入ってくれると嬉しいですか?
現在どれだけ高いスキルを持っているかも重要ですが、それよりも、自立して能動的に動ける人だと、与えられる大きな裁量を好機と捉えて様々なことにトライしていけるんじゃないかと思います。そういった人が自分の経験やアイデアをプロジェクトや会社に還元していってくれると、より強いエンジニアの組織を一緒に作っていけるのではないかと思っています。
いかがでしたでしょうか?
今回のインタビューでは、チームラボのパッケージチームで開発責任者やスペシャリストを務める板谷さんのインタビューをさせて頂きました。
大規模なサービスの開発前からプロジェクトに関わったり、開発案件全体の品質を向上することに興味のある方、ぜひ一緒にチームラボのスペシャリストチームとして働きませんか?
現在チームラボでは、一緒にものづくりをするメンバーを募集しています。
\今回の記事でご紹介した職種詳細はこちら/
次回の「メンバーインタビュー」シリーズもお楽しみに!