Tanzu Labsのエンジニアはどの技術領域が得意なのか?

Kentaro
Product Run
Published in
Aug 29, 2023
Photo by Mohammad Rahmani on Unsplash

VMware Tanzu Labs のソフトウェアエンジニアのKentaroです。

社外のエンジニアの友人と飲んでいるときに

「Kentaroって普段、開発で使う技術スタックって何?」

と聞かれることがしばしばあります。

回答としては

「プロジェクトによる」

ということになってしまうのが実際のところです。

私たちTanzu Labsのエンジニアはプロジェクトが始まる際、技術選定をするのですが、その際のメンバーの知識や活用できる既存リソースの有無などでかなり柔軟に利用する技術を変えています。

私たちがよく使う技術スタック

ですが、私たちがベースとして得意で好んでいる技術はあります。特別な要望がない場合は、これらの技術から選ぶことが多いです。

Frontend

  • React
  • TypeScript
  • Sass

Backend

  • Spring Boot
  • Kotlin

Mobile

  • iOS (Swift)
  • Android (Kotlin)

技術選定が済んでプロジェクトが始まると、Frontend / Backend / Mobile 全ての実装をペアプロのローテーションをしながら行います。

ですから、私たちは一通りの技術領域において、プロダクトを完成させることができるだけの技術力を持ち合わせている必要があります。

いわゆる「フルスタックエンジニア」というやつです。(かっこいい!)

フルスタックエンジニア ≠ 専門性がない

一方で、「フルスタックエンジニア」と聞くと「どっちつかず」、「専門性がない」エンジニアと捉える考え方もあるかもしれません。

図にするとこんな感じのイメージでしょうか。

Tanzu Labsのエンジニアたちは専門性がない?

満遍なくそれぞれのスキルがあるようなイメージです。

ですが、Tanzu Labs のエンジニアたちにおいては実態はかなり異なります。

私の体感はこんな感じのイメージです。

Tanzu Labsのエンジニアたち

みんな偏った得意な(and/or 好きな)技術領域がありつつ、他の領域も問題なく扱えますよ、くらいな感じです。

こうなっている背景としては、Tanzu Labsは転職して入ってくるメンバーが多く、過去にそれなりの経験を特定領域でしてきた人がほとんどであるということが大いにあります。

そして、Tanzu Labsに入った後に、各プロジェクトで(半ば強制的に)あらゆる領域の開発に携わる中で、結果的にフルスタックな知識と経験を得たエンジニアが多いため、上図のような凸凹したスキルセットになっているわけです。

つまり、逆にいうとメンバーの中には入社時点ではある特定の領域は「ほぼ経験ないっす!」なこともよくあります。(私はフロントエンドはほぼ経験なかったです苦笑)

そんな我々が知識を引き上げるのにも、ペアプロが一役買っているわけです。

専門性が偏っているからこそペアプロが楽しい

他の記事でも紹介していますが、Tanzu Labsのエンジニアメンバーは毎日の業務で2人1組のペアプログラミングをしています。

そして、この専門性のばらつきが、ペアプロを「知らなかったことを超効率的に習得できるチート行為」に昇華してくれます。

ChatGPTをもってしても、思いつきもしない知らないことを聞くことはできません。

自分よりも専門性が高いエンジニアとペアプロをしていると、思いもよらなかったような学びを教えてもらえることはしばしば。

技術的な好奇心が強いエンジニアならこれほど楽しいことはないですよね。

逆に自分の方が習熟度が高い場合には、ペアの相手に教えてあげることでチーム全体の技術力の底上げにつながりますし、説明することで自分の中での知識の習熟度にも磨きがかかります。

何より喜んでくれるはず。

専門性は偏っているが、偏り方は日々変化している

さて、各エンジニアの専門性は過去の経験に大いに依存しているのは事実でしょう。

ですが、日々業務の中で広い領域に触れたり、学んだりしているうちに専門性はどんどん変わっているんじゃないかと感じます。

たとえば、私はモバイル領域の開発経験が過去は多かったですが、Tanzu Labsに入ってからはBackendやInfraまわりに経験や関心も移っており、自分の専門性の凹凸もだいぶ変わってきたのではないか?、と。

また、ペアプロや雑談を通じて、「あれ、この人この領域こんなに詳しかったっけ!」って思うこともよくあります。

こういったことが起こっているのも、

  • 多様な経歴のエンジニアがいる環境
  • 様々な技術スタックを採用し得るプロジェクト環境
  • 同じエンジニアが複数の技術領域を開発する環境
  • ペアプロする環境

と言う、技術的なカオスというか、るつぼとでも言えるTanzu Labsの特殊な環境によるものなんだろうなと思います。

そして、Labsのエンジニアを強くしてくれているんだろうな。

1年後には何エンジニアになっているのだろう?

この記事を書きながら、1年後には自分の専門性は何になっているのだろうか?と夢想していました。

そして同時に、常に刺激的な技術を経験・吸収させ続けてくれるTanzu Labsの環境に感謝の気持ちと共に締めくくろうと思います🙏

おわり

--

--

Kentaro
Product Run

Full stack software engineer at VMware Tanzu Labs, working on front-end (React/TypeScript), back-end (SpringBoot/Kotlin), and infrastructure (AWS/Docker).