今回もエンジニア向けのスキルアップ方法について書いていきます。
プログラミングの習得は、エンジニアにとって大きな課題ですね。
しかし、一口にプログラミングといっても様々な言語があります。
どの言語でも対応できるスキルアップ法があれば、習得の効率もよくなるでしょう。
そこであらゆるプログラミング言語に対応できるスキルアップ法として、
インプット-アウトプット法を紹介します。
では早速、どのように行うのか説明しますが、今回の記事は以下の方向けになっています。
- これからエンジニアを目指す方
- すでにエンジニアで新しい技術を身につけたい方
- 主体的な勉強方法を取り入れたい方、部下などに紹介したい方
方法の全体像
今回のインプット-アウトプット法の全体像です。
- 見本となるソースコードを見つける
- 見本から「仕様」と「技能」を読み取ってノートなどにまとめる
- 「仕様」と「技能」を見ながら、見本のソースコードが再現できるようにコーディングしていく
- 自分が書いたソースと、見本を比べて相違点を点検する
以下、それぞれについて各章で説明していきます。
【最初】見本を見つける
技術の習得には、まずお手本が重要になると思います。
お手本を使う理由は、
- 自分のやり方に固執せずに、良いやり方が見つかる
- 参考のソースのコピーのみだと技能が身に付きにくい
です
例えば、上司の作成したプログラムや本などで、見本となるソースを探していきます。
参考になるソースが無いか職場で質問してみるのも良いでしょう。
【インプット】見本からコーディングに必要な情報を読み取る
まずこのフェーズでは、見本からコーディングに必要な情報を読み取ります。
コーディングに必要な情報とは、「仕様」と「技能」です。
“仕様”を読み取る
※詳細版
https://itskill-coating.mindhack-lab.com/skill-up/methods/training-load/pg-input-output/
「仕様」とはソフトウェアにおける要求事項です。
よく「〜できること」で言い表されるもので、ソフトウェアの製造前に決められます。
次のアウトプットフェーズで、読み取った仕様からプログラムを起こすため、ここでできるだけ正確に漏れなく仕様を把握します。
仕様では主に「挙動」と「機能」を理解し、それをノートやスプレッドシートなどにまとめておきます。
仕様を書くことで、仕様書(主に詳細設計書)を書く練習にもなるので、おすすめです。
なお、詳細版には以下のことを詳しく説明しているので、興味のある方はご覧ください
- スキルアップにおける仕様を書くメリット3つ
- 具体的な仕様の書き方(ソフトウェア設計・モジュール設計の紹介)
“技能”を読み取る
そして「技能」についても読み取っていきます。
技能とは主に、プログラムの品質を高めるために使われている工夫です。
品質とは主に、ソフトウェアの保守性や信頼性などを指します。*2)
品質を高めるためにプログラムにされている工夫をピックアップし、ノートなどにメモ書き程度でまとめていきます。
よく、見て技術を盗むと良いと言われますが、まさにこの事なのかなと思います。
【アウトプット】コーディング練習する
先ほど理解した、「仕様」と「技能」をもとに、実際にコーディングしていきます。
コーディングの進め方
デバイスは、IDE *3) があれば良いですが、準備も大変な場合はエディタやスプレッドシートなどでも良いかと思います。
元の見本ソースは見ずに、自力でコーディングをしていくのが目的です。
上記のフェーズでメモした、プログラムの「仕様」と「技能」を手掛かりに、お手本のソースを再現するようにコーディングしていきます
スキルを定着させるポイント
この方法では、見本のソースを見ずに自分で考えながらコーディングしていく点がスキルアップのポイントです。
仕様書からプログラミングを自力で起こすので、考えながらコーディングする実践的訓練になります。
もしこれが、お手本のプログラムを読むだけや書くだけだと、勉強にはなりにくいです。
一度技法や仕様を文章にした状態から、「自分で思い出す」「考えて答えを出す」プロセスが、技能習得に必要だからです。
そこには以下のような心理学的な理由があります。
- 人間の記憶システムは、「思い出す(想起)」ことで記憶が強化される
- 「自分で考えて答えを出す」ことで対象が重要だと認識して、より強固な記憶を作ろうとする
コーディング内容をチェックする
チェックの進め方
最後に出来上がったソースと、元の見本ソースとを比べて、コーディングした内容が正しいか答え合わせをしていきます。
- コーディングを間違えている所を確認する
- 間違えている箇所の原因を考える
…「仕様」がしっかり反映されていないためか、「技能」不足によりコーディングされていないためかなど - 対策を立てる
相違箇所をスキルギャップとして管理する
答え合わせをして間違えた箇所は、スキルのギャップとして認識していきます。
間違えた箇所が複数ある場合は、それらをスプレッドシートに一覧化して、スキルの習得状況を管理するのも良いでしょう。
そこからスキルギャップを埋めるていくことで、スキルアップを実感できるようになります。
インプット-アウトプット法は確実なスキルアップ方法
このようにして、インプット-アウトプット法でスキルアップをしていきいます。
時間のかかる方法ではありますが、堅実な方法としておすすめです。
もし時間のない方は、インプット部分だけでも効果もあると思いますので、ぜひ参考にしてみてください。
コメント