CTOによるエンジニアチーム紹介

公開 : 2020.10.12 
カテゴリー
タグ

こんにちは。CTOの十川です。
NCDCのエンジニアチームには、2020年10月現在、10人弱のエンジニアが所属していて、私はCTO(Chief Technology Officer)というロールをやっています。
NCDCにはエンジニアチームの他にコンサルチーム、デザインチームがあり、それぞれ特色があるのですが、今回はエンジニアチームの取り組みを紹介します。

NCDCの技術領域における特色を知りたいお客さまや、NCDCってどんな会社だろうという興味をお持ちの方の参考になれば幸いです。

NCDCのエンジニアチームのミッション

NCDCという会社名はNext ConceptをDesign、Consultingするという意味を持っています。そのため、エンジニアチームは「新しい技術や、モダンな開発手法で、新しい事業やサービスのコンセプトを実現すること」をミッションとしています。
また、そうした考え方やノウハウを対外的にアウトプットしていくことで、お客さまが新しいサービスを考えるときに「NCDCに相談しよう」と思っていただく種蒔きをすることもエンジニアチームの役割だと考えています。

NCDCではチームごとに1年間の方針や目標を決めているのですが、エンジニアチームでは上記のミッションを踏まえてメンバー間で議論しながら、「この1年でやるべきこと」を決めていっています。

例えば、2020年の目標はこんな感じです。

新しい技術を定期的に採用していく

5年に1度使う技術をアップデートするというのは、いろんな観点で難しいと考えています。例えば、5年間ずっと同じ言語、フレームワーク、アーキテクチャを使っていたエンジニアに明日から新しい技術でコードを書いてね、と言われてもキャッチアップが大変だと思います。常にその時良いと考えたフレームワーク、ライブラリ、クラウドサービスを採用することで、常に細かなアップデートをしながら進めていきたいと考えています。

外部へ情報発信していく

ミッションで書いたとおり、自分たちが新しい技術や、モダンな開発手法を採用し続けることを、外部の方に知ってもらうことは会社の事業という観点で必須です。その他にも優秀な人がNCDCで働きたいな、と思ってもらうためにも重要だと考えています。

NCDCが注力している技術領域

Webサービス、モバイル、IoT、AI/Machine Learningなど、NCDCのエンジニアチームでは幅広い技術を扱います。
NCDCくらいの規模だとある技術領域に特化している企業も多いので、よくこの技術領域の広さについて質問されるのですが、自分たちなりには事業性、やりたい方向性の2軸で分析して領域を選択しています。

下の図が、NCDCのエンジニアチームがどのような技術に注力していくかを検討するのに用いている資料です(2020年現在)

図の見方を簡単に説明すると

  • 上に行くほどNCDCのビジネスと相性が良い領域、下に行くほど現状ビジネスにあまりなっていない領域
  • 右に行くほど自分たちがやりたい/やるべきだと考えている領域

となっています。

こうしてマッピングしながらどこに注力すべきかを分析していくのですが、それぞれの領域に対しては、次のように考えています。

ビジネスになっていて、且つ自分たちもやりたい領域

上図右上のエリアが、現在NCDCのビジネスになっていて(収益面の貢献度が高く)、エンジニアチームとしてもやりたい領域です。
Reactなどを使ったフロントエンド開発はUX/UIデザインやサービス企画の事業との相性も良く、かなりの経験を積んでいるので技術的な自信もあります。また、サーバレスをはじめとするAWS、IoT、イメージ系MLも、新規サービスを実現するための技術としてNCDCのコアな価値を生んでいます。この領域は積極的に自分たちで汗を書いてノウハウ、経験を貯めます。

やりたいけど、現状ビジネスになっていない領域

上図右下のエリアは、エンジニアチームとしてはやりたい(その分野の技術を持った人も積極的に採用している)が、まだあまり収益面では貢献度が高くない領域です。
ドローンや、Voice Interfaceなどがプロットされています。ここに位置する技術については、社外向けのセミナーや、勉強会の開催、デモの実施など、マーケティング&セールスチームと協力してビジネスにつながる活動に取り組み、右上の領域に持っていけるように頑張るところです。

ビジネスとしてはあるが、注力はしていない領域

上図左上のエリアは、ビジネスの可能性はあるが、NCDCのエンジニアチームとしては取り扱う優先度が低いと考えている領域です。
引き合いなどはいただくのでNCDCが価値を提供できそうであり、それに見合った収益も見込める場合は取り扱うこともありますが、現時点では社内のエンジニアが担当してノウハウを貯める意思は低い領域です。RPAやWindowsアプリが対象となり、ここは外部のパートナーと協力していこうとしています。

やらない領域

上図左下のエリアは、NCDCとしてはビジネスの実績がなく、ここで収益を上げるための技術的な強みも無い領域なのでやらないと決めています。
例えば基幹システムのSIなどが含まれます(一方で、同じ基幹システム絡みでも「クラウド化のコンサルティング」などはNCDCの得意とする分野なので、この図では右上の領域に入っています)

エンジニアチームのイベント

NCDCのエンジニアは新しい技術を勉強したり、試したりするのが好きな人が多いのですが、それでも日々の業務が忙しいとモチベーションが上がらない時期はあると思います。そもそも個人のやる気や興味だけに会社が期待するのも違うと思いますので、皆が新しいことにチャレンジしたいという気持ちになれるような取り組みを行っています。

まだまだ改善の余地はあると思っていますが、今やっていることをいくつか紹介します。

週次の振り返りMeeting

毎週金曜日の夕方に2時間のチームミーティングの時間を取っています。
KPT(Keep、Problem、Try)のフレームワークに沿って、1週間の振り返りと、来週チャレンジしたいことをリストアップ。
この記事で書いたようなことも、僕(CTO)が一人で考えているわけではなく、この会の中で案を出し合っています。

勉強会

不定期で勉強会も実施しています(主に週次の振り返りMeeting内での実施)。
過去にはAWS勉強会、ディープラーニング勉強会、最近だとReactNative勉強会、Svelte勉強会などをやりました。他には今のエンジニアチームだとJavaScriptを書ける人が多く、モバイルアプリをネイティブで書く人は少ないので、Swift勉強会などもやっています。

勉強会だけで実務に必要なことをすべて習得できるわけではないのですが、皆でわいわい新しいフレームワークのチュートリアルをやるなどして、自発的な勉強以外でも学ぶ機会をつくっています。
こうした振り返り・勉強会は、あるプロジェクトでやったことの知見を、他のプロジェクトに共有するきっかけになるので、全体的に技術レベルを上げていくことに貢献していると思います。

ペアプロ、モブプロ、モブ作業

もっとエンジニアが少なかったときは、特定の人しか知らないプロジェクトや、インフラなどがたくさんありました。当時のバス係数(メンバーが何人バスにひかれたらプロジェクトが継続できなくなるかという係数。縁起悪い例えですね)は1だったと思います。

今は人数も増えてきたので、次のような取り組みをしています。

  • 一人プロジェクトは作らない
  • 詳しい人が一人でやったほうが早い場合でもモブ
  • 初めてやる作業もモブ

これには知識の共有以外のメリットもあります。
何年も続いているプロジェクトに入っていると、当時の技術で作ったものを長期間メンテナンスしなくてはならずモチベーションが湧きにくい、暗黙知が増えていって引き継ぎにくいという課題があると思います。
一方で、NCDCは新規サービスの支援に特化しているので、ひとつのプロジェクトが何年も続いている場合、それは成功(成長)しているプロジェクトだとも言えます。そうすると、少ないユーザー数ではじめたもののユーザー数がどんどん増えてきて、それに伴う新しい課題がでてくることがあります。

暗黙知を抱えて引き継ぎはできない。でも新しい課題も出てくる。そんな状況になると特定のメンバーだけがつらくなりますが、初期開発に入っていた人だけではなく順次他の人も入って共同作業することで、何かあったときにチームとして対応できるようになります。つまり、お客さまにとっても社内のメンバーにとっても危機的な状況を起こさないための備えになると思います。

まとめ

NCDCのエンジニアチームのことがなんとなくわかっていただけたでしょうか?
いろいろ書いていますが、まだまだチームとしてできていないところも沢山あるので、引き続き成長していけるように改善の継続と、新しいことにもチャレンジしていきたいと思います。

NCDCではフロントエンド、バックエンド、SRE、機械学習などいろんな職種でエンジニアを募集していますので、話だけでも聞いてみたいなと思った方は、採用情報ページからエントリーしていただくか、十川にメールください!( sogo@ncdc.co.jp )
勉強会に参加してみたいという方も(外部に公開できる内容の時は)受け付けていますので、お気軽にメールしてください。

ページトップへ

お問い合わせ

NCDCのサービスやセミナー依頼などのお問い合わせは
下記のお電話 また、お問い合わせフォームよりお気軽にご連絡ください。

050-3852-6483