1
/
5

Diverseが標準言語をTypeScriptとDartにした理由

標準言語をTypeScriptとDartへ。Diverseの新たな取り組みとは?

前回の記事ではDiverseが選定したエンジニアキャリア制度についてご紹介しましたが、2021年10月、Diverseではもうひとつ大きな変化がありました。

それが、Diverseの標準言語にTypeScriptとDartを採用したことです。今回は、標準言語の選定を進めたCTOの須藤さんに理由と経緯、そしてこれからの展望について聞きました!

標準言語にTypeScriptとDartを選んだ2つの理由

――須藤さんがCTOに就任して初めての大きな仕事が、標準言語の選定だったと聞いています。そもそも標準言語がどういうものなのか、教えてください。

須藤:端的に言ってしまうと、標準言語とは「Diverseが何かを開発するとき、優先的に使用する言語」のことです。よく知られたところだと、Google社が標準言語の使用を明言しています。そこで弊社でもたくさんあるプログラミング言語の中からどの言語を優先するか、会社方針として定めることにしました。国内に目を向けるとまだ、標準言語の選定を外部にアナウンスしている会社は多くはありません。そういった意味で、先進的な取り組みといってもいいかもしれません。

――そうなのですね。ではさらに進んで、今回なぜTypeScriptとDartを標準言語に選定したのですか?

須藤:はい、Dartにした理由は明確で、既にモバイルアプリ開発で使用していたからです。YYCとyoubrideのアプリ開発にはFlutterを使っています。そういう意味で、Dartを選択するのは自然な流れでした。

それに対して、モバイルアプリ以外で、標準言語を何にするかは迷いました。というのも、DiverseのWebフロントとサーバーサイドはPerlとRubyが混在している状態だったからです。ここは弊社が解決したい技術課題の一つでした。「2種類の言語を使用するのではなく、1種類の言語にしたい」と考えた結果、採用したのがTypeScriptでした。それまで、Diverseとしては積極的に使用してこなかった言語でしたが、VPoEと検討した結果、TypeScriptが最適だという考えに至りました。

――ちなみに、今回標準言語を選定するのはDiverseとしても初の取り組みだと思います。そういった点での苦労などはありましたか?

須藤:2021年9月にCTOに就任してほしいと代表から依頼があり、そこから1カ月間で部内調整を進めました。エンジニアへのヒアリングや、全社員へ標準言語の説明をする機会が持てたので比較的スムーズに進められました。その根底には、エンジニアたちに「言語を決めて技術負債を返済したい」という意識があったからだと思います。

TypeScriptとDartのメリット・デメリット

――標準言語の選定のメリット・デメリットについても教えてください。

須藤:メリット・デメリットは採用と技術の両方に存在します。

👍メリット

  • 技術面
    • 2つの言語で infra以外の領域をカバーできる
    • 言語スイッチが少ないので少人数で施策に取り組める
    • メンバー同士の知見が共有されやすい
  • 採用面
    • TypeScriptは採用母集団が豊富
    • 2つの言語を使用したいエンジニアが集まる

👎デメリット

  • iOSやAndroidのネイティブ機能に対応が遅れる可能性が高かまる
  • サーバーサイドでは、非メジャーな言語と構成なため、開発や採用で不利になることもあり得る

このように分けると、メリットの多さがわかります。特にTypeScriptは使用しているエンジニアが多いので、採用面の強化から考えると大きなメリットになります。また、以前はプロダクトによって使用する言語が統一されていなかったため、教える人・教わる人が限定的でしたが言語を統一することによって「誰でも教えられる」教育環境の強化につながります。

一方、デメリットも存在します。TypeScriptとDartを使用してサーバーサイドを構築するのは主流ではありません。メジャーな言語は他にもありますが、それよりも上記のメリットが重要だと考え、選定に至りました。

TypeScriptとDartが解決する技術課題とは

――技術面のメリットについて具体的に教えてください。

須藤:Diverseが抱える技術課題は大きく分けて2つあります。1つは、「Perlへの依存」です。現在、DiverseのプロダクトがPerlで書かれ過ぎている問題があります。Perlの採用事例が減っているため、発展の可能性が低く開発速度の低下が懸念されます。さらに、Perl人材の減少から、採用も困難になるでしょう。しかし、標準言語をTypeScriptとDartにすることで、上記の人材不足を防げる可能性が高まります。

もう1つは、「特定分野のエンジニアの不在」です。現在、Webフロントとインフラのエンジニアが不在で業務委託の方に開発を依存しているため、施策やリプレイスがなかなか進まないという現状があります。開発スピードの遅さを解決するには、やはり社内のリソースを最大限に使い、外部に依存しない仕組みが重要です。

いずれにしても標準言語を選定することでチーム内での知見共有が高まり、その結果、社内の技術力向上につながると考えています。

――標準言語の選定は、課題への取り組み方を根本から変えることにつながったのですね!

今後、Diverseの開発スピードを飛躍的に向上させていくために

――さまざまな課題を解決する取り組みとなった標準言語の選定でしたが、最後に今後の展望を教えてください。

須藤:標準言語の選定はスタートラインを引いたに過ぎません。目下進めているyoubrideのリプレイスをまずは成功に導くこと、そして2つの言語をエンジニアみんなが使いこなせるよう、サポートしていきたいと思っています。

一方、未だ残る課題もあります。その中で大きいのがインフラエンジニアの不在です。現在、インフラエンジニアは私と業務委託の方に頼らざるを得ない状況です。今後はこの課題解決に向け、インフラも社内で進められるよう、仕組みづくりや採用の強化をしていきます。

取り組む施策はたくさんありますが、一歩一歩Diverseは成長しています。これからも、みんなと一緒に良い開発組織をつくり上げ、良いプロダクトを生み出していくことに力を傾けたいです。少しでも弊社の取り組みに興味がある方は、気軽にカジュアル面談を受けてくれると嬉しいです!

――須藤さん、ありがとうございました!


Diverse採用ピッチ(会社紹介資料)

ContentsDiverseのカルチャーデッキ(DD) / 募集職種 / メンバーの働く様子

4 いいね!
4 いいね!
今週のランキング