BIZREACH DESIGNER BLOG

フロントエンドチームを成長に導いたメソッド<個人の成長編>

こんにちは。フロントエンドエンジニアの小枝です。即戦力人材と企業をつなぐ転職サイト「ビズリーチ」でフロントエンドエンジニアチームのリーダーを担当しています。

私はこれまで、リーダーとして、日々チーム作りに取り組んできました。今回は、私がこれまで向き合い続けてきた「チームとしての成長」について、どのような策を講じ、どのような効果があったのかをお伝えします。
みなさんのチーム作りに、少しでもお役に立てば幸いです。

成長は「個人」と「チーム」で取り組みの粒度により大きく分けられるため、「個人の成長編」と「チームの成長編」に分けてお届けします。

今回は、個人、すなわちメンバー1人ひとりの成長にフォーカスしました。メンバーの声や、参考にした書籍の紹介も交えてお送りします。

メンバーの課題

チームメンバーそれぞれがプロジェクトを進めたり、私がメンバーをプロジェクトにアサインする中で、下記のような点を課題に感じていました。

  • それぞれが自身のスキルレベルに対して難し過ぎたり、簡単過ぎたりする作業を担当していたため、スキルレベルを順当に高められる余地が少ない
  • 自身が持っているスキルをどう活かせばいいかわからないため、得意分野を自覚しづらい
  • 多くのタスクを抱え、余裕がないため、自分に直接影響するタスクを優先してしまう
  • 正式にメンターとして選定されたメンバーのみに若手社員の教育が集中し属人的になりがちなため、若手社員の生産性が伸ばしづらい

私は、メンバー1人ひとりに対して前述の課題を解決し、いかなる職種、職場でも活躍できる、下記のようなフロントエンドエンジニアであってほしいと考えました。

  • 高いスキルを持っている
  • 得意分野を自覚し、持っているスキルを存分に活かせている
  • 人のために仕事をしている
  • 誰もが若手社員を思いやり、積極的に関わっている

個人の成長のために必要なこと

上記のような、いかなる環境でも活躍できるフロントエンドエンジニアであってほしい、というビジョンを前提に、個人の成長のために必要なことを考えた結果、「スキルアップ」と「精神的成長」の2つが欠かせないと考え、以下のことを実施しました。

スキルアップ

ここでの「スキル」とは、「エンジニアリングスキル」と「ヒューマンスキル」です。
その2つのスキルを伸ばすために下記のことを行いました。

ペアプログラミング

ビズリーチでは、後輩エンジニアは、業務に関係することであれば先輩エンジニアに対してペアプログラミングをいつでも申し込むことができます。先輩のライブコーディングを見る機会にしたり、実装中のタスクで分からないところがあれば解決法を一緒に考えたりします。

ペアプログラミングの詳細については、以下の記事をご参照ください。
フロントエンドのスキルとチームの生産性を向上するコードレビュー

実際にペアプログラミングを行ってみて、その効果は絶大だと感じています。先輩エンジニアは、時間的余裕があればコーチングのように後輩社員の深層から実装アイディアを引き出し、そもそも実装経験のないこと、想像もつかないようなことについてもティーチングのように実際に手法を教えます。その結果、「ペアプログラミングさえすれば絶対に仕事を完遂できる」という心理的安全性を醸成できたと思っています。

私の場合、1日2時間は必ずペアプログラミングの申込を受け付けられる余地を作っておき、いつでも「わからないところがあるから助けてください」というオーダーに応えられるようにしています。

ここで、ペアプログラミングの効果を肌で感じているメンバーに、「ペアプログラミングのどんなところが良いと感じたか」を聞きました。

先輩のコーディングを間近で見ることにより、問題解決の手法やコーディングの細かい技術を見て盗むことができます。また、一対一で質問しやすい環境なので、コードの意図やメソッドの概念など、なかなか聞きづらい本質的な内容を尋ねることもできます。
私たちのチームの場合、自由にペアプログラミングが申し込める文化が高じて先輩へ質問しやすい雰囲気ができ、チームの安心感の醸成につながったと感じています。

レビュー会、モブプログラミング

私のチームでは、毎日コードレビュー会を行っています。
レビュー会は、ただ答えへ一直線に向かわせるためだけでなく、メンバーに対して「新しい気付き」と「発想を拡大する機会」を得てもらう場と定義し、併せて多くの目を通すことによる品質向上を目的としています。

レビュー会とは主に「アドバイスを聞いて持ち帰る会」ではありますが、そのアドバイスをコードに変換し、実際に動かすことで、聴衆である参加者全員に浸透させる手法として、昨今は「モブプログラミング」も実施しています。

モブプログラミングについては、以下のQiitaの記事が参考になります。
モブプログラミングを振り返りまとめてみる

レビュー会を行う際、中には「間違っていたらどうしよう」「そんなのも知らないのかと思われたら嫌だな」という意識がはたらき、発言をためらってしまうメンバーも居るのではないでしょうか。私たちのチームでは発言することを正義とし、例え自信がなくても間違っていても、その発言が議論の糧となるコミュニケーションを意識しています。
そしてレビュー対象の提出者も、そのようなコミュニケーションにより気軽に制作物を提出できる場としています。レビューされることは、決して恐くないとみんなが感じられるように意識しました。

能力がストレッチするアサイン

私はリーダーとして、日々現れる「ビズリーチ」サービスの課題に対し、フロントエンドエンジニアのメンバーを采配、いわゆるアサインをしています。
世に言う正しいアサインとは、「本人の実力の120〜150%くらい」の業務にアサインすることとされているかと思いますが、従来はなかなかメンバーの能力が「ストレッチする」アサインを行なうことができませんでした。

ですが、ある書籍をきっかけに、アサインについての考えを改めることができました。
それは「挑戦できる土台を作ってあげること」と「挑戦した結果を正しく振り返ること」です。

今まではメンバーが「できるかできないかわからない、ギリギリのライン」に対してお願いする勇気がなく、メンバーが「できると確信している仕事」しか任せることができませんでした。
このような守りのアサインにより、メンバー自身も自分ができる仕事だけを希望するようになっていきました。
挑戦できる土台がなければ、メンバー自らがストレッチするタスクを見つけることは困難です。
そのため、私は参考図書に沿ってメンバーのアサインを行なうようにしました。

参考書籍:「経験学習」入門

より挑戦できる、自分の実力や知識の幅をストレッチするアサインと、各人に「何ができたか、どうすればより良くできたのか」を振り返ってもらう、もしくは一緒に振り返る体制により、メンバーはみるみるうちにスキルを身につけていったように感じます。
実際に課題にアサインされるメンバーからも、成長を実感できているという声を聞くことが多くなってきました。

精神的成長

ひと口に技術者と言えど、ビジネスパーソンとしての精神的成長も無視をする訳にはいきません。
会社に属する技術者として、「人と仕事をすること」を大事にしてもらい、チームをより成長させる大事な一員となってくれるよう、以下のことを意識してもらいました。

他の人のための行動

たった1人で自分のスキルを高め続け、生産性を二次曲線的に高めていくことは大変困難です。より効率的に働くために人と協力することはフロントエンドエンジニアでも同じこと。事業の拡大や効率化に伴い、BtoC、BtoBといったプロダクトごとにチームを分けるケースが多いかと思います。しかし、一定の領域にとらわれすぎない技術者になってもらうために、ビズリーチではBtoC、BtoBと分かれたプロダクトにとらわれないリソース配分を意識してきました。

振り返ると、最初は自分が深く関わっていないプロダクトに対するアレルギーが、各人に多く見られたように思います。しかし、そのようなときこそ、ペアプログラミングや、そのプロダクトに深く関わる別のメンバーへのヒアリングが活きてきます。
そうして段々慣れてくると、両プロダクトで足りない手を補い、「助け合う」こと自体を仕事のやりがいと感じられるメンバーになってきました。

プロダクトに差はあれど、活きる得意分野もメンバーによって異なり、「自分が一番フォローしてあげられる」と感じ自信に繋げられることがとても重要だと感じました。

後輩のフォロー

チームや会社、社会の発展を見据えた際に、前途洋々な後輩社員をおざなりにできません。私たちは後輩社員に対するフォローをとても大切にしています。
最初は仕事のおぼつかない社員を、どのようにフォローして成長してもらうかは、未来への投資としも大きな重要事項です。

私はメンバーとコミュニケーションをとるあらゆる機会で、その重要性に気づいてもらえるよう意識しました。メンバー全員が会社の未来や社会の発展を同じレベルで想像しているわけではありませんし、それぞれにとってわかりやすい粒度で伝えることが大切です。ひと口に「会社のためだ」と伝えても、イメージがわかないのは至極当然なのですから。

そして、先輩社員はそんな私の言動をきっかけに、より効率的にお客様に良いサービスを届けられるよう、後輩社員をフォローするようになったと感じています。
具体的には困りごとを聞いたり、それに対するアドバイスやペアプログラミングをして、失敗しないこと、または、失敗をしてもより精神性やスキルを高めてあげられるようなフォロー力を身につけていきました。

また、後輩社員はそういったフォローを肌で感じ、更なる後輩社員に同じように、もしくはそれ以上のフォロー力を発揮し、少しずつ文化として伝播してきています。

最後に

個人の成長に対して、「スキルアップ」と「精神的成長」の2軸をテーマに、私が意識したことと、その結果についてまとめました。メンバーからも「チームや個人としての成長を実感している」という声を聞くことができ、少しずつ理想のチームに近づいてきていると感じています。

今回は「ビズリーチ」サービスのフロントエンドエンジニアチームにおける、リーダーとしての視点でお話ししました。チームによって課題はそれぞれかと思いますので、まずはチームに対して、ご自身が考える具体的な施策を提案されてみてはいかがでしょうか。このお話が、みなさんのきっかけになれば幸いです。

次回は、後編として「チームの成長」についてお届けします。