オープンソースの世界で積む経験。社外開発者研究者たちに選ばれアメリカに渡ったエンジニア
NECソリューションイノベータ株式会社のシニアプロフェッショナルを務めるO.K。オープンソースのコンテナオーケストレーションシステム、Kubernetesに携わり、新たな機能開発とともに、シリコンバレーでの知見を活かし新規ビジネスを生み出そうとしています。世界の先端を走る日々の業務とは。【talentbookで読む】
コンテナプラットフォームのコミュニティで、機能開発と事業創出を同時進行
私が所属するプラットフォームサービス事業部では、その名の通りプラットフォームのSIを中心に事業を展開しています。Linuxやクラウドプラットフォームの開発・構築がメインで、中でもクラウドの担当者は、それぞれAWSやGoogle Cloud、Microsoft Azureをベースに業務を進めています。
その中で私たちは、オープンソースソフトウェアでは世界的主流のコンテナプラットフォームであるKubernetesの開発に携わっています。われわれ自身が特定ベンダーに頼ることなく、自らオープンソースのコミュニティに入って必要な機能を開発・実装したり、バグを修正したりできるようにすることがひとつ目の私のミッションです。そしてもうひとつは、こうして蓄えた知見の活用。2023年2月現在はお客様へのコンサルティングサービスや技術提供として役立てられるよう、形にしている最中ですね。
私自身は、日本電気株式会社(以下、NEC)のOSS推進センターにも所属しています。いずれも主要業務は、Kubernetesのコミュニティで機能開発して品質を高めることと、その中で見えてくる外部の技術トレンドをベースにしたコンサルティングサービスの構築です。当社の強みを基に新たなビジネスを生み出そうとしているのです。
仕事を進める上では、お客様や上司、仲間の理解を得るためにも論理的な説明を心がけています。オープンソース領域での活動でもあるので、自分の意見が世界中の開発者に伝わるよう工夫し、物事をスムーズに進めていく必要があります。たとえばバグが見つかった場合なども、実際のコマンドとエラーメッセージを添え、発生の再現手順を伝えた上で、さらに「本当はこうなるべき」と説明すると、多くのエンジニアがわかってくれますね。
ちなみに、社内での現在の肩書きはシニアプロフェッショナル(部長級)となりますが、私は高度専門職(当社における技術のプロフェッショナルとしてのキャリア)のためマネージメントには基本的には関わっていません。それでもKubernetesの業務には、NECグループから7人の日本メンバーが参加しているので、開発の方針を立て、各自にアドバイスするなど支援もしています。
OpenStackの最重要プロジェクトでは日本人唯一のコア開発者に
そもそもエンジニアを目指したのは、中学時代にパソコンでゲームを作ったことがきっかけです。上から落ちてくる球を、同じ色で列をそろえたら消せる、というもので「赤なら1、青なら2」のようにロジカルな作業が刺激的でした。大学では情報工学を専攻し、2002年に当社の前身であるNECソフト株式会社に入社しています。
2006年には、今ではAndroidやIoTのデバイスで使われるオペレーティングシステム・Linux KernelにおけるKdumpの機能を、他社の担当者ふたりと共同開発しました。コマンドでヘルプを出すと私の名前が表示されるほどまで(笑)。深く関わり、カナダのオタワで開催された当時最大のLinuxカンファレンスでは、そのときの3人で講演しました。世間的に最も注目を集めていた機能でした。そして帰国後には社内で社長賞を受賞しました。
やがて2012年からはOpenStackのOSSコミュニティ開発に関わり始め、後にコア開発者に昇進しています。なお、ここでの階層構造は開発リーダーをトップとし、その下にコア開発者、一般開発者と続いています。
その中で私は、OpenStack Novaという最重要プロジェクトのコア開発者になりました。このポジションを経験したのは世界で10人しかおらず、何よりも日本人は私だけでした。もちろん、キャリアの道中にあるのは成功だけではありません。仕事においては今も壁にぶつかってばかりです。
最初にOpenStackの開発に携わった際は、重要な機能の提案段階までは順調でしたが、合意形成の翌々日にパッチを見ると「Do not merge」、つまり「統合するな」というバツ印が付いていました。OpenStackの開発言語はPythonですが、その関連書籍を手掛ける著名人からの指摘だったのでショックでしたね。また、Kubernetesでもなかなか上のポジションに行けず、意見が通らずに落ち込む日々を経験しました。
それでも自分自身の価値観に従い、技術的に最後まで説明し切ることを意識して課題を乗り越えてきました。背景には、入社後に先輩から言われた「気になることや問題の可能性を感じたら、相手の立場を気にせず伝えなさい。何もいわずにトラブルが生じて『実は気づいていた』というのは開発者として一番良くないし格好もつかないことだよ」という言葉があります。
だから今でも、他社の重要なポジションにいる人にも率直に意見を述べています。ときにつらいと感じることもありますが、相手の立場によって話の内容を変えたり、意向に合わないことを隠したりするのは、エンジニアとして誤りだという信念は大切にしています。
選んだ技術がデファクトスタンダードに。シリコンバレーで得た「先頭に立てる」感覚
2016年からはアメリカ・カリフォルニア州のNEC Corporation of Americaに出向しました。OpenStackに開発参加する開発者たちの投票によって私が開発リーダーに昇格したことが理由で、2期にわたり務めています。時差の問題を解消して作業に集中するために、ITの聖地であるシリコンバレーに渡りました。
そもそもOpenStackはこの地が発祥ですし、関連するローカルなユーザー会に参加し、最新情報を得ては日本に随時レポートもしてきました。さらに各種カンファレンスに足を運び、多くのセッションでプレゼンも経験しました。そんな中、NECグループ各所から「OpenStackの次に来るオープンソース開発は何か」という声が上がり始めていました。そこで私はKubernetesに着目し、NECグループ全体で参加できるよう筋道を立てることにしました。この点が自分のアメリカ出向時、最大の実績だと自負しています。
当時、世界にはKubernetesと似たような技術が複数あり、われわれNECグループがKubernetesに開発することで合意形成した後、MicrosoftとAWSもKubernetesプロジェクトに出資してきたんですね。そのときは「大きな技術動向に乗れたんだな」と確信でき、安心しました。
Kubernetesを選んだのは、何よりも開発コミュニティがオープンだったからです。技術というのは、それ単体で考えるのではなく「周囲に形成されるエコシステムがどう発展していくのか」に目を向けることも非常に重要なんですよね。実は、ほかにもうひとつ魅力的な技術があったのですが、その技術を開発する企業がコミュニティを管理していて今後の発展が見込めなかったのです。これに対しKubernetesは、さまざまな人や会社が入って来られるオープンな環境であり、拡大すると判断できました。
渡米してIT業界における“超人”のような方々とも多く会いましたが「実は、あまり自分と変わりないのかもしれない。多くのソースコードを読んで仕組みを知り、カンファレンスに足を運び動向を把握していけばきっと自分も追いつける」という手応えを得られたことも貴重な契機でしたね。
また、出向先の現地案件に携わるなど、英語で議論する能力も強化されました。こうして意見を出すことや説明を繰り返したおかげで、米国のカンファレンスで話すことにも抵抗がなくなりました。そして同時にいろいろな情報が自分のところへ集まるようにもなったのです。
異なる価値観に触れられたことは本当に大きな経験ですし、現在もNEC Corporation of Americaには私のように日本国内から出向し、宇宙事業などで活躍している人たちがいます。グループ内にいるエンジニアの皆さんにも、ぜひシリコンバレーでの経験を勧めたいですね。
強みは「技術的な問題なら必ず解ける」という自信。優しさと発信力のある人と働きたい
私の強みは、良い意味で「しつこいところ」。さまざまなソースコードを読み、エラーメッセージやログを解析してロジックを積み重ねてきたので「技術的な問題であれば絶対に解ける」と信じています。これを活かして話の筋を通せば誰からも喜ばれるので、ここにやりがいや楽しさを感じられるんです。
今後も新たなビジネスを生み出すべく、Kubernetesを中心にクラウドネイティブのコンサルティングと技術支援サービスを立ち上げ、NECグループの技術者が育つ場を創出していきたいと考えています。技術には自信があるので、貢献できる事業にするべく注力するつもりです。
これから当社のエンジニアも、自分の技術を相手に説明し、お客様や社内の困り事を支援する力がより強く求められることでしょう。外部の方々を巻き込むと、自分の技術領域において徐々にエコシステムが育つことになり、いずれ巡り巡って自身の良い結果にもつながります。社内外から技術者としての振る舞いを注目されていることを多くの人が意識してくれたら、あらゆる可能性がどんどん広がると実感してほしいですね。
なお、エンジニアとして当社を目指す方々には、強みとする領域を持ちつつ、それを発信してくれることを、これからは期待します。ITの世界は広く、ひとりではすべてをカバーできません。職級に関係なく互いに助け合い、各自の得意分野を共有して、前に進めようとする姿勢の持ち主であることを願っています。また、想定される条件を箇条書きで抽出し、文章構成も考えるなど、「説明する技術」も学ぶことで、周囲がもっと理解してくれるようになり、多くの物事がうまく進んでいくようになるはずです。
NECソリューションイノベータ株式会社
この会社にアクションする