Help us understand the problem. What is going on with this article?

新人教育の際に気をつけたこと

More than 1 year has passed since last update.

以前担当していたプロジェクトで、新人くん(社会人歴2年目、実務のエンジニア歴0ヶ月)が入ってきた際の教育係をやっていました。
新人くんにはそれなりに評価してもらえたので、実施した内容をこちらにまとめました。
これから新人くんを迎え入れる方の参考になれば幸いです。 :pray:

*自分が初心者だった頃に「こうやって指導してくれる人が居たらなぁ」と思っていたことを実践したので、万人向けかどうかは定かではありません。。

基本的なスタンス

新人くんを教育する上での基本的なスタンスとしては主に3つのことを重視しました。

  • 新人くんの自律性を伸ばす
  • 新人くんにはできる限り理由や意図を説明してもらう
  • 教区担当者は指示ではなく助言する

そもそもお仕事の場では自分である程度考えて意見が出せる必要があるため、 これからキャリアを積んでいくにあたって自走できるようになるためのマインドセット を構築する必要があります(要は洗脳ですね)。
そのため、いわゆる先生(教える人)と生徒(教えられる人)といった関係ではなく、困った時のアドバイザーとしての立ち位置をとりました。

タスクの進め方

*前提として、私の担当していたプロジェクトではスクラム開発を取り入れており、スプリントを1週間で周していました。週に一度タスクを棚卸してアサインされたタスクを翌週のリリースまでに片付ける流れです。

タスクを進めるあたり、新人くんにはまず最初に3つのことを考えるようにしてもらいました。

  • ゴールは何か?
  • 現状はどんな状態か?
  • 現状からゴールにたどり着くためのステップは何か?

初心者は往往にして、既存コードの調査などをしているうちに本来の目的を忘れがちです。
そのため、まずタスクを取り掛かる前に 何をやったらゴールなのか? を考えてもらうようにしています。

また、新人くんの進捗を確認する際には、「進捗どう?」ではなく「何か困っていることはあるかな?」と質問するようにしています。
「進捗どう?」と聞いてしまうと、心理的には急かされているような気持ちになりますし、その上であまり進捗がよくない場合(往往にしてそうである)には新人くんは回答に非常に困ってしまいます。
教育する側の人間の役目は、進捗がどうであるかよりも進捗が滞るような困りごとがあるかどうかを気にした方が良いかなと思います。

コードレビュー

コードレビューでは、基本的に新人くんと膝を突き合わせて実装したコードの目的や意図を説明してもらうようにしました。

中級者であればPull Requestを読めば事足りることが大半なのですが、初心者のコードをレビューする際は、PR上の文面でのやり取りよりも膝を付き合わせて話し合った方がお互いの理解が進むのでそのようにしました。

こうすることで初心者にありがちな「なんとなくそれっぽい処理を他からコピペしてきた」といった、思考停止モードを抑制することができると思っています。

初心者に限らず、世の中には業務歴が何年目であろうとも目的や意図を考えずに実装するエンジニアがたくさんいるので、その人たちのようになってほしくないという思いに依ります。

また、レビューの際には教育者側が「これは間違った実装だ!ここはこう実装べきだ!」と一方的に指摘するのではなく、「こういうケースの場合には対応できなさそうに見えるけど、どうしたらいいかな?」といったように実装の抜け漏れを指摘しつつも実際の解決策は新人くんに出してもらうようにしています。

教育担当者側の人が「こうすればうまくいくよ」とお手本を見せるのも時には有効かもしれませんが、そればかりしていると新人くんは「どーせ困ったらあの人が答え教えてくれるし」と自分で考えることをやめてしまう恐れがあります。
そのため、基本的には考えるためのヒントをあげるのが良いのではないかと思っています。
いわゆる、「魚を与えるのではなく、魚の釣り方を教える」という感じです。

1on1

実装の話だけだと息が詰まってしまったり、業務全体の相談をする機会が取れないので、明示的に週一回の1on1を取り入れました。
1on1では主に2つのことに気をつけていました。

  • 新人くんの話したいトピックを話してもらう
  • 教区担当者の意見を新人くんに強要しない

そもそも1on1自体が相手の話したいトピックを深掘りし、そこから気づきや反省を得て今後に繋げることを目的としています。
そのため、基本的には新人くんの話したいトピックを話してもらうようにしていました。

またここで大切なのが新人くんに対してこちらの意見を押し付けないことだと考えました。
目上の人物から意見を押し付けられてしまうと、「年長者がいっていることだしこれが正しいんだろう」とか「この人の意見は気に食わないけど角が立たないようにうなずいておこう」という流れになり、新人くん自身が自分で考えることをやめてしまうことに繋がるからです。

まとめ/雑感

技術力は非常に重要ですが、それを構築するのは自律性だと思うので、新人くんが自律性を高められるようなサポートをするのが良いのかなと思いました。

初心者を教育することはなかなか大変かもしれませんが、誰しも最初は初心者だった頃があります。
初心者の頃に「こんな風にサポートしてくれる人がいたらなぁ...」と思ったことのある人は多いと思います。
もしあなたが新人くんの教育担当になった日には、あなたが初心者だった頃に想像した理想のサポーターとなれるように頑張ってみてはいかがでしょうか。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away