エンジニアの勉強法をまとめてみた 

# 1. はじめに
私がこれまで読んできた本、参加した勉強会やセミナーを経て、私が思う「成長するエンジニアの勉強法」をまとめめたいと思います。

# 2. 社会人の勉強法
エンジニアの勉強法の前に、社会人の全般の勉強法について

![qiita_20210523_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350321/c839ee0a-20ad-3e65-6c23-6245a5aae8c7.png)


## 2.1. 勉強の習慣化
### 2.1.1. 勉強を習慣化するコツ
勉強の習慣化が失敗するパターンとしては、高すぎる目標を掲げて途中で挫折してしまうことが挙げられます。

挫折しないためにも目標にMINとMAXの範囲を設けてその範囲に収まっていれば目標達成とする範囲目標を設定しましょう。範囲目標のMINの目標は低すぎるぐらい低くすることが重要です。

_※先日受験した私のネットワークスペシャリスト試験勉強時の勉強法の範囲目標としては、
 ・MAX：NW過去問道場で午前Ⅱの問題を試験1回分(25問)解く
 ・MIN：NW過去問道場のサイトを開く
を試験前の1ヶ月半程度ですが期間内、挫折することなく継続させる事ができました。_

範囲目標のMINを低すぎるくらい低くすることのメリット
・挫折しない
一度、挫折してしまうと再開するのには最初に始めた時以上の心理的労力がかかる。

・目標を達成し続ける事で作業興奮を得て習慣化することができる
作業興奮とは
人はいったん行動を始めると、やる気が出て簡単に継続できるようにできている。
つまり、やる気があるから行動できるのではなくて行動するからやる気が出る。
だから、やる気が出なくてもとりあえず行動しよう！
というようなことでクレペリンという心理学者が発見した心理現象だそうです。

参考：[作業興奮の効果を知って、やる気の出ない自分をコントロールしよう！](https://organic-growth.biz/media/management/798.html)

_※私の例で言えばMINの目標はサイトを開くだけなので数秒あれば達成できる。そして開くと1問ぐらいは解くかとなってMINより少し上で目標達成持できて、続けていくとだんだん継続が途絶えるのが嫌になるので習慣化できました。_

## 2.2. 7・2・1の法則
7・2・1の法則とは、「経験７割、薫陶２割、研修・読書１割」という人材育成の法則のことです。

米国の人事コンサルタント会社ロミンガー社の創業者マイケル・M・ロンバルドとロバート・W・アイチンガーが、経営幹部としてリーダーシップをうまく発揮できるようになった人たちに「どのような出来事や機会が役立ったか」を調査しました。
その結果、「各自が自分の仕事経験を通じて職業能力を開発する機会」がもっとも多く、続いて、「上位者や先輩などから仕事上の体験を話してもらったり、観察したり真似したりして学習する機会」が2割あり、「読書や研修などの教育機会を通じた学習」が1割を占めました。

引用：[「部下を育てる」「自分が育つ」ために上手く経験を活かす](https://www.kigyou-keiei.jp/column/2020/01/08_925.html)


## 2.3. インプットとアウトプットの黄金比
インプットとアウトプットの比率、インプットが3に対してアウトプットが7、これが記憶をもっとも効率化する比率です。一ヶ月で10冊の本を読むより、3冊読んで3冊の本の感想、気付きをしっかりアウトプットした方が自分の記憶に定着します。

だいたいインプットにかけた時間の2倍をアウトプットの時間に費やせは良いと思います。

参考：[インプットとアウトプットの黄金比](https://kabasawa3.com/blog/socialmedia/golden_ratio_of_input_and_output)

### 2.3.1. インプット
インプットの手段としては
・読書
・勉強会、セミナー参加

読書のコツとしては簡単すぎず、難しすぎない本を選ぶと良く、1冊の本に沢山のことを求めすぎない事が重要だと思います。

[ITエンジニアに読んでほしい！技術書・ビジネス書 大賞](https://www.shoeisha.co.jp/campaign/award)で受賞、ノミネートされている本は良著が多いのでここから興味のある分野で自分のレベルに合った本を読むのはおすすめです。

### 2.3.2. アウトプット
アウトプットの手段としては
・ブログを書く
・誰かに教える（勉強会でのLT発表を含む。）
・試験を受ける
・執筆する

などがあるので、できる事をしていくのがいいと思います。

_※私のこの記事もアウトプットの一環としています。
2021年4月～2021年10月まで月イチで勉強した内容を投稿する目標を掲げていますが、MINの目標は「書くネタがない」と投稿することなので、来月以降月イチで「書くネタがない」と投稿するかもしれません。_

## 2.4. ふりかえり
定期的に自分の学びをふりかえる事も重要です。
アジャイル開発のスクラムではスプリントレトロスペクティブでチームでふりかえりを行いますが、個人の成長においてもふりかえりは有効です。

学びををふりかえることで、得た知識を「広げる」べきか「深める」べきか、どちらが自分に必要なのかが見えてくると思います。

個人の学びのふりかえりのフレームワークにはKPTよりもYWTやFun Done Learnなどが合っていると思います。


YWTに関しては以下を参考
[「ふりかえり」のカイゼンをやってみよう～自分が何者かを考えるのに遅すぎることはない](https://codezine.jp/article/detail/11118)
Fun Done Learnに関しては以下を参考
[ファン・ダン・ラーン(FDL)ふりかえりボード](https://qiita.com/yattom/items/90ac533d993d3a2d2d0f)

## 2.5. 仲間を作る
私のように自分の所属する会社に同じ興味を持つ仲間がいなかったら、コミュニティや勉強会などに参加して仲間を見つけましょう。コミュニティや勉強会で仲間を見つける事はとても刺激になり、モチベーションアップにつながります。

一人で勉強をしていると行き詰まったりして心が折れてしまうと、そこで終わりですが、仲間がいるとそのタイミングを後ろに少しずらすことができます。そして志の高い仲間と一緒に頑張れば「苦しい」が簡単に「楽しい」変わります。


_※最近はコロナの影響で集合形式の勉強会は開催されていませんが、私も勉強会を通じていろいろな仲間に出会ってなければ今こうしてQiitaの記事を書いている事は無かったと思います。_

# 3.エンジニアの勉強法
上記を内容をエンジニアに落とし込みますが、エンジニアでもポジションによって勉強法は変わって来ると思われます。
そこで、メンバー、マネージャー、スペシャリストと分けて効果的と思われる勉強法を挙げたいと思います。

## 3.1. メンバーの勉強法

ここでは経験の絶対値を増やす事で7・2・1の法則の経験による学びを最大限に得る。とにかく積極的に手を挙げて色々な事を経験する。

若いうちに失敗も経験しておく。この頃は痛い目に合うのもいい経験になるし、痛い目に合わないと解らないこともたくさんある。失敗をしない事より、失敗しても致命傷にならないことが重要。

新人のうちは読書はあまり重要ではないとおもいます。難しい本を読もうとしてもわからない用語や概念が多く効率が非常に悪いので、この頃の読書は基礎的な本だけでいいと思います。

新人におすすめな書籍は以下を参考
[新人時代に読めば良かったと後悔するほど感謝した技術書4冊]
(https://qiita.com/kojimadev/items/0bf53b439f0cb4d1f7e3)

これ以外では、ITエンジニア本大賞2021ビジネス書部門大賞を受賞した[なんでも図解 絵心ゼロでもできる! 爆速アウトプット術](https://www.amazon.co.jp/o/ASIN/4478110247)も新人でも読めると思います。


基本情報処理技術者試験に出題される用語は早めに覚えないと話についていけない事もあるので、基本情報処理の勉強をするのも良いと思います。


## 3.2. マネージャーの勉強法

マネージャーの勉強法にはカッツ・モデルを意識すると良いと思います。

![qiita_20210523_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350321/af3847bd-6179-de95-2150-7ffe5d01f04f.png)

### 3.2.1 ローワーマネジメント

ローワーマネジメントではマネジメントの経験を積んで行くことが重要です。「自分がやったほうが早い」と手を出してしまうと、自分のマネジメント経験と部下の実務経験の両方を奪ってしまうので、部下の仕事を我慢強く見守りましょう。

この辺からメンバー時代には読めなかった難本もだいぶ読めるようになり、読書の効率もよくなると思います。いままでのリアルな経験からのインプットと、読書による知識のインプットが繋がることによりさらなる成長が見込めます。

ローワーマネジメントでの個人的なおすすめの本6選
・[エンジニアリング組織論への招待](https://www.amazon.co.jp/o/ASIN/4774196053)
・[カイゼン・ジャーニー](https://www.amazon.co.jp/dp/4798153346)
・[エンジニアの知的生産術](https://www.amazon.co.jp/o/ASIN/4774198765)
・[レガシーコードからの脱却](https://www.oreilly.co.jp/books/9784873118864)
・[ソフトウェア・ファースト](https://www.amazon.co.jp/dp/B07YNJSCG8)
・[Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち](https://www.amazon.co.jp/dp/B08GSQ4BL3)

### 3.2.2 ミドルマネジメント、トップマネジメント

私はこの領域を選択せず、スペシャリストへのキャリアパスを選択したので省略します。

~~この辺のみなさんは高い給料をもらってるんだから、自分でなんとかしてください。~~


## 3.3. スペシャリストの勉強法

スペシャリストはもちろんテクニカルスキルは最重要ですが、上位になってくるとテクニカル以外の部分も重要になってきます。そういう意味ではここでもカッツ・モデルは参考になると思われます。

また、スペシャリストは英語力も非常に重要になってくると思います。公式ドキュメントやGithubのIssuesやPull requestsは全て英語で書かれているので、それらを理解する英語力はとても重要になります。

技術的に未知の領域に踏み込んで行かなければならない事もあるので、読書やセミナーなどの勉強は必須になります。

# 4.まとめ
・範囲目標を作って勉強を習慣化しよう
・インプットとアウトプットの黄金比、７・２・１の法則を意識して勉強しよう
・コミュニティで仲間を見つけて一緒に成長しよう
・自分のフェーズで学び方を変えよう


# 5. 参考文献
この記事を書くにあたって引用したり参考にしたりした書籍、サイト、スライドなど
[自身の役割/フェーズによって、 効果的な学習法は変わるという話](https://speakerdeck.com/rfdnxbro/huezuniyotute-xiao-guo-de-naxue-xi-fa-habian-warutoiuhua)
[私がのこすだろうたった1つの言葉](https://www.slideshare.net/papanda/1-240061231)
[Atomic Scrum 個人の生産性を最大化する方法](https://speakerdeck.com/raykataoka/atomic-scrum-ge-ren-falsesheng-chan-xing-wozui-da-hua-surufang-fa)
[モチベーション３．０　持続する「やる気！」をいかに引き出すか](https://www.amazon.co.jp/dp/B018HVOXBA)
[ムダにならない勉強法](https://www.amazon.co.jp/dp/B01MU7WXQZ)