Content last updated 2024-06-27

サポートエンジニアリングのメンターシップ

このページでは、シニア+ エンジニアの期待事項と、GitLab でメンターシップにどのように関わるかを扱います

メンティーへの期待

メンティーとして、以下を覚えておくことが重要です。

  1. これは学習の機会であり、「引き渡し」ではありません。メンターは Issue を引き継ぐべきではなく、代わりにあなたを支援し、学べるよう導くべきです。
  2. 問題を明確に述べるよう努め、トラブルシューティングを早めるために事前に少なくとも 15 分の準備作業を行ってください。
  3. メンターのスピードが速すぎる、または何かを十分に明確に説明していないと感じたら、伝えてください。怖いことかもしれませんが、メンターは理解してくれるはずです。
  4. メンターも人間です。答えを知らないかもしれませんが、ペアリングを通じて、お互いに正しい答えに近づけるはずです。

メンターへの期待

ペアリングセッションとしてのクイックメンタリングの設定方法

サポートエンジニアリングの誰でもメンターとして行動できますが、このページでは特にシニア+ エンジニアがどのようにメンタリングをセットアップし、意図的に他者をメンタリングできるかを扱います。2019 年 11 月のトライアルを通じて、私たちは以下のガイドラインを定めました。

  1. シニアエンジニアは、平均して営業日あたり 1 回のペアリング、つまり週 5 回のペアリングセッションを目指すべきです。これは上限でも下限でもなく、意図です。週によってはこれより多くなることも、少なくなることもあるでしょうが、いずれの場合も意図をもって行うべきです。
  2. ペアリングは、スケジュールしても、Issue が発生したときに行ってもかまいません。
  3. シニアエンジニアはメンターシップの一形態としてオフィスアワーを開催できます。
  4. あなたが専門で、ヘルプを提供できるチケットを見つけたら、そのエンジニアとペアリングすることを検討してください。
  5. 思いつくエンジニアがいない場合は、#support-donut を使ってペアリングする可能性のあるエンジニアを見つけられます。
  6. ヘルプを提供し FRT を促進する最近のイニシアチブを通じて、シニアエンジニアは Senior Help Sessions をリードしたり参加したりできます。
    • Senior Help Sessions はsenior-help-sessions ラベルを使用してペアリングセッションとして追跡されます
    • これらはペアリングセッションとは少し異なり、SE がチケットを進めるために次に行う最善のステップを判断する支援に焦点を当てます。たとえば、特定の主題エキスパートとのペアリングセッションのスケジュール設定や、DevOps ステージのカテゴリに基づいて誰と繋がるかについてのガイダンス提供などです。
    • 現在、AMER は各シニアが週 1 回のセッションをリードするローテーションで、1 日 1 回のヘルプセッションを開催しています。
    • これにより、すべてのエンジニアがより頻繁にヘルプを得る機会を得られます。
  7. シニア+ エンジニアは、技術的問題、時間管理などのメンターシップを通して、他のメンバーが責任を果たす(FRT SLA を満たす取り組みにおいてチケットベースラインを満たすなど)のを支援できます。

私たちは、他者と繋がるための方法を概説するために、これらのシンプルなガイドラインから始めました。

メンタリングへの取り組み方

メンターとして、以下を覚えておくことが重要です。

  1. 自分の思考プロセスをできる限り明確に説明します。
  2. 共通理解に到達することを目指し、お互いを理解し合っていることが明確になるようにします。
  3. メンティーと共通理解があると合意しない限り、「ショートカット」や「単純化」の使用を避けるようにします。
  4. 共感が鍵です。エンジニアの現在の地点で出会い、顧客にするように当人を支援してください。 ペアリング以外にも、シニア+ エンジニアはより長期的で構造化されたメンターシップを検討できます。私たちは現在、両者が集中して前進し続けられるよう、メンターシッププログラムの終了時点で具体的なゴールを設定した 6 週間のプログラムを目指すことを推奨しています。

メンタリングプログラムの例

以下は、jq でのログ解析と strace の解釈に関する 6 週間のメンタリングプログラムの概要で、毎週 1 時間のミーティングが行われます。プロジェクトの例には、ランブックの作成や、トラブルシューティングドキュメントへの新規ページの追加が含まれます。

  • 週 1:
    • 導入: メンティーがこのプログラムから何を望むか、メンターが何を提供できるか
    • 目標: 可能であれば、メンティーが最も興味のあることと、当人が取り組む可能性のあるプロジェクトを決定する
      • これがまだ明確でなくても問題ありません。プログラムが進むにつれて答えやすくなるはずです
    • メンターがトピックの導入を行う
  • 週 2:
    • メンターが jq のデモを行う
    • メンティーがサンプル問題を解く
    • メンティーに持ち帰り課題を出す
  • 週 3:
    • 持ち帰り課題の結果をレビューする
    • シンプルなプログラムの strace を確認する
    • メンティーが自分でトレースを実行し、見たものを説明する
    • 持ち帰り課題: エラーの原因を strace でレビューする
  • 週 4:
    • 持ち帰り課題をレビューする
    • Gitaly などのより複雑な strace 出力をレビューする
    • まだ完了していなければメンティーのプロジェクトを最終決定する
  • 週 5:
    • 高度な jq テクニック
    • 高度な strace テクニック
    • プロジェクトの状況を確認する
  • 週 6:
    • プロジェクトのレビュー/最終化
    • ポストモーテム: 何がうまくいったか? 何がうまくいかなかったか?

メンティーの複雑度や利用可能な時間に応じて、プロジェクトの完了にはさらに数週間かかることがあり、必要に応じてミーティングが開催されます。