社内のエンジニアの知見を共有する新しい試みをサイバーエージェントに聞く
ソフトウェアエンジニアがアプリケーションを開発しようとした時、言語やデータベース、フレームワークなどについて何を選択するのか? これは性能や生産性だけではなくメンテナンスの容易さや長い目でみた安定性、さらに脆弱性に至るまで大きな影響を及ぼすと言って良い。現在はオープンソースソフトウェアがOSからミドルウェア、データベース、開発言語、フレームワークなど広い領域をカバーしており、商用ソフトウェアと合わせればアプリケーションを構築する際に膨大な選択肢がエンジニアの目の前にあるわけだ。そんな状況で、最適と思われるソフトウェアを選択するのは本質的には難しい問題だ。エンジニアとして自分が経験した言語やソフトウェアを選択し、あまり新しいソフトウェアには手を出さないのが常識的な選択だろうが、一方でエンジニアに求められている要求は常にレベルアップされ、ソフトウェア自体も淘汰されていくのが時代の趨勢とも言える。新しいニーズには新しいツールを当てはめてニーズを満足させ、オープンソースソフトウェアとして公開することで外部の力を借りながら常に進化させる。FacebookやTwitterが、社内で開発したツールやフレームワークをオープンソフトウェアとして公開する大きな理由は、まさにこの点にある。
そんな中、自社のエンジニアが使っているソフトウェアに対する評価を共有することで、エンジニアの知識と経験を活かそうとするプロジェクトを実施した企業がサイバーエージェントだ。同社のアドテク事業部で行われた「テクノロジーマップ」という試みは、社内でインターネット広告を展開している事業部のエンジニアたちが「各チームがどういうソフトウェアを使っているのか?」「それに対してどういう評価(良い、悪いなど)をしているのか?」という点を、各人から聞き取ることによって総括し、最終的なフォーマットとして冊子にまとめるというものだ。筆者は、そのインタビューと原稿の執筆を担当した。ここではそのプロジェクトのメンバーであるアドテクスタジオのエンジニアにインタビューを行い、プロジェクトの意味、経緯などを紹介したい。
今回、集まっていただいたのは、株式会社サイバーエージェント、アドテク本部アドテクスタジオに所属するエンジニア、神田勝規氏、伊藤淳貴氏、鷹雄健氏、新田智啓氏、成尾文秀氏の5名だ。
まずどうして「テクノロジーマップ」をやろうとしたのか、それを教えてください
伊藤:もともとは、アドテクスタジオの最高技術責任者である神田さんが「こういうのをやろう」と言い出してくれたのを受けて、それに賛同したエンジニアと業務推進のチームである我々が実装した、みたいな感じです。トップダウンでやらされたと言う感じではありません。
神田:実は以前からExcelのシートなどで、各チームで使っている技術やソフトウェアをリストアップするという試みがあって、それをもっとちゃんとやりたいということがきっかけですね。その時にアイデアとしてThoughtWorksのTechnology Radarというレポートがあって、このフォーマットであればExcelのシートにマルバツ付けるよりは良い表現だと思ったからですね。色々なチームが使っている技術について、俯瞰できるというのが良いと思ったわけです。
注:Technology Radar | ThoughtWorks
神田:エンジニアには、自分が考えていること誰かにをアピールしたいという欲求があると思います。ですから、テクノロジーマップでそういうことが実現できると良いな、と思ったのが最初のイメージです。
その評価を誰が書いたか? という部分で同じソフトウェアに対する評価も差が出ると思いますが、それはそれでも良いという発想ですか?
神田:それは逆に違っていて良いと思うんですよ。その人の経験や知識によって評価は変わるべきだと思うし。なのでチームとして取りまとめる際に、リーダー的な人がちゃんと文責を持っていれば良いんじゃないですかね。
伊藤:今回は最初の試みだったので、どのようになるのかはやってみて試行錯誤という感じだったんですよね。ですから、これを叩き台にしてこれ以降のテクノロジーマップが定期的に更新されていけば良いのではと思います。
新田:各エンジニアが持っているナレッジの共有ということができれば良いんだと思います。そのために、今使っている技術に関する情報を吐き出してもらったという感じですね。
伊藤:特に「コレはダメ」という部分は必ず言ってもらうようにしたんですね。それは非常に大事だと思いました。
成尾:特にダメって言う部分は、ある程度エンジニア自身が使ってみないと出てこないと思うんです。ですから、その部分は特に重要だと思っています。
これは新しいプロダクトを作る際に利用するツールになるという感じですか?
新田:そうですね。実際にビジネスとして立ち上げる場合は、ソフトウェアの選定よりも先にそのビジネスを実現できるエンジニアを引っ張ってきて、その人にソフトウェアの選定やチーム作りをやってもらうと思うので、あくまでも人ありきのツールです。
鷹雄:技術選定については人ありきですが、エンジニア発のアイデアから事業化にまで至った例はアドテクスタジオの中にはまだありません。ただ最近は、エンジニア出身者がプロダクトマネージャとしてビジネス/プロダクトの領域で活躍しているケースも増えてきました。
使っているソフトウェアについては「テクノロジーマップ」を使って仕分けすると言う感じだと思いますが、そこから個々のエンジニアのスキルレベルを評価する「スキルマップ」的なものをやるという方向には……
新田:行かないと思います(笑)。誰がどんなスキルをもっているのかは、話を聞きに行けばだいたい分かるので(笑)。
神田:なので、この情報を誰が書いたのか? というのはとっても重要なんです。誰が書いたのかが分かればその人に聞きに行けるので。
以前、同じような試みが失敗したということですが、今回のプロジェクトに対して予算取りとかは苦労しなかったんですか?
伊藤:これまでの失敗を踏まえて工夫をした部分があります。それを踏まえて新しいことにチャレンジしたという感じですね。サイバーエージェントは、新しいことへのチャレンジにはとても寛容なので、そのやり方でアドテクスタジオの中のプロジェクトとして進めていきました。
新田:今回のプロジェクトをやる際に、以前のようなExcelシートに名前をマルバツを入れるだけでは同じことになってしまうというのが私の経験上分かっていましたので、最初の素材としてのリスト作りは思いっ切り頑張りましたね。それを他のチームが参考にしてやってくれなかったら、きっとここまでは行かなかったんじゃないかなと思います。
リストの方はソフトウェアの名前だけではなくかなり細かくコメントが付いていましたよね。素材としてインタビューの際はとても助かりました。実際はその素材からさらに踏み込んだ話が出てきたので、まとめるのは大変でしたけども(笑)
伊藤:今回、新田さんのチームが最初にインタビューをしたのは、他のチームの参考にしてもらうという意味合いが強いですね。
新しいプロダクトを作る際のツールということですが、既存のソフトウェアでは必要なモノがなかったら、自分たちで作ってしまうというようなことはあるんですか? そしてそれをオープンソースソフトウェアで公開するみたいな流れは?
鷹雄:過去にそういう例はあります。スマートフォンのテストツールである「STF」というのがそれに当たりますね。これは、スマートフォン向けの検証テストをしなければいけない時に開発したものを、オープンソースソフトウェアとして公開しています。
参考:STFについて
伊藤:社内では「ソフトウェアをオープンソースとして公開しなさい」というように明文化はされていませんが、新しいことにチャレンジすることはサイバーエージェントのエンジニアとしては当たり前という感じなので、今後も起こり得ると思います。
先ほどの新田さんの話で新しいビジネス/プロダクトを作る時は人がありきという話がありましたが、実際にそういうことが起こっているんですね?
鷹雄:アドテク本部の中から分社化したビジネスがいくつもありますから、実際に起こっているのはそういうことなんだと思います。
伊藤:アドテクスタジオは「エンジニアが最も働きやすいところにする」というのがトップの方針でもあるので、実際にアイデアを持っているエンジニアはそれを形にすることも可能です。エンジニアにはエンジニアリングを極めたい人もいれば、マネージメントをやりたいという人もいるんです。それは決められたキャリアパスがあるというよりも、このグループが成長するなかで我々が数年かけてここまで作ってきたことだと自負しているので、今回のこともそうですが、これからもエンジニアが働きやすい環境を作っていければと思っています。
最後にテクノロジーマップを作ったことでよかったことや、実際に変わったことはありますか?
神田:実際の技術選定の際に、テクノロジーマップを見て導入候補の技術をすでに使用しているプロダクトに聞きに行ったという話が聞こえ始めています。また先日社内で行われたエンジニアのカンファレンスでも、テクノロジーマップをテーマにしたパネルディスカッションが非常に盛り上がり、ベストセッション賞に選ばれたりしていますから。単に使用技術を可視化するだけでなく、より深い見解の共有や技術を媒介にしたコミュニケーションの促進が期待できる、とても有効なフォーマットだと思います。
参考:サイバーエージェントが約800名のエンジニアとともに挑戦する新たな取り組み??各技術者の知見を全社に展開させるには?
インタビューとして今回のプロジェクト推進メンバーに振り返ってもらったが、実際のインタビューはソフトウェアの評価だけではなくチーム内のコミュニケーションの方法論や雰囲気作りの要点、ビジネスへのコミットの重要さなど多岐にわたるもので、エンジニアはアピールしたい、話をしたがっているというのは事実だと実感した。「自社のエンジニアとコミュニケーションが取れない」と悩んでいるビジネスサイドの管理職は、一つの試みとしてエンジニアが使っているツールなどの評価をヒアリングしてまとめてみると良いと思う。エンジニアのレベルに関わらず、興味深い話が聞けるはずだ。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- CAのProFit-Xに見るリアクティブシステム事例
- サイバーエージェント人事に聞いた!優れたプロダクトを出し続けられる背景とは
- OpenStackのエコシステムを拡げるUpstream Trainingとは? CAのインフラエンジニアに訊いた
- AI最前線の現場から【サイバーエージェント】アドテクスタジオ「AI Lab」の取り組み
- AI最前線の現場から【サイバーエージェント】アドテク分野におけるAI技術の活用事例
- クラウドネイティブ啓蒙のためのジャパンチャプター結成の背景をインタビュー
- スケジュール管理と経路検索が連携する「RODEM」の開発チームが味わった産みの苦しみ
- オープンソースを企業で活用するための組織、OSPOは日本に根付くか?
- CNDT2020シリーズ:プロジェクトからプロダクトへ。強いチームを作るコツをVMwareのアーキテクトが語る
- Red Hatのシニアディレクターに訊くOSPO