IT未経験新人を担当してから１年たっていた。

# IT 未経験新人指導でやったこと、学び、感想


## はじめに

去年、IT 未経験の新人さんを指導するという大役を任されました。
正直最初は「どう教えたらいいんだ？」と不安もありましたが、試行錯誤する中で自分自身も成長することができたと思います。

この記事では、私が実践した指導方法や目的等をまとめています。
同じような立場の方や、これから新人指導を担当する方に何となく役に立てば嬉しいです。

---

## 1. 新人指導のゴール設定

### 背景

IT未経験者にとって、プログラミングやIT業務は未知との遭遇そのものだったかと思います。
「何から始め、どこに行けばいいの？」という状態なので、まずは現状の把握とゴールを設定して安心感を持ってもらうことが大事だと考えました。
最初のゴールはシンプルにして、徐々にステップアップできるように工夫しました。
前提として、プロジェクトではPythonを使用してます。

### 目標例

たとえば、こんな感じの目標です：

- Python で基本的なスクリプトを書けるようになる
- プロジェクトの開発タスクを独力で解決する
- 既存コードがどのような動きをするのか理解する
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527164/7255f450-476c-d5f9-e55b-be3f6e7f9a9a.png" width="25%">

---

## 2. 実施した内容

新人指導では、以下のような具体的な取り組みをしました。
期間も実施時期もまちまちです。備忘録になります。

### ① Python 知識テスト

まず、Python の基本的な文法がどこまで理解できているか認識をしなければなりません。そこで、理解度テストを作成してみました。  
その時は配列や Dict 型を使用したデータ整形の問題を出題した記憶があります。
変数定義、For 文、辞書型の値を取得等、プロジェクトでよく扱う処理が理解できるか？の確認ですね。

例えば以下のような、オブジェクト配列の入力を文字列結合し出力する関数を作成する課題です。

```
【入力】
[
  {"name": "toro", "no": "01"},
  {"name": "ume", "no": "02"},
  {"name": "haku", "no": "03"}
]

【出力】
01_toro
02_ume
03_haku
```

#### 実施した感想

プロジェクトで扱う技術の理解度を確認や新人さんの基礎知識を確認することができ、次に何をするべきか？につながる良いアクションだったと自負しています。
また、従事してから最初にやるべきだったな…と反省しています。

---

### ② paiza で Python 学習

とりあえずPythonの基礎文法について学んでもらおうと、[paiza](https://paiza.jp/)というサービスに登録してもらいました。
期間を決めて「[新・Python 入門編](https://paiza.jp/works/python/new-primer)」を受講してもらい、日々進捗を確認することにします。

https://paiza.jp/

本人もやる気があり、スムーズにこなせていたかと思います。
教材には本や動画など選択肢がありますが、何が合うかは新人さんによりそうですね。

#### 何故 paiza？

paiza を選んだのは動画形式で堅苦しくなく、順序立てて Python の基礎を学ぶことができると考えたためです。
また、学習ステータスで達成状況がわかりやすく、ゲーム感覚で楽しめそうといった思惑もあります。
（ついでに私も登録してみました。）

こんな感じで学習が進むと村人が何かにレベルアップしていきます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527164/f5e6c570-22b9-d280-9168-5407d91dbe24.png" width="25%">

アルゴリズム問題も充実しており、学習した内容をすぐに実践でき、１つのアカウントで Input と Output ができるのは便利だと思いました。

---


### ③ アルゴリズム試験

Python の基礎を学習してもらったところで、次は実践してもらいたいですね。
前述したように、paiza にはアルゴリズム問題も提供されており、これを利用しない手はないです。
個人的には論理的思考の育成や問題解決の機会にもなる、一石何鳥にもなる素晴らしいアクションだったと思います。

最初は苦戦していた新人さんも徐々に解けるようになっていき、わかりやすく成長が見られました。私も嬉しく感じた記憶があります。
帰宅してからも解けなかった問題のアルゴリズムを考えていたと新人さんから聞き、案外楽しいのかもしれないと安心しました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527164/df8aeaf2-e510-7127-f84c-3556115c193f.png" width="20%">

アルゴリズム試験については指導期間中も徐々に難易度を上げ、定期的に実施してもらっていました。

:::note warn
でも難易度の高い問題をたくさん実施してもあまり意味はなさないかも知れない
:::
アルゴリズム試験が解けるようになってきても、プロジェクトのタスクをこなせなければ意味がありません。
ここでのゴールはあくまで、「アルゴリズム試験が解けること」ではなく「プロジェクトの開発タスクを独力で解決する」事なのです。

---

### ④ 架空の開発タスクの実施

論理的思考になれてきたところで、プロジェクトへの理解やコードの把握をしてもらうため、架空の開発タスクを作成し新人さんに解決をしてもらいました。
（プロジェクトにちょうどいい難易度のタスクがあればそちらを実施してもらいたかったのですが、その時は枯渇していました…）

正直、これにはあまり意義を感じませんでした…
架空開発タスクを解決やそのレビューに時間がかかってしまい、プロジェクトのタスクに従事しながらでは中途半端になってしまった印象です。

結局、これはあまり続きませんでした。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2527164/4619c899-66ba-9011-6a87-d37208a335c9.png" width="25%">

プロジェクトに実在するタスクの一部を切り取り、難易度を調整したうえで従事してもらった方がよさそうですね…

---

### ⑤ 文章要約

そのほか、自分の伝えたい情報を取捨選択し、相手にわかりやすく正確に情報を伝える能力を養ってもらう目的で「ヒューマンスキル」と呼ばれる能力の向上も実施しました。
具体的な取り組みとしてはニュースや社説を読み、要約する練習をしてもらいました。
（今考えると日報や週報とかでもよさそうです）

要約してくれた文章は ChatGpt 等の AI に採点をしてもらい、本人にフィードバックを行いました。

https://chatgpt.com/

私もやってみました。自分も練習したほうがよさそうです。

---

## 3. 指導を通じて得た学びと反省点

反省点として、以下数点の気づきがありました。

- 考える習慣を育てる工夫が不足していた
  - 教える際、考えるプロセスを促すよりも答えを伝える場面が多くなってしまい、相手が主体的に考える機会を作れなかったと反省
- タスクの難易度調整が難しかった
  - タスクが無いなら作ればいいじゃない精神が足りていなかった。架空の開発タスクの下りは失敗していそう…

---

## 4. まとめ

新人指導は本当に試行錯誤の連続で、「教えることは学ぶこと」という言葉を実感した1年でした。
上司や先輩社員も相談に乗ってくれ、とても感謝しています。  
この記事が、今後指導を担当する方や関係者の参考になれば嬉しいです。

新人さんには、たまごっち感覚でいろいろなことを試させてもらいました。
それも本人のやる気がなければできなかったことです。
これまでいろいろ書きましたが、実際にやっているのは本人です。感謝。

レビューや学習にChatGptやpaizaがとても便利ですね。
使える外部サービスやAIはどんどん活用していきたいと思います。

フォーマットもなく、まとまりのない走り書きになってしまいましたが、最後まで読んでいただきありがとうございました。

**記事に誤字脱字、間違い、意見がありましたら連絡ください。**

## 参考サイト・書籍
- フリーイラスト：[無料のAi・PNG白黒シルエットイラスト](https://www.silhouette-illust.com/)
- 学習サイト：[paiza](https://paiza.jp/)