こんにちは、アプリケーションエンジニアのid:shiba_yu36です。今回ははてな社内で行っているエンジニアメンター制度について紹介したいと思います。
エンジニアメンター制度概要
はてなの技術グループでは、エンジニアメンター制度というものがあります。どのようなものかというと
- 新卒・中途、入社年数の長さに関わらず、全てのエンジニアには、必ずメンターが一人付く
- 基本的にはチーム外のシニアエンジニアと呼ばれる人たちがメンターとなる
- シニアエンジニアについては はてなの技術組織2016 - Hatena Developer Blog も参照
- メンターは、目標設定・毎月の1on1・評価を通じて、メンティーの悩みの早期発見・解決、成長支援をおこなう
- またメンターは評価時期に、「専門スキル」という観点でメンティーの評価を行う
という制度です。
それではこれから、どのような目的でメンター制度を導入しているのか、メンターは何をするのか、このメンター制度の良いところや今後の改善点について書いていきたいと思います。
エンジニアメンター制度の目的
エンジニアメンター制度は次の3つの目的のために実施しています。
- メンティーの問題の解決を支援する
- メンティーの成長を支援する
- メンティーの専門性を適切に評価する
一つ目は、メンティーの問題の解決を支援する目的です。仕事をしていると、チーム内でのトラブルやモチベーションの悩みなど、様々な悩みを抱えることがあります。悩みを抱えた状態では仕事でうまく成果を出すことができなかったり、成長が阻害されたりしてしまうので、うまく解決する必要があります。チーム内にも上司がいるので、そのような悩みはチーム内で解決されるとベストですが、チーム内で相談しにくい場合や別の視点を得たい場合もあるでしょう。そこで、チーム外の人がエンジニアメンターになり、1on1などを通じて問題の解決を支援しています。
二つ目は、メンティーのエンジニアとしての成長を支援する目的です。チームの上司以外に、「エンジニア」のメンターが付くことにより、メンティーがこれからエンジニアとしてどのような力をつければよいか、社内でどのようなキャリアがあるか、メンティーにどのような課題があるかなどを、メンター・メンティー二人で一緒に考え、成長の助けとなるようにしています。
三つ目は、メンティーの専門性を適切に評価する目的です。はてなでは、「成果」「行動スキル」「専門スキル」の三つの軸で評価しています。この中で「成果」「行動スキル」については、チームの直属の上司が評価とフィードバックを行っています。そしてエンジニアメンターは「専門スキル」の評価と、今後の成長のためのフィードバックを担います。これにより、エンジニアでないと見つけにくい「目立たないが非常に重要なスキル」も含めて、専門スキルを適切に評価できるようにしています。
以上の3つの目的をもってエンジニアメンター制度を運用しています。
メンターがやること
この制度の中でメンターは
- 目標設定
- 最低1ヶ月に1回の1on1
- 評価とフィードバック
- メンター間での情報共有
を実施しています。
目標設定
毎半期、つまり半年に一回、メンターとメンティーでミーティングを設け、専門スキルの目標を定めています。これは主にメンティーの成長を支援するために行っています。ただし、
- 目標はあくまで、今半期どう成長していくかを宣言するマニフェスト目標である
- 本人のモチベーションを活かしつつ、エンジニアとしての成長のステップを踏めるような目標とする
- 目標の達成状況は期末の評価には勘案しない
のようにしています。目標と評価を紐付け、一定の強制力を持たせるということも出来ますが、専門スキルの目標はあくまで本人のモチベーションをベースとして、半期の成長の方向性を定めることに留めています。
例えば僕の場合の今半期の専門スキルの目標は以下のようになっています。
- 目標: Mackerelに必要な裏側よりの広い知識を身につけ、Mackerelの事業をドライブできるようにしたい。
- アクションプラン1: マスタリングTCP/IPを読む
- アクションプラン2: ScalaのFakeTimerのライブラリ化
- アクションプラン3: PrePANへのmackerel-agent導入
- アクションプラン4: ...
今半期は2月から始まっているのですが、地道に一つずつアクションをこなしていけているので、強制力を持たせず方向性やアクションを定めるだけでも一定の効果を得られると感じています。
最低1ヶ月に1回の1on1
メンターとメンティーの間で、最低でも1ヶ月に1回の1on1をしています。1on1の目的はいくつかありますが、特にメンティーの困り事の解決支援のために行っています。
この1on1で見つかった困り事や問題は、メンターとメンティーで会話し一緒に解決策を模索するようにしています。それでも解決する方法が見つからなかったときは、チーフエンジニアであったり、チーム側の上司であったりに話を持っていき、何かしら解決のアクションが行えるようにしています。
1on1は困り事の解決が主な目的ですが、他にも、
- やったことを振り返り、良かったことや改善点を話し合って、成長のためのきっかけを探す
- やったことをメンターが聞くことで、その後の適切な評価のための情報収集とする
なども合わせて行っています。
評価とフィードバック
前述した通り、「専門スキル」の評価はメンターが行います。なぜメンターが評価を行うかというと、1on1を定期的に行っており、チーム以外のメンバーの中では一番その人のやったことを理解しているためです。
メンターは、1on1で会話した内容や、メンティーと同じチームの他のエンジニアからの他者評価を参考に評価を行います。またメンターは評価点をつけるだけでなく、定性的なフィードバックのコメントも書くことで、次にどの方向で学習を進めていくかなどの今後の成長の参考になるようにしています。
メンター間での情報共有
メンターの業務をしていると、どう解決したら良いか分からない問題が出てきたり、メンターに必要なスキルを付ける方法が分からないことがあります。そこで毎月1回、メンター間で情報共有するようにしています。1on1で拾い上げた問題や気になることは適宜メンター間で情報共有し、同じような問題が起こっていないか探り、アクションを考えるようにしています。また、このタイミングでメンターの知見交換もしています。
メンター制度の良いところ
このようなエンジニアメンター制度を数年ほど運用していたのですが、最近メンティーが実際この制度についてどう思っているのかについてアンケートをしてみました。すると次のような良い点が挙がっていました。
- チーム外に相談場所があるところ
- チーム外の違う立場から、違う視点の意見をもらえるところ
- 今後のエンジニアの方向性を一緒に話して決められること
- 中途で入ってもメンターがつくところ
このようにある程度意図したとおりに機能していて良かったなあと感じています。
他にも
- そもそも1on1の前に困りごとをまとめている時に、考えがまとまって問題が解決することがある
- メンター自体がメンティーから新しい視点をもらえる
などの意見があり、意図していませんでしたが、面白い効果も出ているなと思っています。
今後の改善点
もちろんこの制度の全てがうまくいっているわけではありません。例えば以下のような課題があり、それぞれ改善案を考えています。
- メンティーの役に立っているのかが判断できず、メンターも手応えを感じていないことがある
- 改善案: メンティーからメンターへのフィードバックを増やす方法を考え、手応えを得る・改善点を探ることができるようにする
- 例えば、評価時期に、メンタリングの良かったところや気になっているところをコメントフィードバックしてもらう
- メンターのやる気に依存しすぎており、メンターの負荷が高まっている
- 改善案: メンターが所属するチームの上司との連携を強め、メンターのチームでの仕事と、メンター業のバランスを取れるようにする
- メンターとなったとき、初めは何をしたら良いかわからない
- 改善案: メンターとなった時の導入フローを整備する
以前自分のブログで良い制度には「カイゼンループ」が組み込まれている - $shibayu36->blog;という記事を書いたとおり、この制度も現状で満足せず、改善し続けられるようにしていきたいと思っています。
まとめ
今回ははてな社内で行っているエンジニアメンター制度について紹介しました。うまく機能している部分も、改善すべき部分もありますが、継続的に改善をし、より良い制度となるように努力していきたいと思っています。
【PR】エンジニア募集中です! hatenacorp.jp