エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

M3 における CTO - 権威ではなくロールとしての CTO

2019 年度から M3 (日本)の CTO を Global CTO の Brian から引き継いだ矢崎(id:Saiya)です。

...とは言いましたものの、CTO という単語は幅広い解釈が可能であり、M3 の CTO がどのようなものかというのも自明ではないように思われます。

そこで、弊社の特性・魅力の宣伝も兼ねて、M3 における CTO が(現時点で)どのようなことを目指しているのか、を記してみました。


エムスリー (株) について

弊社は2000年の創業から 19 年弱を経ている企業です。

「インターネットを活用し、健康で楽しく長生きする人を一人でも増やし、不必要な医療コストを一円でも減らすこと」をビジョンに、インターネット・コンピューティング技術を活かしたビジネスを展開しております。

f:id:Saiya:20190315152644p:plain

19 年という歴史はありますが、しかし会社説明資料*1の背景画像の建設中のサグラダファミリアが暗示しておりますように、事業の新規拡大・成長余地はまだまだ存在する、というのが弊社の考えです。

そのような中で、技術的側面を中心にエンジニアリングを補佐する意味合いで CTO を拝命いたしました。

CTO (Chief Technology Officer) とは...?

CTO と言いましたものの、企業によってニュアンスに違いがあるのが現状であり、厳密な定義は確立されていないのではないでしょうか。そこで語義に立ち返りますと、英語の officer"A person holding a position of authority" すなわち階層構造上の権威を持つ人と解釈できます *2

よって、CTO の言葉上の意味としては「エンジニア組織階層上の第一権限・権威を持っている人」が自然なように思われます。

M3 におけるエンジニアリングと CTO のロール

では、M3 のエンジニアリングにおいて、 権限・権威を持っている人 が必要なのでしょうか?

私はそのようには考えませんし、業務執行役員 VPoE (VP of engineering) の山崎も同意見でした。

なぜならば、M3 のエンジニア文化の良い点として、 Microservice 的な分散・自治の文化 *3 があります。例えば特定の技術を採用するべし!といった圧はなくチームごとに自主的に採用技術を決めていますし、全社の文化的にも上意下達よりもフラットな文化が重視されています。

権限・権威に基づいて動くのではなく、お互いをプロフェッショナルとして尊重*4し対等なプロとしてロジカルに対話して物事を決めてゆくというのが弊社の文化であり良い点です。なので、その美風を維持しまた高めてゆくというのが意図するところです。

また、前掲の会社説明資料にありました通り、弊社は 2018 時点で事業タイプ数 26、展開事業数 41、売上 945 億円の規模となっております。このように多様なビジネス・サービスが存在するため、CTO という個人が全てのプロダクトやチームの状況を常時完全把握するのは不可能です。

この点を踏まえても、それぞれのプロダクトの状況を最もよく知っている各チームの判断が尊重されるべきものと私は考えております。

上記の考えに基づき、M3 における CTO としては以下を目指しております:

  • こうしてゆく: 多サービスを展開・維持するための足回りを手伝ったり応援する役割のエンジニア (ロールであり、対等なエンジニア)
  • こうではない: トップダウンな意思決定をする、技術者の上に位置する上司・役員 ("CTO" の原義である権威・権限のイメージ)

今後の取り組み

まだ始まったばかりでありピボットする可能性もありますが、例えば以下のような取り組みを考えております:

  • 全体でやるとメリットがある or スケールする技術課題の推進
    • 例えば Distributed Tracing の導入推進など
  • サービスの立ち上げや改善の現場に混ざって支援
    • そこで得たものを他のチームへもフィードバック
  • その他、サービス立ち上げ時などのレビューにも混ざって技術面の知見支援や情報交換をする

このような取り組みを通してエンジニアをエンパワーメントし、その結果として「インターネットを活用し、健康で楽しく長生きする人を一人でも増やし、不必要な医療コストを一円でも減らすこと」をしてゆけたらと存じます。

See also

本記事とあわせて、事業や組織の拡大をエンジニアリング観点で担う VPoE (VP of Engineering) 山崎のインタビュー記事などもご覧いただけますと、より弊社の社風や雰囲気を感じていただけるかと存じます:

www.m3tech.blog

We are hiring

弊社のフラットかつ個々のエンジニアが活躍する文化や、あるいは技術が好きな人間が集まっている点、または 本ブログQiita で発信しておりますさまざまな取り組みなど、何かしらの点に少しでもご興味をお持ちいただけましたら、ぜひ下のリンクよりご応募ください。

カジュアル面談でお話しいただくことで、あなたのバックグラウンドに応じたより的確な情報をお伝えできればと思います:

jobs.m3.com

*1: 2019 年 1 月の会社説明資料 p25 より引用

*2:また、CTO という単語の由来の説の一つとして、軍組織における技術面の意思決定を行う将校というものもあるそうです: https://en.wikipedia.org/wiki/Chief_technology_officer

*3:この表現は私が使っているフレーズですが、社内のシステムの技術的な実態としても microservice 的な構成が多いです。そのようなシステム構成自体が企業文化を反映しているのではないかとも個人的には思っております。

*4:このフレーズは創業時からある 3 つの行動規範のうちの一つです。クライアント・いい仕事に対する執着心、社長意識を持って仕事に臨む、みなをプロフェッショナルとして尊重、の 3 つが掲げられています

どこでもKotlin #7 〜Kotlin MPP特集〜 を開催しました

こんにちは、エムスリー エンジニアリングGの大和です。

3/27 (水) にCrowdWorksさん *1 のオフィスをお借りして、「どこでもKotlin #7 〜Kotlin MPP特集〜」を開催しました。

m3-engineer.connpass.com

発表内容

発表順に内容および資料を紹介します (敬称略)。

KotlinAndroid/iOS両対応事始めのつまづきポイント -- yashims85(モバイルファクトリー)

yashims85さんからは、Kotlin/MPPでクロスプラットフォーム対応する場合のつまずきポイントをご共有いただきました。 Vue Router InspiredなライブラリKoRouter *2 も開発されているそうなので、是非チェックしてみてください!

続きを読む

スプレッドシートライブラリHandsontableの1セルで構造化されたデータを扱う

エンジニアリンググループでアンケートを作るためのシステムを開発している岩本です。

エムスリーが実施するアンケートでは、薬剤ごとの処方数や患者数などを入力してもらうために、下記のように表形式で数値入力を大量に入力してもらうことが頻発します。 f:id:cpw:20190328103315p:plain

上図のように5 * 10程度の表となることも珍しくありませんし、それが1アンケート中に複数ページでてきます。 また、入力値のバリデーションを定義しますが、全て同一ではなく、少しだけ異なっているため、全て同一の定義とすることもできません。

アンケートを作成する人は、このバリデーションの定義をしないといけないのですが、普通のWebシステムのインタフェースだとかなり辛いものがあります。 マウスでぽちぽち5 * 10もの定義をひたすら繰り返すことも現実的ではありません。

そこで、スプレッドシートUIライブラリのHandsontableで大量のバリデーション定義を効率化したので、その紹介をします。

続きを読む

try! Swift Tokyo 2019に参加してきました&アンケート結果

エンジニアリンググループの古川です。エムスリーは、3/21(木)から3/23(土)に開催されたtry! Swift Tokyo 2019にゴールドスポンサーとして協賛しました。当日は多くの方に弊社ブースに訪れていただき、ありがとうございました。今回は、ブースで実施したアンケートの結果を発表します。

f:id:yuki-furukawa:20190325160203j:plain
エムスリーブース

続きを読む

GAE/Goで技術書典むけのダウンロードカードアプリを作った

f:id:juntaki1:20190325094426j:plain
写真はサンプルなのでがんばって読み取っても何もダウンロードはできません

エンジニアリンググループの滝安(@juntaki)です。 技術書典6で頒布する「エムスリーテックブック#1」の「第5章 GoでAPIサーバをはやくつくる」を担当しています。紙書籍と合わせて電子版としてダウンロードカードも頒布する予定です。

techbookfest.org

担当した章では、Webアプリのアーキテクチャの話や、GoとgRPC-WebでAPIサーバーをコード自動生成を活用して作っていく方法について説明しています。いま仕事で作っているGo製Webアプリの設計ドキュメントになる予定だったものを、サンプルアプリを題材に変えて書いたものなので、Go初心者〜中級者まで、役に立ちそうなノウハウが入っていると思います。

さてここからは、サンプルアプリとして作ったダウンロードカード作成のためのアプリの機能を紹介します。(中身の解説はぜひ書籍で確認してください!)

github.com

続きを読む

コンテナベースシステムのデザインパターンに関する論文紹介

エンジニアリンググループ AI・機械学習チームの笹川です。 今回は、コンテナベースシステムのデザインパターンに関する論文 Design patterns for container-based distributed systems について紹介します。

なお、この記事は、社内勉強会であるM3 tech talkで紹介した内容をまとめたものです。 M3 tech talkは、エムスリー赤坂オフィスで隔週で開催されている5-20分程度のLTを数件行う勉強会で、そのトークテーマの振れ幅は最近の数回でも筋トレ、型システム、3Dプリンタ、量子コンピュータなどこのブログの数段上で、個人的にも毎回楽しみにしています。 M3 tech talkは、外部からの参加・登壇も歓迎しています。興味のある方はぜひ以下からお問い合わせください。

jobs.m3.com

続きを読む

技術同人誌『エムスリーテックブック #1』に「IT インフラ 10-20年史」という題で参加します

手書き文字「Infrastructure」の写真 (写真*1

こんにちは。エンジニアリンググループ、SREチームの池田(@progrhyme)です。

先日の記事で紹介したように、エムスリーエンジニアの有志で技術書典6に出展することが決まっています。

私もこちらに執筆メンバーの1人として参加しています。

技術書典6は、来る4/14(日)池袋サンシャインシティで開催されます。
下記が私たちのサークル「エムスリーエンジニアリンググループ執筆部」のサークル詳細ページです。

ブース位置は 「か59」 となっております。
どうぞ、チェックリストに追加の上、ブースまで足をお運び下さい。 お待ちしています!

続きを読む