
前回に引き続き、『SOFT SKILLS ソフトウェア開発者の人生マニュアル』の後編をご紹介します!
- 駆け出しエンジニア
- エンジニアとして生き抜くためのマインドが知りたい
- エンジニアのための効率的な学習方法がわかる
こんな悩みにお答えします。
- エンジニアのための効率的な学習方法がわかる
- 生産性を格段にアップしてくれるツールの紹介
- 目標達成に効果的な方法がわかる
僕がここは特に読んでほしい!と思った内容を紹介しています💡
後編部分はこちらを掘り下げていきます。
第3部 学ぶことを学ぼう
第4部 生産性を高めよう
前編では本書の概要や著者の紹介、どんなエンジニアになるべきか?などについて書かれています。
まだ読んでないよ!という方はこちらから覗いてみてください〜
では後編スタートです〜。
目次
特に読んでほしい!【第3部 学ぶことを学ぼう】
スキルを身につけるために必要な3要素
ジョン氏は駆け出しエンジニアの頃、スキルを身につけたい分野の本を買って、最初から最後まで全部読んでから学んだことを実践していったそうです。
ただこのやり方だと学習スピードがかなり遅く、全部読んだとはいえすべて記憶できるわけではないので、何度も読み返して学習していました。
もちろん時間がたっぷりあって余裕があるのであれば、そのやり方でも問題ないのかもしれません。
ただ、これだけ技術進歩の激しい時代ではキャッチアップするにはなかなか難しいのではないでしょうか。
そこでジョン氏はスキル会得に必要な3要素を掲げてくれています。
- どうすれば始められるか
- テーマの幅
- 基礎
どうすれば始められるか
効率的な学習にするために、まずは下準備をしよう!ということです。
その学びたい技術を学び始めるために、最低限必要な知識は何かを調べて明確にしておくことが大切です。
テーマの幅
学習範囲を絞るということです。
例えば、「よし!JavaScriptを学ぶぞ!」と勢いよく学習し始めても、
メソッドの使い方や非同期処理、ES6の記述方法など、学ぶ範囲を絞らずにやってしまうとほぼ挫折する可能性が高いです。
学ぼうとしていることはどれくらいの規模なのか。
学習する分野の範囲をしっかりおさえておきましょう。
基礎
その技術を扱えるようになるために、必ず知っておくべき基本的な知識はなにかということです。
例えば、今僕はReactと呼ばれるフロントエンド技術について学んでいます。
React独特の記法を学ぶ必要がありますが、もともとはJavaScript言語を基に動作しているので、JavaScriptの知識が必要不可欠になります。
正しく効率的にスキルを会得するために、必要な基礎知識についても学んでおくことが大切です。
10ステップシステム
上記の3要素を踏まえた上で、ジョン氏は「10ステップシステム」を紹介してくれています。
10ステップシステムとは、 「学習内容を重要な部分だけに削減し、(中略)
確実な学習と、教えることの学習増強効果を利用して、その内容を頭にしっかりと定着させて速習するという実践的な方法である。」
- ステップ1 全体像を掴む
- ステップ2 スコープを決める
- ステップ3 成功の基準を決める
- ステップ4 参考資料を見つける
- ステップ5 学習プランを作る
- ステップ6 リソースをフィルターにかける
- ステップ7 使い始められるようにする方法を学ぶ
- ステップ8 遊び回る
- ステップ9 役に立つことができるところまで学ぶ
- ステップ10 教える
ステップ名からおおよその見当はつくと思いますが、この手順でやると楽しくモチベーションを維持して学習できます。
他業種の方でも効果的な学習方法だと思いますが、駆け出しエンジニアや新しい技術をキャッチアップする頻度の高い方に特に効果を発揮してくれるやり方です。
ジョン氏は、
「あなたのために機能する独学の方法は、最終的にあなた自身が見つけださなければならない。あなたの未来は、自分自身にかかっている。」
と言っています。
人それぞれ自分に合ったやり方が必ずあるはずだから、10ステップシステムをもとに自分だけの学習システムを確立させてくれ!ってことですが、初めはこのシステムに沿って学習することをオススメします。
その上で自分なりに、「ここは必要ないな」「ここは変えてみよう」というのが出てくると思うので、状況に合わせてカスタマイズしてみてください。
この10ステップシステムの詳細についてはぜひ本書を実際に読んで実践してくださいね!
各ステップについて詳しく説明されていているので、気になる方はこの章を読むだけでも十分読む価値はありますよ〜!
本当オススメです!!
学びたいなら教えよう
10ステップシステムの「ステップ10 教える」ですでに紹介されていますが、本書ではさらに掘り下げて解説されています。
それほどジョン氏は「教える」ことが学ぶために重要だと捉えています。
本書以外でも「教えることが学ぶ上で効果が高い」と聞いたことがあります。
その理由は、「他人に説明できるほど、深く理解できていない事実に直面できる」からです。
しっかり理解したと思っても、いざ他人に説明しようとすると、なかなか上手く説明できないというのはほとんどの人が経験されているんじゃないですかね。
誰かに教えようとすることで、頭の中で情報が強制的に整理され、意味が伝わるように再構築せざるを得なくなります。つまり、他人に教える前に自分自身に改めて教え直さなければなくなるということです。
教えることが学ぶ方法の中で効果が高いと言われる理由はその部分が大きいんじゃないかと思います。
常に誰かに教えるつもりで学んでいきましょう!
特に読んでほしい!【第4部 生産性を高めよう】
ポモドーロテクニック
ポモドーロテクニック とは、「25分集中して、5分休憩する」時間管理術のことです。
「ポモドーロ」はイタリア語で「トマト」という意味で、1990年代にフランチェスコ・シリロという人がトマト型のキッチンタイマーを使ってトラッキングしたことが始まりだと言われています。
ポモドーロテクニック のメリットは主に3つあります。
- 集中と休憩のサイクルで高い集中力を発揮できる
- ポモドーロの数で作業量を見積もることができる
- どの時間を費やしているかがわかり、生産性を高めようとするモチベーションが生まれる
ポモドーロテクニック の真髄は、1日にできた集中した仕事の量だ。
とジョン氏は言っています。
この日は○ポモドーロでやり遂げる!という目標を立てて、目標分の仕事をしたらその日すべき仕事をきちんとやり遂げたということなので、スッキリした気分で家に帰ることができるんじゃないですかね。
「集中して仕事をすること」と「集中できない状態で仕事をする」のとでは、雲泥の差があります。
ポモドーロテクニック をぜひ活用して、毎日清々しい気分で家に帰りましょう!
クォータを設定する
クォータとは、「ノルマ」のことです。
何かを達成するには締め切りが必要です。 夏休み終了まであと1週間なのに、たくさんの宿題が残っているけど、なんとかやり遂げられるのは締め切り(クォータ)があるからですよね。
ジョン氏はこの締め切り効果である、クォータシステムを使って成果を上げようぜ!と言っています。
- 反復可能なタスクを選ぶ
- タスクを実行しなければならない期間を決める
- その期間にタスクを何回実行しなければならないかを決める
- クォータを必ず達成するように厳格にコミットする
- クォータが高すぎたり低すぎたりする場合、期間中には調整しない
ポイントは、毎日または毎週、毎月確実に達成できる仕組みにすることです。
僕たちはそれぞれ素晴らしい能力を持っているはずです。ですが、その能力に気づいていないし、伸ばす習慣化ができていないために目標を達成できていないだけなんです。
毎日確実に小さなレンガを1つ積んでいけば、必ず壁が出来上がります。
最初から大きな目標ばかり見てしまうと、絶対達成できない!とモチベーションが下がってしまいますが、毎日小さなレンガ1個を積むことだけを考えて行動するのは簡単なはずです。
自分が必ず達成できる小さな勝利を積み重ねていきましょう!
最後に
いかがだったでしょうか。
前編と後編に分けてご紹介しましたが、エンジニアのキャリアを考える上で非常に役に立つ情報ばかりだと感じてもらえたら嬉しいです。
一部しか紹介できていないので、もっと知りたいと思っていただけた方はぜひ本書を手にとって今後のエンジニアとしてのあり方を考えてみてください!

以上、
【エンジニア必読】エンジニアのための人生マニュアル『SOFT SKILLS』〜後編〜
をお送りしましたー!
どうもーむね(@mune_actor_en)です!