2024年3月5日
株式会社サイバーエージェント インフラエンジニア
青山真也 (Masaya Aoyama)
2016年、新卒でサイバーエージェントに入社。OpenStackを使ったプライベートクラウドやGKE互換なコンテナプラットフォームをゼロから構築し、国内カンファレンスでのKeynoteに登壇。著書に『Kubernetes完全ガイド』『Kubernetesの知識地図』『みんなのDocker/Kubernetes』。現在はKubernetesやOpenStackなどOSSへのコントリビュート活動をはじめ、CloudNative Days Tokyo Co-chair、CNCF Japan ChapterのOrganizer、Kubernetes Meetup TokyoのOrganizerなどコミュニティ活動にも従事。
技術や業界など仕事についての情報収集の基盤として多くのエンジニアを支えていたTwitter(現X)が、以前とは異なる姿となってゆく今、必要な情報を過不足なく収集しインプットする方法に悩みを持つ人も少なくありません。
「アフターTwitter時代の情報収集」と題したこの連載では、業界をリードする方々に、Twitterの変化によって普段の情報収集の方法がどう変わったか、欲しい情報を効率よく集めるために何をしているのかを取材します。
第4回は、Kubernetesエキスパートである青山真也(@amsy810)さん。2019年のGoogle Cloud Kubernetes Dayでは基調講演を務め、書籍「Kubernetes完全ガイド」を上梓するなど、CloudNative技術に関する卓越した知識と技術力で知られています。
そんな青山さんに情報収集について聞いてみたところ「プライベートの時間を削って、身を粉にしてやっているわけではない。割いたコストとリターンのバランスが大切」と語ります。巨大サービスのインフラ技術選定も担う彼がたどり着いた、コスパ最高な情報収集術を伺いました。
青山:情報収集において、Twitterはまだ重要ではあります。Twitterはあらゆる情報が集まるSNSだからこそ、今どんな情報が注目されているのかを掴むのに有用です。毎日のルーティンの中で、QiitaやZennを含む技術記事を読むときも、Twitter上で注目を集めている記事から辿っています。
代替SNSとして、BlueskyやThreadsなども試しましたが、現時点でのユーザーの数を鑑みてもTwitterほど情報が集まらず、代わりとしては使いづらい印象です。
青山:通勤時に、TwitterやRSS feedを開いて注目されているトピックスを読んでいるくらいです。詳細に読むべきものなどはブックマークしておき、業務中に集中力が切れたときに読んでいます。
業務中の作業効率を落とさないために、OSSのリリース通知以外で即時通知が来るようなサービスは利用していません。できるだけ業務への影響を少なく、プライベートの時間を削らないようにした結果、このような形に落ち着きました。
ルーティンでの情報収集の目的は業界のトレンドを掴むことです。そのため、インフラに限らず様々な領域をウォッチしています。自身の専門性を高める情報収集とは目的が異なるので、インプットする情報もその方法もハッキリ分けています。
青山:国内外のカンファレンスやMeetup、勉強会に積極的に参加するようにしています。専門領域の具体的なプラクティスを最小限の労力で一気にキャッチアップできるので、効率よく必要な情報をインプットできています。
一般的に、カンファレンスや勉強会では、登壇内容が事前に精査されています。特にカンファレンスでは登壇者の選考会が実施されるため、問題解決に直結するような重要で有用なセッションが厳選されています。情報の確度の高さがある程度保証されているし、具体的な事例を紹介するセッションもあるので、自組織の問題に合致する内容も見つけやすい。
しかも、こうして厳選された内容が登壇する30分程度にコンパクトにまとめられているので、短時間で優良な知識を学ぶことができます。さらに質問までできます。登壇者の皆さんにはいつも感謝しています。
青山:事前にタイムテーブルをチェックして、聞きたいと思うセッションがあれば参加するようにしています。また、その技術コミュニティの一員となるために参加することもあります。
ただセッションを視聴するだけではなく、登壇者や参加者との会話から、欲しい情報が得られることもあります。現地での会話から有用な情報が得られそうか判断するために、イベントの開催規模や参加者の属性などを見たりもします。
最近では、自身の専門性向上や、事業にプラスになる情報を得ることを目的に、KubeCon + CloudNativeCon、CloudNative Days、OpenStack Days、OpenStack Summit、SRE NEXT、Devlopers Summit、Cloud Nextなどに参加しました。
青山:「参加者と交流する」と心に決めて参加するようにしています。そうすれば、否応なく主体的に情報を取りに行くことになります。
でも私は、初対面の人に積極的に話しかけるのが得意な方ではありません。そこで「登壇」が効いてくるんです。最初は5分間のLTでも十分。そこで話した内容が、参加者との共通の話題になります。すると参加者から話しかけてもらいやすくなりますし、逆に自分から話しかけたときの話題にも困らなくなって、初対面の人とコミュニケーションをとりやすくなるのです。
また、自身の登壇内容をフックに、そのときカンファレンスで話題になった他のトピックについて参加者の方々と話せれば、自分よりも詳しい人の見解や、組織で起こった実例の話を聞けます。こうした話は自分ひとりで探していてもなかなかキャッチできない貴重な情報です。それに、人と話す、つまりインプットとアウトプットを繰り返すことで、その時得た知識も定着しやすくなります。
青山:業務で取り扱う技術はオープンソースで開発されているものが多いため、オープンソースコミュニティのSlack、GitHub Issues、メーリングリストなどに登録して、アップストリーム(※1)の最新の機能や今後の技術動向をタイムリーに把握できるようにしています。
Kubernetesの場合、機能追加や変更に関する計画は全てKubernetes Enhancement Proposals(KEPs)と呼ばれる仕組みで管理されています。「KubeCon」という海外カンファレンスで紹介されていたことがきっかけでその存在を知り、いまは月に1回程度目を通すようにしています。
青山:KEPsでは、機能追加や変更の背景から、その機能に関する議論の経過も追いかけられます。僕の場合、新しく追加された提案や、リストの中で自社にとって必要な機能の進捗や議論を見に行くことが多いです。これを読むことで、世の中のユースケースをキャッチしつつ、一流のエンジニア達の問題解決方法を学ぶこともできます。ただ情報収集するだけでなく、エンジニアとしての思考力も鍛えられるのです。
(※1)オープンソースソフトウェアにおいて、開発元・配布元、およびそれらに近い側を指す。
青山:日本語の情報だけでは、技術動向の把握にタイムラグが生じてしまいます。海外で新しく生まれたOSSが国内でなかなか話題にならず、その存在を知らなかったせいで、似たような機能を自社で独自に実装してしまった、という話はよく聞きます。自社独自の実装は、メンテナンスやアップグレードを自分たちだけで続けていかなければならず、運用コストも大きくなりがち。英語情報に触れていれば、適したOSSが存在することを知って採用することができ、そうしたコストも抑えられたかもしれないのにと考えると、非常にもったいないことです。
ただ最近は、国内でもRecapイベントが開催されたり、海外の最新情報を日本語でまとめてくれる人も増えたり、機械翻訳の精度が向上して翻訳文も読みやすくなったり、英語でしか触れられない情報は徐々に減ってきています。翻訳された情報をキャッチアップしたり、最新情報を積極的に追いかけているコミュニティの有識者と会話したりすれば、日本語だけでもある程度鮮度の高い情報を集められるでしょう。
青山:フラットに技術を評価するために、膨大な情報をキャッチしておかなくてはいけないこと、でしょうか。
ここ数年のインフラ関連技術のトレンドは、KubernetesをはじめとしたCloudNative技術に関する話題一色です。CloudNativeなOSSの進化は凄まじく、日々新しいプロダクトが登場したり、新たな機能の開発が進んでいます。
CloudNativeなプロダクトはCloudNative Landscapeにまとめられている通り多岐にわたり、類似するプロダクトも数多くあります。技術選定をする際に、将来性や運用コスト・学習コストなどを的確に把握するためには、技術の動向を普段からキャッチしています。
青山:たしかに、すべての技術について細部まで追いかけ切るには、相当なリソースが必要です。でも、各プロダクトの概要だけ掴んでおけば、全ての最新情報を逐一キャッチし続ける必要はないと考えています。
というのも、インフラ領域の技術は信頼性も重要なため、絶対に目を通しておくべき破壊的変更はそうそう起こりません。「最新情報」のほとんどは、プロダクトの根幹の用途にプラスアルファするようなアップデートが占めています。逐一追いかけていなくても、概要として把握しておいた根幹の用途自体が大きく変わることは少ないのです。
それに、メジャーなOSSの変更点や特出した機能アップデートなど、最新情報の中でも影響範囲の大きいものについてはカンファレンスで紹介されることも多々あります。こうした情報は代表的なカンファレンスに参加していれば自然とキャッチアップできますから、日頃からわざわざ追う必要はありません。
各プロダクトの最新情報や今までの変更点、類似プロダクトの差分などについては、実際に導入を検討するタイミングで詳細に調査し比較検討すればよい、と割り切っています。
青山:事業やチームの特性によって注目するポイントは変わりますが、僕はいつも下記のような様々な角度から情報を収集し、最適と言える技術やプロダクトを選んでいます。
青山:これらを検討するための情報を集めるとき、まずは書籍からと決めています。特定の技術に関する体系的な情報はWeb上にはなかなかないので、その技術を体系的に学べる本や、ベストプラクティスがまとまったような本を読んでいます。
Web上では事例を調べたり、ソースコードを読んだりしています。コミュニティで知り合ったその技術の開発者や先駆者に直接質問することもありますね。面識がない海外のアップストリームの開発者に直接連絡することもあり、たいてい返事をもらえています。
青山:基本的には、これまで挙げてきた各情報ソースから必要な情報は得られています。
ただ、自身の専門分野に近い領域の技術コミュニティでの交流を通してしか得られない情報もたくさんあります。たとえば他社の最新のベストプラクティスや障害事例、特定のバージョンで起こった問題や、アップグレード時に起きたエラーなど。その技術を採用している現場の生の情報を知っておけると、技術選定においても、今使っている技術の運用保守においても大変助かります。こうした生きた事例は、コミュニティでの交流によってこそ得られた情報でしたね。
青山:エンジニアとして価値を発揮するために、情報収集は当然必要です。ただ、バランスが重要だと考えています。情報収集をするためにどの程度のコストを払っているのか、そして、集めた情報が事業や業務、自身のスキルアップにどの程度プラスになっているのか。このバランスをうまく取っていくことで、無理なく効果的に情報収集できるようになっていくはずです。
たとえば、毎日のインプットを続けるのが難しいならば、カンファレンスやMeetupだけで情報を集める形に振り切るのも良いと思います。
情報をキャッチするために払っているコストに対して、その情報から得られるリターンが小さいならば、潔くやり方を変えてみる。そうして自分なりの良いバランスを模索して、今の方法に行き着きました。今後、業務の内容が変わっていけば、その時々で自分にとって最適な情報収集も変わっていくはず。インフラ領域のエキスパートであり続けるために、柔軟にやり方を変えながら、必要なスキルを身につけていければと思っています。
取材・構成:光松瞳
編集:王雨舟
関連記事
人気記事