noteは心理的安全性が保たれている ー 入社半年以内のエンジニアに聞く初リリースとチームの話
「働きやすい環境です」と会社説明をされても実際に入社してみないとわからないことは多々あることでしょう。特に、入社して最初に何をするのかは想像がつきにくい部分だと思います。
noteで働くことに興味があるエンジニアの方も、同じような不安を抱えているかもしれません。
そこで今回は、そんな心理的ハードルを少しでも下げるため、入社して半年以内のエンジニア3人に初リリースのことやチームでの働き方をインタビューしました。
久保田 将吾
■入社時期:2020年11月
■所属:会計基盤チーム(購入や販売などのお金に関する機能を開発する)
■チームへの配属理由:じっくり考えることが好きな特性を考慮されたのか、入社初日に会計基盤チームへの配属が発表された
■初リリースした機能:定期的に手動で行っていた処理の自動化
井上 航輝
■入社時期:2021年01月
■所属:カイゼンチーム(機動力重視で短期施策をすばやく開発して、PDCAを回す)
■チームへの配属理由:入社前から「ユーザーの声に近いところで仕事がしたい」ということを伝えていたため、クリエイターの声をすぐに反映しやすいカイゼンチームに配属
■初リリースした機能:ナビゲーションバーに表示されるお知らせ機能のオペレーションミスを防止する機能
戸田 直樹
■入社時期:2021年02月
■所属:CTO室(note pro向け機能やパフォーマンス改善など中長期で全体の生産性やサービスの性能を向上をする)
■チームへの配属理由:入社前面談のときから「パフォーマンス改善やライブラリのアップデートを中心に開発していってほしい」という話をしていた。そのためCTOチームへの配属が決まった
■初リリースした機能:集計処理での不要な処理をなくしたパフォーマンス改善
入社してから初リリースをするまで
ー入社してから初リリースまではどのような流れだったのでしょうか?
戸田(CTO室):初日に入社オリエンテーションを行い、2日目にローカル環境構築とコードリーディングをし、3日目にタスクを割り振ってもらって業務を開始しました。ほとんど作業は自動化されていて、手順として苦労する部分は少なかったと思います。デプロイフローもZoomで教えてもらいながら行いました。
井上(カイゼンチーム):入社してからの流れはだいたい同じです。3日目くらいにバックエンドとフロントエンドでタスクを一つずつ振ってもらいました。カイゼンチームは1週間のスプリントでタスクを回しているので、そのサイクルにすぐ入れてもらったような形です。
ー初リリースを行うにあたって苦労したことはありますか?
久保田(会計基盤チーム):お金を扱うチームなので知らない単語や難しい仕様が多く、情報をまとめつつチームリーダーに聞きながら理解していきました。自発的に動かないと開発が進まないので「だれかに質問する」という習慣は以前よりついたと思います。もじもじしてしまう性格なので精神は鍛えられました(笑)
井上(カイゼンチーム):わかります、僕も入社してからはガツガツ質問するようにはなりました。仕様が複雑な部分があればすぐに「Zoomでつないで質問していいですか?」と細かく聞くようにしています。
ー質問するのに心理的なハードルが高いと感じてしまう部分はありますか?
井上(カイゼンチーム):入社当時はありましたが、今はほとんど感じていません。Slackで雑に質問を投げてもだれかが必ず答えてくれますし。カイゼンチームのメンバーはレスポンスが本当に早い。
久保田(会計基盤チーム):本当に早いですよね。権限がないときなどに「だれか○○をやってくれませんか?」とお願いすると、だいたい秒でカイゼンチームの人が対応してくれます。
井上(カイゼンチーム):自分の行動が全部見られているのか?と思うことがあるくらいです(笑)でもそのレスポンスの早さと幅広い視野は見習わなくてはいけないなと常に思っています。
久保田(会計基盤チーム):心理的ハードルで言えば、会計基盤チームは積極的に協力してくれるので本当に助かっています。少し前にメンバーが作ったプルリクを見て理解できなかったことがあったのですが「じゃあ、解説しながらみんなでコード読んでいきましょうか」とモブプロのような形で進めてくれたこともありました。
ー技術的な部分で苦労したことはありますか?
井上(カイゼンチーム):Nuxt.jsを使うのが初めてだったので、チームリーダーに全体の話を聞きながら理解していきました。noteだとバックエンドもフロントエンドも開発する人が多いので、幅広い知識は必要だと思います。
久保田(会計基盤チーム):私の場合はもともとPHPやJavaで開発をしていて、Rubyでの大規模開発の経験は今回が初めてです。そのため今も言語の習熟度はまだまだだなと。
noteは心理的安全性が保たれている
ー実際にチームに入って開発してみて、働きやすいと感じた部分はどこかありますか?
久保田(会計基盤チーム):コードレビューが丁寧で的確です。それでいて言葉遣いが柔らかくてだれも強い言葉は使いません。昔はコードレビューで激しいことを言われてプルリクをだすのが怖いこともありましたが、noteではまったくそれを感じません。特に会計基盤チームはHRT※を大切にしているため、なにを発信しても温かく聞いてくれる空気感ができています。
※HRT:「謙虚 (Humility)」「尊敬 (Respect)」「信頼 (Trust)」の頭文字を取った言葉。 『Team Geek』という本で、優れた開発チームに必要な価値観として提唱されている。
井上(カイゼンチーム):コードレビューで言えば、カイゼンチームの1ヶ月の振り返りで「レビューで良いコメントができていなかった」とあげていた人がいて、良い視点だなと思いました。自分もできていないかもしれないなと。
久保田(会計基盤チーム):それは良い振り返りですね。noteは心理的安全性が保たれているのは本当に感じます。優しい世界(笑)
井上(カイゼンチーム):だれかが障害を起こしたときにも、それを責める空気がまったくないですよね。僕もリリースしたものがバグを起こしてしまったことが一度あり、かなりへこんでミーティングにのぞんだのですが「なんでそんなに気にしているの?」と言われて気持ちがかなり楽になったことがありました。
戸田(CTO室):同じような経験は私もあります。私の改修した箇所で不具合が起きてしまったことがあるのですが、気づいたときには他のエンジニアが修正してくれていました。守られている感があるなと。どんどん攻めることも大事ですが、みんなで頑張っていこうという気持ちが強い会社なんだと実感しました。
note社の開発組織の特徴(note社 エンジニア向け 会社紹介資料より)
ーフルリモートでコミュニケーションをとるのが難しいと感じることもあると思いますが、そのあたりはどうでしょうか?
戸田(CTO室):リモートでコミュニケーションが取りづらい部分はたしかにありますが、入社してからウェルカムランチなど、いろいろな方と交流できる機会が多くてよかったです。
久保田(会計基盤チーム):Slackに個人のチャンネルがあるのでみんなに絡みにいけるのはいいですね。何気ないつぶやきとかを見てパーソナルなところに触れられるのは楽しい。
それぞれが感じる自分のチームについて
ーそれぞれのチームで現在はどのようにタスクを進めていますか?
note社の開発組織の構成(2021年4月現在、note社 エンジニア向け 会社紹介資料より)
井上(カイゼンチーム):カイゼンチームは1週間のスプリントで回していて、メンバー各自に複数のタスクが割り振られます。そこからデザイナーと一緒に仕様を詰めていくことが多いです。朝会もありますしレビューする機会も多いので、わからないことはそこで解消するようにしています。
久保田(会計基盤チーム):僕らは自分で仕様を詰めていく必要があるため、考えてやってみて質問しながらブラッシュアップしていきます。調査→共有→レビューというサイクルを回して固めていくイメージです。
戸田(CTO室):CTO室の場合はそれぞれメンバーが別々のタスクを持っているため、チームというよりも個々人で作業を進めていくことがほとんどです。note pro関連、エディタ関連、データベース関連など担当している分野もバラバラですし、どのチームにも所属していない人が集まっているようなイメージです。
久保田(会計基盤チーム):HUNTER X HUNTERの幻影旅団みたいなチームですね(笑)スペシャリストの集まりみたいな。
戸田(CTO室):能力が特化している人が多いので間違ってはいないかもしれません(笑)パフォーマンス改善やセキュリティ周りなど広く浅く開発しているので、縁の下の力持ち的なチームです。
ー自分のチームにはどんな方が向いていると思いますか?
久保田(会計基盤チーム):性格的に穏やかな人が多くHRTの考えを大事にしているチームなので、丁寧で慎重な方には向いていると思います。並行していくつもタスクをこなすというよりも、ゆっくり考えて長期的になにかをやる人が合っているかな。自分は平行して何かを考えるのが苦手なので会計チームでよかったです(笑)
井上(カイゼンチーム):自分で改善していきたい機能を見つけたり、クリエイターからの要望を拾ったりして開発していくことに楽しさを見つけられる人は合っていると思います。バックエンドもフロントエンドも担当することになるので、両方の知識はあったほうが良さそう。
戸田(CTO室):CTO室はいろいろな人が集まっているので一概には難しいですが、私の担当で言えば見えない部分での改善が好きな人には向いていると思います。安定したサービスを提供するためにパフォーマンス改善をしたり、DBの負荷を下げたり。どの領域を触るにしてもCTO室はインフラ周りを触ることがあるので勉強しておくといいかもしれません。
ー最後になりますが、個人的にこれからnoteでやっていきたいことなどありますでしょうか?
久保田(会計基盤チーム):会計基盤チームでは、お金にまつわるユーザー体験の向上と会計システムの改善をミッションにしています。ミスなくお金をクリエイターに届けたり、購入する心理的障壁を下げてUXを向上したり、セキュリティ面や堅牢性がある盤石な開発を目指しています。
個人的には手動で行っている定期作業を自動化していきたいと思っています。定期作業によって忙しい人がさらに忙しい状態になっているため、それらのタスクをなくしていけたらいいなと。
井上(カイゼンチーム):数字を見ながら施策をぐるぐる回してなにが正解か、1クリエイターとしても模索していきたいと思っています。あとカイゼンチームだけの取り組みではあるのですが「自分のタスク以外にも業務内で個人的なタスクに取り組む」という目標があります。僕は入社してからコード整備に課題を感じていたので、RuboCopの整備を少しずつやっています。今後もこういった環境整備は続けていきたいと思っています。
戸田(CTO室):安定したサービスを提供するために速度周りの改善はしていきたいです。画面表示速度の短縮やDBの負荷軽減などやるべきことはまだまだあります。あとはCTOの今さんが抱えているタスクが多いので、できる限りそれを引き剥がして私の方で担当してすすめていきたいと思っています。
▼noteを一緒に作りませんか?
Text by megaya