エムスリー株式会社が語る 〜 エンジニアは現場で生きる、生き残る

医師向け会員制サイトを運営するなど、インターネットを使って医療情報を提供しているエムスリー株式会社。医療情報の提供だけではなく、電子カルテなど医療を軸としながらさまざまな領域でビジネスを拡大しています。

そのエムスリーは、エンジニアがエンジニアとしてずっと活躍できる環境があるそうです。今回は、エムスリーのエンジニアの方に集まっていただき、その理想のエンジニア像、キャリアパスについて語り合っていただきました。

ブライアンさんは、エムスリーのサービス開発、運用を全て指揮するCTO。木村さんは、2007年に入社してコンシューマ向けサービス、及び転職支援サービスエンジニアのマネージャーとして、メンバーのマネージメントからコーディングまで担当するエンジニアです。そして、山崎さんは、2007年に現在グループ会社のメビックスに入社。同じくグループ会社のCMSでは、電子カルテの開発をリードするCTOを務めています。さらには、エムスリーグループの研究開発プロジェクトのリーダーでもあります。

そんな技術畑の3人が、エンジニアってどうやって生きるべきかをテーマに語り出します。

■エムスリーのエンジニアが大切にしていること ~ アウトプットの最大化

キャリア・ラボ:
エムスリーのエンジニアが大切にしていることって、どんなことでしょう?

ブライアンさん:
我々は自社運営のサービスが収益源なので一人一人のアウトプットを重視しています。アウトプットの高い人であれば、少人数で多くの実績あげられます。できるだけ上流役、下流役に分けず、エンジニアが各自設計するしプログラムも書くし、現場で活躍し続けます。ウェブの業界は特にそうですが、技術の進化が早く、的確なテクノロジー選択、設計、開発プロセスなど、いずれも自分自身で触っていないと正しい判断がしにくいと思います。エンジニアは常に最新技術を把握し、常により良い方法を探し出すことで付加価値出せると思います。

また自社で事業を展開していますので、アウトプットはビジネスの成功に直結します。スピード感、品質どちらも大切にしたいため、大きな組織体制で開発するよりも少人数でも能力の高いチームの方がアウトプットを最大化できると考えています。

今日、この取材に来ている木村も山崎も弊社でマネージメントをしながらも現場で優れたアウトプットを出しているエンジニアです。それができるのは、彼らがそれぞれの専門分野についてずっと熱心に学び続けていて、学んだ技術やプロセスの工夫をアウトプットに繋げているからだと思います。

木村さん:
アウトプットの最大化という意味で、私が常に念頭に置いているのはビジネスです。ビジネスを拡大させるために、自分が開発しているサイトに何が必要か目的を考えます。それを実現化するための設計をしながら同時に必要な技術を考えるという流れです。

弊社は社内で技術交流が活発なので、メンバーが持っている技術や考え方が刺激になったり参考になったりします。その中で必要な技術を見定めて開発していきますね。

ただ、技術を使ってみたいから開発するのではなく、実現したいサービスがあるから、それに必要な技術を使うという考え方をしています。

山崎さん:
少しマネージメント寄りかもしれませんが、メンバーが目標に向かってまっすぐに効率よく動いているかを見るようにしています。そのために大切にしているのがソースコードです。私は、メンバーが書いているソースコードは毎日、全て見るようにしています。そうすることで、エンジニアがどんな行動をしているのかが把握できるようになるんです。

ソースコードを見ないことにはエンジニアのマネージメントはできません。だからこそ、技術の詳細を把握していないと優れたマネージャーにはなれないと考えています。

木村さん:
それはすごいですね。私はそこまで見れていませんよ。

山崎さん:
毎日欠かさずコミットログやソースコードを見ているとエンジニアのアクティビティがしっかり見えるんです。そこから目標の理解や進捗、メンバ各自の開発スタイルやその日のモチベーションまで見えてくる。そこにアウトプットが最大化するように、ピンポイントで効率的なマネージメントを行うわけです。これって結構、泥臭いかもしれません(笑)。

ブライアン  フーパーさん

ブライアン  フーパーさん

■キャリアパスについて ~ 優れたマネージャーは優れたエンジニアでもある

キャリア・ラボ:
御社の場合はフラットな組織構造の中で、マネージャーでもエンジニアとして活躍しているとうかがっています。ある年齢に達すると、マネージャーを目指すことが多い日本のIT業界ですが、そういったキャリアパスとは違った御社ならではのマネージャー像というものがあるのですか?

ブライアンさん:
弊社は少人数のチームでアウトプット重視の環境なので、大人数を管理するだけでは価値は出しにくいです。自身でプログラムも書く、コードレビューもする、提案書も書く、テストもする、チームのために何でも柔軟に自分から動いてやる、が弊社的なマネージャーです。

最近ウェブ開発で使うツールや環境がどんどん進化して、ライブラリの機能やフレームワークでできることがだいぶ増えているため、ウェブ開発はやりやすくなっています。仕様通りちゃんと動くサイトを作ることだけでは付加価値が少なく、エンジニアとしてより大きな付加価値を出すためには、エンジニア独特な知識や観点を生かし、ビジネスとしてどのようにインパクト出せるか考えて、実装のレベルで工夫すると良いと思います。例えば、ページの表示スピードアップによるコンバージョンの向上とか、自動テストの導入による検証のコストダウンとか。

また、いわゆるマネージャーは、マネージする人数ほど枠がないはずですので、全てのエンジニアがマネージャーになれるわけでないと思います。マネージャー職に性格的な向き不向きもあると思いますが、不向きの人は特に、何も考えずとりあえずマネージャーを目指すのではなく、エンジニアとして続けて付加価値を出す方法はないか、考えた方が良いと思います。

ただ、技術で生き残っていくためには若い世代に負けない好奇心を持つことが大切です。新しいものを積極的に学習し続ける。新しい技術は世代に関係なくスタートラインは一緒ですよね。「イコールマーケットで勝てる!」って気概を持って欲しいですね。

木村もSEO技術を身に付けたのは、エムスリーに入社してからです。

木村さん:
そうですね。前職ではSEOのSの字もありませんでした。SEOはビジネスの成長に直結しているのに、特定のマーケティング手法であるかのごとく狭い分野でしか語られず、エンジニアで興味を持つ人は少数です。そこでSEOをエンジニアの技術で推進することが出来ればすごい付加価値になるなと気付いたんです。自分の興味が会社に価値を与えるのであれば、それはハッピーなことです。自分の成長が会社の成長にもつながるし、私の場合、マーケティングの興味からSEOが好きになった事が良い結果につながったのだと思います。自分の興味がどんな価値を生み出すのかを意識してスキルを身に付けていけば、自分ならではのキャリアパスが描きやすいと思います。

ブライアンさん:
SEOの世界は、進歩が早いから毎年新しい情報が出てきますね。

木村さん:
その辺りは、好きでもあるので…。技術のキャッチアップが趣味の領域になっていますし、会社の価値向上につながりますからね。

山崎さん:
私からは自分がマネージメントになりたいと本当に思っているかどうかをよく考えて欲しいですね。例えば、野球だって全員が監督になりたいわけじゃないですよね。プレーヤーとして活躍したい人だって、運営側になりたい人だっているわけです。ITエンジニアの世界でプレーヤーとして活躍したいと心の中で思っているのも関わらず、マネージメントを選択してしまうようなことは避けるべきだと思います。

木村さん:
キャリアパスってマネージャーを目指すだけじゃないですよね。チームを率いて優れたアウトプットを出すリーダー的な存在だってあると思います。

山崎さん:
そうそう、監督というよりキャプテンという道だってありますよね。エンジニアって自分で活躍し続けたいと思っている人が多いんじゃないでしょうか。今のように、なんとなく流れでマネージメントへのキャリアパスを選択する前に、一旦自分のやりたいことを整理して、よく考えて欲しいですね。

木村 將さん

木村 將さん

■キャリアパスについて ~ シニアプログラマーにしかない強みがある

キャリア・ラボ:
マネージャーを選ばずに技術志向のまま年を重ねシニアプログラマーになる。そのことの強みってどんなところにあると思いますか?

ブライアンさん:
データサイエンティストなどと比べて、ウェブプログラマーって実は文系の要素が強くなってきているんじゃないかと考えています。コンピュータにとっても、人間にとっても分かりやすいコードを書くには経験が必要です。新聞記者なんてベテランの方が伝わりやすい記事を書きますよね。プログラミングの世界もそれと同じで経験を積むことでしかできない表現があると思います。

木村さん:
新しいサービスを設計する時、この技術を使うとどのくらいの工数になるとか、インパクトを与えるとかを高い確度で予想できるかどうかは経験にかかっています。その判断が正しくて、早いのがシニアプログラマーの強みでしょうね。

山崎さん:
尻込みしないっていう強みがありますね。若手だと、迷いとか意味をやってみる前から考えすぎてしまう傾向があります。力のあるシニアプログラマーなら前向きな確信を持つまでの判断スピードが速いし意志も強い。

例えば、ユニットテストなしの30万行のプログラムをなんとかユニットテストありの最新のプログラムにしてくれと言われたら、若手だったらビビりますよね。でも、優れたシニアプログラマーなら「できる」と確信すればやり切るんですよ。この意志の強さの裏側には蓄積された技術があるわけです。

そして、その仕事が価値を生み出すのを見ると若手の技術者が付いてくるようになるんです。若い世代が新しい技術をガリガリ覚えて迫ってくるという焦りばかりを持つのではなくて、自分が生み出せる価値の高いアウトプットで若い世代のエンジニアを引っ張れるようになる。それが理想ですね。

ブライアンさん:
有名なソフトウェアプロジェクトでは、優れたプログラマーが作ったアウトプットは個人の名前で評価されています。圧倒的に優れたアウトプットを1人で生み出せるようなシニアプログラマーは世界には数多くいます。プログラマーとして価値の高いアウトプット生み出し続けていく道もあると思います。

山崎聡さん

山崎聡さん

■事業会社と受託会社のエンジニア像の違いは?

キャリア・ラボ:
エムスリーの場合、開発のほとんどは内製だそうですね。事業会社のエンジニアでいるっていうのと、受託開発のエンジニアでいることの違いってどこに感じますか?

木村さん:
私の前職は受託開発系だったのですが、事業会社での違いはユーザーの姿が見えることです。どうしたらユーザーが喜ぶか、不利益を与えてしまうのか?ユーザーの顔や声を想像しながら開発していけることが大きな違いです。

山崎さん:
受託開発の場合、与えられた予算の中でシステムを作るわけですよね。利益は予算からコストを引いた分になります。事業会社もコスト管理はしますが、作ったシステムから利益が生み出せます。自分が作ったシステムに価値があれば、会社にもたらす利益を増やすことができる。これは事業会社にしかない魅力だと思います。

■「どうやったらできるか?」自分で考えるエンジニアが多い

キャリア・ラボ:
御社のエンジニアってどんなタイプが多いのですか?

木村さん:
何でもできる人が多いですね。ある分野に優秀な人は、他の分野でも優秀。いわゆるフルスタック型が多いです。弊社はエンジニアの裁量が比較的大きいため、様々な経験を積むことができます。その分、特定分野に縛られず、力を発揮しやすい環境だと言えます。

ブライアンさん:
自分の意見を持っていて、自分で考えるタイプが多いですね。現場のことを知って意思決定ができるのは、現場のエンジニアです。エムスリーでは組織がフラットで現場に裁量権が与られていますから、エンジニアが自分で決めたことを実行できる環境があります。だから、エンジニアが自分で必要なものを考えて開発するスタイルですし、それができる人が活躍しています。

山崎さん:
できない理由を探す人は少なくて、「どうやったらできるか?」を考えるエンジニアが多いですね。最初からできることが前提で取り組むという感じです。○○だからできない、なんてネガティブな意見が出てこないのは、弊社の雰囲気の特徴だと思います。

ブライアンさん:
たまに失敗することも(笑)。それでも、やればできると思っている方が前向きで良いと思います。

山崎さん:
失敗した時には、みんな素直に反省しそこから何かを学びますからね(笑)。

木村さん:
でも、「できる」って確信したことは、大抵できちゃうんですよね。無理かも知れないと思っても、他の人がアプローチを見つけてくれる。「やればできる」の確度が高いと思います。

キャリア・ラボ:
最後に、この記事を読んでいる方にメッセージを。

ブライアンさん:
我々は、言語にしろ、開発プロセスにしろ、常に最新の技術をキャッチアップして医療という分野で最先端の技術を使った開発をしています。その中でエンジニアとして成長を続けられる環境が弊社にはあると確信しています。

山崎さん:
最先端のエンジニアリングを医療という分野のために使えることの喜びを、いちエンジニアとして感じています。

木村さん:
プロフェッショナル集団の中で、ひとりひとりが活躍し、成長できる場があります。よりよい医療の実現を一緒に目指す仲間を募集しています。

キャリア・ラボ:
本日はありがとうございました。

m3_06

エムスリー株式会社


2014-01-10 | Posted in 注目の企業Comments Closed 

関連記事