「やりたいこと」と「必要と
されていること」の交差点を
見つけて、その領域に注力す
る。
「やりたいこと」と「必要とされていること」の交差点を見つけて、
その領域に注力する。
河村 勇人(かわむら ゆうと)2015年入社
エンジニアとしてLINEに新卒入社後、分散型データベースのApache HBase関連の開発・運用やLINEのメッセージを取り扱うtalk-serverに関する業務を経て、 Apache Kafkaプラットフォームの開発・運用に携わる。テックリードとしてシステムの設計・開発を経て、2021年からマネージャー。
※本記事は2023年7月に取材したものです。サービス名称や所属は取材当時の内容です。
河村勇人といいます。2015年にLINEに新卒入社しました。LINEでは大規模なApache Kafka(以下、Kafka)のプラットフォームを自社内で開発・運用していますが、その立ち上げから技術的なリーディングを中心に関わってきました。現在はプリンシパルソフトウェアエンジニアの立場で技術的なディレクションや開発に関わりつつ、Kafkaプラットフォームの開発、運用業務を担うチームのマネージャーをしています。
実は社員として入社するよりも前から、LINEで仕事をしていました。大学3年生のときにライブドアでアルバイトとして働いていたのですが、同社は2010年にNHN Japan社(後のLINE株式会社)の子会社となり、2012年に「LINE」が誕生したため、私もアルバイトでLINE関連のサービス開発に関わるようになったんです。
大学3年生から大学院の修士課程を終えるまでアルバイトをしましたが、当時の私は「ユーザー向けに提供されるサービスアプリケーションの開発よりも、それらのサービスから利用され、安定性やスケーラビリティに対する挑戦が大きいプラットフォームの開発をしたい」と考えていました。
大学ではDockerコンテナの起動の高速化を目的とした研究をしていましたし、自分自身の興味も低レイヤーの技術に向いていたためです。その旨をアルバイト先であるLINEの上長に伝えたところ、「LINEにはプラットフォーム構築を専門とする部署もある」と教えてもらいました。異動対象となる部署の人たちから直接業務内容を聞き、おもしろそうだと感じたのが入社のきっかけです。
入社後はまず、分散型データベースのApache HBase関連の開発・運用や「LINE」のメッセージを取り扱うtalk-serverに関する仕事をしました。入社から1年経たないくらいのタイミングで、当時同じチームだった先輩からKafkaのプラットフォームを構築するプロジェクトに誘われました。これが、現在のチームの業務につながっています。
このプロジェクトでは、それまでtalk-serverがほかのシステムとさまざまなプロトコルやデータフォーマットでやりとりしていたのを、Kafkaを用いたやりとりに一本化することで、アーキテクチャをよりシンプルに、かつ処理を効率的にすることを目指しました。
しばらくは先輩と2人でKafkaプラットフォームの開発・運用をしていましたが、2016年ごろに先輩が別の部署に異動したため自分がリーダーになりました。その後、社内でKafkaを使用する事例が増えてきたため私だけでは対応しきれなくなり、エンジニアを採用してチーム体制を構築し、テックリードとしてシステムの設計・開発に携わりました。
担当する業務も最初はエンジニアリングだけだったのが、チームとして働くための仕組みをつくるなどピープルマネジメントもやり始め、2021年からはマネージャーになりました。
担当する業務内容は、キャリアのフェーズごとに異なっています。テックリード時代には、自分の担当する機能の設計・開発やほかのエンジニアの成果物のレビューなどが業務の大半を占めていました。加えて、アラート対応やユーザーからの問い合わせ対応、特定の技術課題についての調査なども担っていました。
どのような業務をどれくらい担当するかは、日によっても違いました。1日中コードを読み書きしてほかの人と話さない日もありましたし、会議が何件も入っていてさまざまなステークホルダーとコミュニケーションを取る日もありました。
マネージャーになってから、一時期はピープルマネジメントに専念していました。そのころは、メンバーとの1on1ミーティングを定期的に開催したり、組織運営や部署全体の採用制度をつくり直したり、マネジメント業務に時間を割いていました。
ある程度全体的な仕組みを整えたら、私がマネジメントにフルコミットしなくても組織が回るようになりました。そこで現在はエンジニアとしての仕事にも時間を割くようになり、新卒のメンバーと一緒にプロジェクトを推進しています。
「自分の興味・関心が強く、おもしろみを見出せる領域」と「その環境や組織で必要とされる仕事」のバランスをうまく取って、それらが交差する点を探すことを意識しています。
こう思うようになったのには理由があります。新卒として入社したころは、多くの人にとって、何をやってもおもしろく、すべての業務が新鮮に感じるはずです。加えて、上長や先輩が仕事に取り組むうえでの意味付けをしてくれるかと思います。
しかし、私自身社内での立場が徐々に上がるにつれて、仕事は誰かが与えてくれるものではなく、自分自身で創り出すものになっていきました。かつての私は「どんな内容の仕事であっても、その環境や組織で求められているならば全力で取り組むべきだ」と考えていました。しかし、あるときそのスタンスだけではモチベーションが湧かなくなっていることに気づいたんです。
原因を考えてみたところ、必要とされていることではあるけれど、私の関心がある分野ではなかったり、おもしろみを感じる仕事ではなかったりすることに気づきました。その経験から、自分自身の興味・関心と周囲からの要望が交差する点を見つけることの重要性がわかりました。プロフェッショナルではないと感じる方もいるかもしれませんが、そのような自身の性質を理解して自分をうまくコントロールしていくことが重要だと考えています。
ほかにも、チームメンバーには「調査や説明などを行う際に、論理の飛躍がないようにしてほしい」とお願いしています。エンジニアリングにおいては、一つひとつの事象を丁寧に検証することや、現時点で判明している事実を足がかりとして別の事柄を証明することが大切です。そして、その内容をほかの人たちが疑う余地なく、理解しやすい形で示すことが必要だと、チームメンバーには話しています。
「Kafkaプラットフォームの構築や運用」に、働くうえでのおもしろさや難しさのすべてが詰まっています。入社してから最初に担当した仕事を除けば、LINEでのほぼすべてのキャリアをこの仕事に費やしてきましたから。その過程でさまざまなドラマがありました。
一緒に働いていた先輩がいなくなり私がリーダーとしてプラットフォームを担当するようになってからは、特に自分の成長が著しかったように思います。特定の仕事に一人で取り組んでいると「自分のやっている仕事にはどのような意味があるのか」「さまざまな選択肢があるなかで、何から取り組むべきか」などを誰も教えてはくれません。
だからこそ、課題を発見して解決策を考え出し、その仕事の意味付けをして周囲にも示したうえでプロジェクトを進めるサイクルを自らの力で回す必要がありました。この習慣が身についたことは、私のキャリアにおいて大きな意義があったと思います。
そして、自分の出した成果を正当に認めてくれる人たちや、自分のつくったシステムを使ってくれる人たちがいることによって、「自分は価値のある仕事ができた」と実感できました。そういった意味では、良い仕事をフェアに評価してくれる職場の仲間たちや環境に恵まれたと実感しています。
「年齢が若いから」「経験が浅いから」などの理由で、上長や先輩から色眼鏡で見られることがありません。高いスキルを持っているエンジニアであれば、たとえ若手のメンバーであっても重要な仕事を任せてもらえます。
それから、個々人に与えられる裁量がとても大きく、上長や先輩から良い意味で放っておかれるケースが多いです。これは、期待されていないので放っておかれるわけではなく、「メンバーが自分の力で目標や計画を立てて努力できるならば、それが一番良い」という考えに基づいています。この環境では、メンバー各々が仕事の意味付けを行い、実現手段を考えることが求められるため、自立的な人であればあるほど成長のスピードが速くなります。
ヤフーやZホールディングスにも優れたエンジニアがたくさんいます。社員数が増えるだけではなく、同じような技術領域を扱っているエンジニア同士が出会うため、今後は合併によってエンジニアリングの相乗効果が生まれるはずです。
これまでLINE社内には、Kafkaについて専門的に扱っているチームは私たちのチーム以外にはありませんでした。しかし、ヤフーやZホールディングスにはそれぞれ独自のプラットフォームがあります。それらを支えている専門家たちが出会うことで、さらに優秀な技術組織が生まれると思っています。
そして、合併によって人員の増加やノウハウの共有が起きることで、新たな挑戦ができる余裕が生まれます。より中長期的な目線で、これまでになかった新しいソフトウェアやOSSにできるようなミドルウェアの実装など、多くの価値を創出できる仕事に取り組んでいけることを期待しています。
多くの人は、一度マネージャーに就任したらその後はずっとマネージャーとしての道を突き詰めることが多いかと思います。しかし私はこの後、マネージャーとしての役割をいったん辞めて、部下を持たないインディビジュアルコントリビューターに戻ろうと思っているんです。
キャリアパスを設定するうえで「マネジメントトラックとインディビジュアルコントリビュータートラック相互の移動は自由」だと多くの人や組織で言われています。しかし実際は組織的な事情やマネジメントトラックを降りることによるキャリアの後退などと感じ、選択できない人が多いように思います。私にはそういったこだわりがそこまでなく、そのときに自分が一番おもしろいと思えることと、その環境で周囲から必要とされることの交差点を見つけて、その目的を一番実現しやすい役割を柔軟に担っていきたいと考えています。
LINEヤフーは日本有数の技術的な挑戦がある会社です。システムが持つ「生活を支えるアプリとしての役割」と「抱えているユーザーが膨大」という性質があるために、高い信頼性が求められるシステムを構築・運用する挑戦と、大規模スケールに耐えられるシステムを構築・運用する挑戦の2つがかけ算されている状態だからです。
こうした仕事は日本国内でも数えるほどの会社でしか経験できないと思います。世界規模で見ても、これほどの挑戦ができる会社を探すことはなかなか難しいです。システムに対する信頼性・大規模スケールのトラフィックに対する要求がシビアな環境においては、平凡な技術的要素が平凡ではなくなります。たとえば「データをデータベースに保存する」といういたってシンプルな処理であっても、考慮すべきことが膨大に発生します。あらゆる技術的要素にスパイスを加えてくれる意味で、エンジニアにとっては非常にやりがいのある環境です。
そうした前提があるなかで、高い自立性を求められます。自ら課題を発見して解決策を考えて実行するサイクルを楽しめる人にとって、これほど成長できる環境はありません。さらに言えば、長年働いている人や他社に転職した後に戻ってくる人も多いです。この会社の仕事がおもしろいからこそ、みんな「ここで働き続けたい」と考えるのだと思います。