はじめまして、2024年1月にメルカリにソフトウェアエンジニア(フロントエンド)としてジョインした小林徹(@koba04)です。
現在はウェブアーキテクトと、デザインシステムチームのエンジニアとして活動しています。前職ではプロジェクトリーダーや評価など、エンジニアリングマネージャの役割が中心でしたが、メルカリではいわゆる「Individual contributor」として働いています。
業務外では、OSS(Open-source software)活動を行っており、React関連のライブラリや、Reactの日本語公式サイトのメンテナでもあります。
この記事に登場する人
-
小林徹(Toru Kobayashi)2024年1月入社。ソフトウェアエンジニアとして未来の事業成長を見据えたデザインシステムの開発を行う。2021年に東京から静岡県の富士市に家族で移住し、現在はリモートワーク中心に働きながら月に数回出社してチームメンバーとのコミュケーションを楽しんでいる。趣味は英語の学習も兼ねて英語で映画やドラマなどのコンテンツを楽しむこと。最近観て面白かったのはNetflixのThe Playlist。
今後の事業成長を見据えた、デザインシステムの開発に取り組む
現在、私がメインで所属しているDesign System チームでは、メルカリが提供するサービスで利用されているデザインシステムの開発を行っています。
デザインシステムは、メルカリのデザイン原則を元に、ユーザー体験や色の使い方、UIコンポーネントを定義したものです。デザインシステムをメルカリ内の各チームが利用することで、デザイン原則に基づいたアプリケーションを、効率的かつ一貫性を持って実装できるようになります。また、誰もが私たちのサービスを利用できるように、アクセシビリティの向上にも取り組んでいます。
入社してしばらくは、Web Architect チームとDesign System チーム、2チームのタスクを並行して行っていました。これら2つのチームは、メルカリのウェブアプリケーション全体のコードを触ることが多く、広範囲な知識が求められるため、最初は苦労しましたがメンバーのサポートもあり、アプリケーション全体についての知識を身につけることができました。
メルカリのウェブアプリケーションは多くのチームによって、活発な開発が行われています。そのため、それぞれのチームがライブラリの導入などを自由に行ってしまうと、実装の一貫性の欠如、大量のライブラリ利用によるパフォーマンス低下といった問題が発生します。ウェブアーキテクトチームは、こうしたアプリケーションのアーキテクチャに対して責務を持つチームです。大規模なアプリケーションの設計を考えることは難易度も高いですが、とても多くの学びがあります。これまで私が開発に関わってきたOSSライブラリもいくつか利用しており、これらのライブラリのバージョンアップの際には、過去の開発経験を生かすことができました。
また、デザインシステムについては、プロダクトチームからのフィードバックを元に、改善を行います。私が入社した時点では、デザインシステムとして提供しているコンポーネントの内部実装の刷新を行っており、私もコンポーネントの内部実装の刷新およびメルカリのウェブアプリケーションへの導入に携わりました。デザインシステムとして提供しているコンポーネントはアプリケーション内の様々な場所で利用されているため、刷新による問題が発生していないか確認する作業は大変でしたが、担当のプロダクトチームのエンジニアにも協力してもらいながら完了させることができました。
Design System チームでは現在、すでにあるデザインシステムの見直しを行い、今後のグローバルなビジネス展開や複数プロダクトに対応できるようなデザインシステムの開発に取り組んでいます。これを実現するためには、統一的なユーザー体験と柔軟性を同時に満たす必要があり、難易度がとても高いチャレンジです。デザインシステムの開発には、実装など技術力が求められるだけでなく、同時にプロダクトやメルカリのブランドに対する理解も必要になります。そのため、今後のフロントエンドのパラダイムや、プロダクトの未来を考慮した技術選定や設計、実装を行うべく、どのようなコンポーネントやデザイントークンが必要なのかをディスカッションしながら進めています。
メルカリは“一番の下手くそ”になれる場所
今回の転職活動では、メルカリ以外にも様々な企業の方とお話をさせてもらいました。その中で自分自身が本当に大切にしているものは何なのかを常に考えていきました。
最終的にメルカリを選んだ理由は、「あらゆる価値を循環させ、あらゆる人の可能性を広げる」というミッションに共感したこと、そのミッションを様々なバックグラウンドや考え方をもった多様メンバーと一緒に、グローバルな規模で実現していきたいという点が大きくありました。また、プロダクトを通じて世の中にインパクトを与えられる点も魅力に感じました。
メルカリは、これまで私が所属したどの企業よりも大きな規模ですが、スピード感やプロダクトにフォーカスした組織である点が大変でもあり、同時に心地よさも感じています。メルカリでは3ヶ月毎にOKR(Objectives and Key Results)を全社やチーム、個人の単位でそれぞれ設定します。設定されるOKRは以前の自分であれば無理だと思うようなものも多く、常にチャレンジする姿勢が求められます。また個人OKRであってもプロダクトの価値向上を意識して設定することが求められます。
私自身『情熱プログラマー』(オーム社)という書籍で紹介されている「Be the Worst.(一番の下手くそでいよう)」という言葉を大切にしています。メルカリは私にとって“一番の下手くそ”になれる場所であり、日々多くのことをチームメンバーから学んでいます。
今後は、Design System チームとしても、アーキテクトチームとしても、スピード感を落とさずにスケールできるプロダクトづくりに向き合っていきます。デザインシステムはまさにその役割を担うものの一つであり、今後はアプリケーションのアーキテクチャについても積極的に提案して取り組んでいきたいと考えています。
熱意をもってプロダクト開発に取り組める刺激的な環境
メルカリは、私にとって英語で働く初めての環境です。最初の数ヶ月は知らないことを慣れない言語で理解する必要があり、正直大変でした。
現状でも英語力はまだまだですが、少しずつ成長を感じられるようになってきました。Design System チームには、英語が得意なメンバーも、日本語が得意なメンバーもいるため、みんながやさしいコミュニケーションを意識してディスカッションしています。ただし、プロジェクトをリードしていくためにはまだまだ不足しているため、メルカリの英語学習プログラムを利用して改善していきたいと考えています。
メルカリというプロダクトを外から見ると、安定しているように見えるかもしれません。ですが、実際は「あらゆる価値を循環させ、あらゆる人の可能性を広げる」の実現に向けてまだまだ挑戦をしている段階です。
そのためには、挑戦を支える基盤づくりも必要となります。現在、これからのグローバル展開を見据えた「ゴールデンパス」と呼ばれるプロジェクトが進行しています。このプロジェクトでは、開発プロセスやアーキテクチャの整備を、全社統一を行うことを目指しており、ワクワクするロードマップのもと、難易度の高いチャレンジができる環境は改めてとても魅力的だと感じています。
メルカリに入社して感じたのは、社内に「メルカリ」というサービスが好きな人が多いなという点です。自分たちが一ユーザーだからこそ、熱意をもってプロダクト開発に取り組めるのだなと再認識しました。
また、周りを巻き込みながら「All for One」に物ごとを進めていくのがうまい人が多いとも感じています。日々のタスクとは関係なくても、必要だと感じたことがあれば各自がDesign Docを書いて、フィードバックをもらい、コンセンサスをとりながらプロジェクトを進めていくので、とても刺激を受けています。
今後も“一番の下手くそ”として、「コト」に向かうメンバーたちと切磋琢磨していくことを楽しみにしています!
編集・撮影:瀬尾陽(メルカン編集部)