縁の下の力持ち!noteを支える凄腕エンジニア
こんにちは、note株式会社SREチームのvaru3です。
先日のオープン社内報「バリューバトン」でとても褒めていただいた記事を紹介していただきました。
とても嬉しかったのですが、一方で、「いやいや、自分よりもっとすごい人はたくさんいるよ!」という気持ちもありました。
そこで、noteのSREエンジニアである私目線で弊社の基盤を支えるエンジニアチームとそこにいるイチオシのメンバーを知ってもらいたいと思い、本記事で紹介したいと思います!
オープン社内報とは?
一般的には社員しか見ることのできない「社内報」をだれでも見られるように公開することで、会社の中の様子を感じとってもらう記事企画です。
本日の担当:SREチーム varu3
note のサービスを支えるエンジニア組織
noteでは大小およそ10のエンジニアチームが並行で様々な機能開発を行っています。
ソースコードやアプリケーションの数も膨大になっています。その機能もほぼ毎日リリースが行われており、巨大アプリケーションだといってもいい規模です。
その中でもnoteの機能開発だけでない、アプリケーションを支えると言ってもいい非機能要件を運用・開発を作っているのが私が所属するSREチームなどのミッションです。
非機能要件とは?
皆さんが日常的に使っているアプリやWebサイトがあると思いますが、それらが「使いやすい」「速い」「安全」と感じる機能面以外のこと全般を指します。
例えばユーザビリティ(使用性)や、パフォーマンス(機能性)、セキュリティの担保(安全性)、エラーやダウンタイムが少ないか(信頼性)などのことを指します。
非機能要件を支えるチームはSREだけでなく、弊社では主に以下の3つのチームが関わっています。
DataInfra チーム
noteでは様々な形式でデータを収集・保存していて、それらのデータを適切に処理して分析・閲覧をするためのデータ基盤があります。それらを駆使して、社内のデータ分析者やビジネスサイドの人たちに適切にデータを届ける仕事をしているのがこのData Infra チームです。
私が仕事を通じた中で感じたこのチームってすごいなと思う点は、
Data Infraチームは普段はエンジニアリングをしつつ、エンジニアでない人たちにもわかりやすい形でデータを活用してもらおうとしている点です。
ユーザービリティや利便性に力を入れていて、ダッシュボードを整備してより使いやすいものにしようとしていたり、クエリの実行時間を早くするために新たなツールを導入しアーキテクチャを刷新したり、最近では ChatGPT などのAPIを利用してSlackでデータのことについて質問したら返してくれる質疑応答Botを作ろうというプロジェクトも立ち上がっているようです。
データに問題があった場合には、それを元に決定したビジネス戦略にも大きく影響を与えることになります。障害があったり、データに関しての困っていることを見つけたときに迅速に対応をしているのが大変素晴らしいと感じています。
こういったエンジニア、エンジニアでない人たちを分け隔てなく利用しやすいプロダクトを作ろうとしている考え方は私自身にとってもとても勉強になりました。
stabilityチーム
アプリケーション開発の中でも特にパフォーマンス改善や開発者体験(DX)に特化したエンジニアチームがこの stabilityチームです。
何か問題がおきた際にはアプリケーションの細部まで踏み込んでパフォーマンスチューニングを行ったり、DBに発行されるクエリに問題がおきた際にはいち早く駆けつけて改善をしています。
また開発者体験という部分にも力を入れていて、noteにオンボーディングしてきた人がすぐにローカル開発環境を立ち上げられるような仕組みを整えたり、いつでもQ&Aしてフィードバックをしても良いという専用のチャンネルを用意して対応できるようにしています。
ここにいる所属しているメンバーは特に皆さんが “職人” という人たち(私の勝手な印象ですが)が多くて、エンジニアからみてもカッコ良く大変頼もしいです。
このチームの凄さというのは、「地道ながらも中長期的にやらなくてはならない対応」というのをしっかり行っていただけている点です。例えばアプリケーションの中で使っているライブラリのバージョンアップや利用している ruby のバージョンアップなどです。
こういうのってしっかりメンテできる人がいない組織だとつい後回しにしちゃいがちですよね。最新のバージョンの方がパフォーマンス面やセキュリティ面で優位なのは間違いなく、弊社では比較的、最新のライブラリを利用し続けられているのは、間違いなくこのチームのおかげです。
SRE-Tとも協力しあって問題を解決することが多いです。私の中では一緒に仕事をしていてとても楽しいチームです。
SREチーム
そして私が所属しているSREチームです。主にアプリケーションが利用している IaaS(AWS)やコンテナ基盤(Kubernetes)のメンテナンスや、新たな機能のアーキテクチャの設計などを行っています。
私自身はアプリケーションのデプロイ周りの改善やモニタリング機能の改善、障害対応のワークフローの整備などをここ数年行ってきました。また最近では、通信費のコスト削減にも力を入れています。
SRE-Tではその性質上、社内のエンジニアチームからの依頼で対応するということも少なくないです。
できるだけ依頼対応を少なくして自動化をしたり、そうでなければできるだけ負荷が少ない形を探りながら開発をサポートすることもあります。
自分でいうのもアレですが、私自身は「なんでもやるぞの精神」で、一体誰がやった方がいいのかわからない落ちてきたボールをできる限り拾って対処しようと心がけて色々な経験をさせてもらっています。
イチオシのメンバー mi-ni hiori (みーに)先生
比較的年齢層が高いメンバーが多く在籍しているSRE-Tではあるのですが、私がイチオシする若手メンバーが、みーにさんです。
みーにさんのすごいところは先ほどの「なんでもやるぞの精神」を私以上に体現したメンバーであることです。目がいくつあるのかというくらいたくさんのSlackチャンネルに出没していて、常に状況を見守っています。
ある時の朝会で、あの話ってどうなってましたっけ?という私の質問に、SRE-Tが誰も参加していないSlackのチャンネルのURLを提示して状況を説明したりしていて、その目の広さに舌を巻いたりしました。
また技術の吸収力も目をみはるものがあり、入社当時は弊社で利用しているKubernetesに対して経験したことがないという不安もあったようですが、数年経った今ではKubernetesの運用については間違いなく安心して仕事を任せられるメンバーにまでなってくれています。
面接を担当したのが私で、面接の当時から責任感の強い人だなと感じていたのですが、数年経った今でも仕事に対しての責任感ややりきろうとする力は最初の印象から変わっておらず、そういう人がはいってきて活躍しているのが本当に嬉しいですね。
私自身も彼が物事を吸収して成長していっていく様に影響を受けることも多いですし、目の広さや情報処理の能力に個人的には負けていられないな、と少しライバル意識を燃やしたりしています。
クリエイターとしてのみーにさん
みーにさん自身もクリエイターであることもあり、クリエイターファーストを掲げる note に対してとても強い愛を持っているのが感じられます。あと、最近はガンダムにハマっているらしい。
コンポーザー(作曲家)として様々な媒体で楽曲を発表している一方で、イラストや文章、プログラミングまでやってのけ「PCでできる創作の全てをやっている」(本人談)といっていて、超根っからのクリエイターなんですよね。
noteでの仕事の上でももちろんですが、それ以外のお仕事でも超一流のみーにさんに今後の活躍の期待が止まりませんし、これからも1ファンとして応援しています。
最後に、みーにさんが作った曲で私が好きなものをいくつか紹介して終わりにします!(正直、これがやりたかっただけ)
みーに先生の代表曲(よね?)めっちゃ良曲。
かわいいクセになる感じの曲
みーに先生がアイドルに楽曲提供したやつ。サビめっちゃ良い。振り付けもかわいい。
めっちゃかっこいい曲なのに、まだ配信されていないらしい(配信早くお願いします)
みーに先生の代表曲(よね?)めっちゃ良曲 part2。
おわりだよ〜
みーに先生の次回作にご期待ください!!