新人エンジニアの必須アクション集　〜初めての山登りに例えてみた〜

この記事は[モチベーションクラウドシリーズアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/mcs)の22日目の記事です。

# はじめに
私は、新卒1年目、文系出身、エンジニア未経験、歴３ヶ月目です。
３ヶ月前の私は、
「初めてタスクを渡されたけど、何すればいいんだ？？」状態からはじまりました。
無力感とともに、泣きたくなりますよね、わかります。

そんな私が、新人エンジニアとして右往左往しながら過ごした３ヶ月を
**「新人エンジニアの必須アクション集」**と題して、山登りに例えてお話します。

山登りの手順は、以下5つです。
**[1. 『どの山登る？』　〜タスクを設定する〜](#1どの山登るタスクを設定する)**
**[2. 『現在地は？』　〜自分のレベルを確認する〜](#2現在地は自分のレベルを確認する)**
**[3. 『ルートは？』 〜タスクを分解する〜](#3ルートはタスク分解する)**
**[4. 『道に迷ったら？』　〜周りを頼る〜](#4道に迷ったら周りを頼る)**
**[5. 『明日道に迷わないために？』　〜学びを蓄積する〜](#5明日道に迷わないために学びを蓄積する)**
**[おまけ. 『山登り初心者にできることは？』 〜率直な感想を伝える〜](#おまけ-山登り初心者にできることは-率直な感想を伝える)**

さぁ、初めてのタスク（山登り）をクリアしましょう！🙌

# 1.　『どの山登る？』　〜タスクを設定する〜　
登る山を決めずに、山は登れません。
エンジニアとしてのタスクも同じです。
知らないタスクを「とりあえず渡されたからやる」のではなく、
腑に落ちる形で、タスクを設定しましょう。
タスク設定の観点は、5W1Hです。

|5W1H|問い|山登り|
|----|----|---|
|why|なんのためにやるのか？|日の出を見る|
|what/which|何をするのか？|富士山を登る|
|who|誰がやるのか？|私と友達|
|how|どのようにやるのか？　|5合目から歩く|
|where|どこに基準を置くのか？|5時間で登頂|
|when|いつまでにやるのか？|12月31日|

新しいタスクがわからなかったら、まずはこの６つを先輩と埋めていきましょう。

<details><summary>**具体例：はじめての原因調査・対応①**</summary>
私は原因調査・対応のタスクをする機会が多く、以下のようにまとめてみました。
**〜お客様からログインできないと調査依頼が来た〜**
**why**：`お客様がログインできない状態を回避する`
**what/which**：`ログイン機能の調査`
**who**：`原因調査（私）、お客様対応（先輩）`
**how**：`ログの確認`
**where**：`解決策を挙げる`
**when**：`午前11時まで`
</details>

登る山は確認できました！👏

# 2.　『現在地は？』　〜自分のレベルを確認する〜
次は、**現在地**の確認です。
エンジニアでいう、自分のレベルの認知に当たります。
以下のようなレベルで目の前のタスクを捉えると、自分のレベルがわかります。

|Lv.|学習のレベル|山登り|
|----| ----|----|
|1|無意識的無能（知らないからできない）|道を知らない|
|2|意識的無能（分かっちゃいるけどできない）|道を知っているけど、手段がない|
|3|意識的有能（がんばればできる）|道を確認しながら進むことができる|
|4|無意識的有能（あたりまえにできる）|道を間違えることなく進むことできる|
|5|無意識的有能に意識的有能（あたりまえにできることを、意識して人に教えることができる）|道案内ができる|
参考1：[学習の5段階レベル](https://www.nlp.co.jp/000015.php)
参考2：[知る、わかる、できる、教える（能力開発の４つのステップ）](https://globis.jp/article/5149)

山登りの達人であっても、
最初は「道を知らない」状態だったことは言うまでもありません。
私は、無意識的無能状態（知らないからできない）であることを受け入れた上で、
自己研鑽するのが健全であることを教わりました。
自分が対峙しているタスクについて、どのレベルなのか、表を参考にまとめてみることをお勧めします。

<details><summary>**具体例：原因調査・対応②**</summary>
再度、原因調査・対応を例に挙げます。
**〜お客様からログインできないと調査依頼が来た〜**
`Lv.1：ログイン機能の調査方法について知らない。=> 先輩に方法を聞く。`
`Lv.2：調査方法はわかったけど、できない。=> 先輩と一緒にやる。`
`Lv.3：時間はかかるけど、調査はできそう。=> 一人でやってみる。`
`Lv.4：当たり前に調査できる。=> 何度も繰り返す。`
`Lv.5：調査方法を人に伝えられる。=> 先輩に説明する。`
</details>

登る山と現在地を確認できました！👏
さぁ、登ろう！
と思いがちですが・・・・
その前に、ルートの確認があります！

# 3.　『ルートは？』　〜タスク分解する〜
次は、山頂までのルートを決めます。
エンジニアでいう、タスク分解になります。
タスク分解の方法は様々ですが、初めての山登りなので、
経験者に聞くのが一番早いです！
聞くことでのメリットは、以下３つです！

|メリット|ルートの確認|
|---|---|
|1. タスク中にやってはいけないことがわかる|危険な道の回避|
|2. タスクの工数がわかる|山頂到達時間の把握|
|3. タスク分解の妥当性が確認できる|ルートの確認|

<details><summary>**具体例：原因調査・対応③**</summary>
**〜お客様からログインできないと調査依頼が来た〜**
`5分：お客様からのメール文を読む`
`5分：お客様の現状を把握する`
`10分：画面上で調査してみる`
`10分：データベースでログイン情報を確認する`
`10分：クラウド上でログを確認する`
`5分：原因があっているか先輩に確認する`
`5分：解決策を文章にまとめて伝える`
**合計：60分**（バッファ10分を含む）
</details>

準備万端ですね👏
いざ、山を登り始めましょう！

# 4.　『道に迷ったら？』　〜周りを頼る〜
あれ？道に迷った・・・？
山登りで道に迷ったときに、
周囲の言葉がわからないと、さらにわからなくなります。
初めてエンジニアの道に足を踏み入れたら、言葉を覚えることで、
周囲の人と会話ができるようになります。
以下、実際にあった２つのエピソードをあげます。

<details><summary>**エピソード①：「生きる」「死ぬ」が日常で使われている！？**</summary>
**「環境、死んでない？」**
**「環境って生きてる？」**
初めて聞いたとき、意味がわからずギョッとしました。
わかってしまえば、なんてことない表現ですが、耳馴染みのない言葉は混乱しました。
[不思議の国のSE用語](https://qiita.com/t_nakayama0714/items/478a8ed3a9ae143ad854)
</details>

<details><summary>**エピソード②：「大いなる力には大いなる責任が伴う」！？**</summary>
**大いなる力には大いなる責任が伴う**
`あなたはシステム管理者から通常の講習を受けたはずです。`
`これは通常、以下の3点に要約されます:`
    `#1) 他人のプライバシーを尊重すること。`
    `#2) タイプする前に考えること。`
    `#3) 大いなる力には大いなる責任が伴うこと。`
こちらもエンジニアなら一度は遭遇したことのある言葉かもしれません。
日常生活ではあまり出会うことのない表現ですよね。
</details>

タスクの沼に落ちそうになったら、
周囲とコミュニケーションを円滑にして、頼りまくりましょう！
頼ったことを振り返るのは、次のステップです！

# 5.　『明日道に迷わないために？』　〜学びを蓄積する〜
道中予想できないことが起こります。
思ったより時間がかかる、疲れてもう歩けない・・・などなど。
周囲に頼ってばかりではいられませんよね・・・
同じことが起こらないように、学びを蓄積しましょう！
学びをアウトプットし、フィードバックをいただくことのメリットは、以下３つです。

|メリット|地図づくり|
|---|---|
|1. 新しい解決方法を知る|新しい道を知る|
|2. 自力解決する術を思考する|ルートを考える|
|3. 同じミスを防ぐ|道を間違えない|

##### 1. 新しい解決方法を知る
自分の学びを発信することで、それに対するアドバイスや意見をいただくことができます。
新しい解決方法を知ることに繋がっています。

##### 2. 自力解決する術を思考する
新しいタスクでも、これまでの学びを活用して対応できることがあります。
学びを蓄積し、振り返る術を用意しておくことで、自力解決できる可能性が高まります。

#####3. ミスの再発を防ぐ
自分のミスを、学びとして蓄積することで、ミスの再発を防ぐことができます。
しくじりエピソードとして共有することで、誰かのミスを防ぐことにも繋がります。

<details><summary>**具体例：slackチャンネル**</summary>
弊社では、slack上で#times_manabiチャンネルを作り、
個人の発信に対して、返答し合うことで学びを蓄積しています。
![スクリーンショット 2021-12-21 12.21.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2014106/2154ecf6-2934-6dce-780c-99e9e428ce9a.png)
</details>

周りに助けられながら、山頂に到達です〜👏
おめでとうございます！
初めての山登りおつかれさまでした！
次は、おまけです。

# おまけ. 『山登り初心者にできることは？』 〜率直な感想を伝える〜
初めての山登りは、１度きりです。
同じ山には何度も登れますが、
初回登山の新鮮さや新しい気づきは、別格です。
だからこそ、新人エンジニアとして、製品に触れる機会を大切にしたいです。
新人エンジニアが、製品に触れ、
率直な感想をチームに伝えることは、知識がなくてもできることだと思っています。

<details><summary>**具体例：気づきを伝え合う**</summary>
私のグループでは、週1回お客様の声や自分の気づきを伝える時間を設定しています。
ミーティングに組み込むことで、新人でも話しやすい環境をつくっていただいてます。
</details>

# まとめ
「新人エンジニアの必須アクション」をあげてみました。

**[1. 『どの山登る？』　〜タスクを設定する〜](#1どの山登るタスクを設定する)**
**[2. 『現在地は？』　〜自分のレベルを確認する〜](#2現在地は自分のレベルを確認する)**
**[3. 『ルートは？』 〜タスクを分解する〜](#3ルートはタスク分解する)**
**[4. 『道に迷ったら？』　〜周りを頼る〜](#4道に迷ったら周りを頼る)**
**[5. 『明日道に迷わないために？』　〜学びを蓄積する〜](#5明日道に迷わないために学びを蓄積する)**
**[おまけ. 『山登り初心者にできることは？』 〜率直な感想を伝える〜](#おまけ-山登り初心者にできることは-率直な感想を伝える)**

山登りは一人ではできないことも、忘れないでくださいね！
助けを求めたら、温かい先輩方が助けてくれます。
新人エンジニアの育成については、[こちら](https://qiita.com/vankobe/items/d4cc886f89a4b62e8977)が参考になります！

遭難者が一人でもいなくなることを心から願っています。
最後までお読みいただき、ありがとうございました！