プログラミングの基礎知識

プログラミング学習は目標設計で勝負が決まる!プログラミング学習の目標設計の方法を解説!

プログラミング学習において、目標設計が最も重要だと言っても過言ではありません。なぜ目標設計が重要なのか、目標設計の方法はどうすればいいかなどを現役技術責任者の視点から解説していきます!

なぜプログラミング学習に目標設計が重要なのか

まずはじめに目標設計の重要性について解説します。

目標設計とはゴールを決めることです。ゴールを決めるためには、動機が重要になります。プログラミングをこれから始める上で、以下の動機で始めた方が多くいると思います。

プログラミング学習のよくある動機

・プログラミングを身につければ楽に稼げるようになる

・プログラミングができれば時間も場所も選ばずに働くことができる

これらは全て勘違いです!技術責任者として現場で開発に携わってきた経験、そして延べ100名を越える方のプログラミング学習支援を行ってきた経験から、これらは間違っていると断言できます。

どこが勘違いなのか、なぜ間違っているのかについては、どこかで解説をしていきたいと思いますが、まずはこの勘違いを捨てるところがスタートラインに立つことだと思います!

プログラミングだけでは稼ぐことも、自由なライフスタイルも手に入らない

ここで重要なのは、「プログラミングだけでは稼ぐことも、自由なライフスタイルも手に入らない」の「だけ」という部分です。

それでは、他に何が必要なのか。

他に何が必要なのかを知るために、ゴール(目標)設定が必要になります。

目標から逆算することで必要なものが見えてくる

プログラミング以外に何をすればいいのか?その答えは目標設計から逆算することでしか見つけることはできません。

例えば、目標が「年収を100万円上げる」だった場合に、プログラミングを学習すれば年収が上がるのでしょうか?もちろん答えはNOです。

年収を上げるためには、転職や就職、もしくは自分自身でお金を生み出す必要があります。この方にとっては、プログラミング学習と並列して、転職先の策定やビジネスの策定も視野に入れる必要があります。

また他の例で言えば、「時間も場所も選ばないライフスタイルを手に入れる」という目標だった場合に、具体的にいくらのお金やその他の状況が揃えば、それが達成できるのかを設定しておく必要があります。

どちらの例もプログラミングスキルと同等か、それ以上に考えておかなければならないことがあるということが理解頂けると思います。

そもそもプログラミングは手段でしかない

そもそもプログラミングは「人間が行う作業を自動化する」ために生まれました。

そのため、自動化すべき作業が無ければそもそもプログラミングの必要性はありません。

ここ数年間、AIや機械学習などが話題になっていますが、そのような最新技術やテクノロジーですら、人間が明確な目的や目標を設定しなければ全く使いものになりません。

例えば、Webサービスを作ることも、IOS・Androidアプリを作ることも、全ては手段です。

何かの目的がなければWebサービスもアプリもそれだけでは全く意味がありません。

もちろん教養としてプログラミングを学ぶことは否定をしませんし、テクノロジーを学ばないよりは学んだ方がどこかで価値を生む可能性はあると思います。

ただし、多くの方にとって、自分の大切な時間を使って教養レベルの知識を付けることは望んでいないと思います。

手段でしかないプログラミングという技術をどのように活かすかという観点が無いと、手段が目的となり、結果として得たいものは何も手に入らない結末に終わってしまいます。

手段でしかないプログラミングをただ学んでも、教養が身につくだけで終わってしまう

プログラミング学習の目標設計の方法

ここまででプログラミング学習における目標設計の重要性と必要性については理解頂けたと思います。

それではどうやって目標を設計していけばいいか、その方法を解説していきます!

目標設計に必要なもの2つの要素

目標設計には2つの要素が必要になります。それは、

  1. KGI:Key Goal Indicator(キー ゴール インジケーター)
  2. KPI:Key Performance Indicator (キー パフォーマンス インジケーター)

の2つです

プログラミング学習におけるKGIとは?

KGIとは「経営目標達成指標」と訳されます。企業の経営戦略やビジネス戦略を達成するために何をもって成果(ゴール)とみなすのかとする指標です。

KGIは定量的で計測可能な数値で設定する必要があります。

年収を例にしてみると、、、

年収を上げる

年収を100万円上げる

というように、100万円という具体的な数字を入れることによって、計測が可能になります。

計測ができない目標を掲げてしまうことは、必ずしも悪いこととは言えませんが、KGIを設定するという意味では計測できない目標はNGです。

ここではまずは、計測が可能な数値目標をKGIとして設定する必要があるということを認識して頂ければOKです!

プログラミング学習におけるKPIとは?

KPIは「重要業績評価指標」と訳される指標です。

簡単に言えば、KGIを達成するために必要な項目という認識でOKです。

このKPIもKGIと同じように計測可能な数字目標で設定することが望ましいです。

KGIを「年収を100万円上げる」と設定した場合を例にしてみると、KPIとしては以下のようなに設定することができます。

  1. 3ヶ月間でWebアプリケーションを開発できるようになる
  2. 半年以内に転職先を見つける
  3. 1年以内に副業として案件を受けられるようにする

最初の段階ではこれぐらいざっくりしたKPIの設定でもOKです!

KGIとKPIの設定方法は?

KGIとKPIについてなんとなく理解をして頂いたかと思います。ここから具体的にどうやってKGIとKPIを設定しけばいいか?その方法を解説していきます。

STEP①:KGIとKPIの関係を理解しよう

KGIとKPIを設定していくために、まずKGIとKPIの関係性について理解していきましょう。KGIとKPIは以下の画像のように、ピラミッド構造になっています。

つまり、KGIを達成するために必要な要素がKPIという関係性です。そのため、まずはKGIを設定する必要があります!

STEP②:KGIを立ててみよう

それでは実際にKGIを立てていきましょう。KGIを設定するコツは、

KGIのコツ

・計測が可能な数値目標を入れる

・いつまでの目標なのかを明確にする

・自分が鼓舞されるわくわくした目標にする

という3つが重要です。

特に重要なのは、「自分が鼓舞されるわくわくした目標になっているか」という点です。なぜ重要かというと、プログラミングの学習ははっきり言って苦難の連続です。

簡単にはスキルは付きませんし、挫折してしまう人も多くいることが現実です。

挫折せずにスキルを身にみつけていくためには、モチベーションの維持が最も重要です。そして、モチベーションを維持する力の源泉は、目標を達成した時に得られる成果を想像し、追い求めていく気持ちです。

KGIの設定は「自分を鼓舞できるものになっているか?」「プログラミングを挫折しそうになった時にあきらめずにもう一歩進める目標になっているか?」ということが唯一の正解です。

自分自身と向き合い、自分が達成したい・得たい成果を見つめ、セルフモチベーションを高めることができるKGIを設定してください!

STEP③:KPIを立ててみよう

自分を鼓舞するわくわくしたKGIを設定できたら、次にKPIを設定していきます。KPIはKGIと違い、現実的かつ現状の即したものを設定をする必要があります。

現実的かつ現状に即したものとは何かというと、2つの要素が重要になります。

  1. KGIを達成するために最も効率的な方法を検討する
  2. 現状のリソース(スキルやお金、人脈等)を客観的に理解した上で検討する

これが現実的かつ現状に即したものを設定する際に必要な要素ですが、この2つを手に入れるためには、それぞれ以下のようなアプローチがあります。

効率的な方法を知るためにはどうすればいいか?

結論からいうと、インターネットの情報をいくらリサーチしても情報はありません。

厳密には、情報が掲載されていても、未経験の状態では情報の真偽を判断することができないので、インターネットでいくらリサーチをかけても納得ができる情報に辿り着くことは無いと考えた方が得策です。

ではどうすればいいか?答えは非常にシンプルです。

既に実践している人間に直接会話をして聞く。

当たり前と思う方もいるかもしれませんが、実はこれを行わずにプログラミング学習の目標をとりあえず始めてしまっている方が多くいます。

インターネットや書籍の情報はあくまで一方的に、全読者を対象に語られているため、本当に自分の目標(KGI)を達成するために必要なアクション(KPI)なのかを判断することは難しいです。

しかし、会話の中であれば、自分の達成したいKGIに向けてパーソナライズされた意見を聞き、そしてわからないことがあれば質問して深掘りすることができます。

会話をすることで得た情報と、一方的に押し付けられた情報では情報の価値に圧倒的に差がありますので、とにかく直接的な会話の中で情報を取っていくことをおすすめします。

直接的な会話ができる人間との出会い方としては以下のような方法があります。

相談できる人間を見つけるコツ

・自分の知人や友人に相談する

・プログラミングスクールの無料体験会で相談をする

現状のリソースを客観視するためにはどうすればいいか?

リソースはお金や人脈、そしてスキルを指します。お金や人脈については、客観視しやすいですが、「スキル」についてはなかなか客観視しづらいです。

特にプログラミングは試験がある訳ではありませんので、定量的な計測を行うことが難しいです。

ではどうすればスキルを客観視できるかというと、以下のような方法があります。

スキルを客観視するコツ

・自分で作りたいサービスを作ってみる

・クラウドワークスやランサーズなどで案件を探して、自分のスキルで受けることができるかをロールプレイングしてみる

この2つの具体的な方法については、どこかで詳しく解説をしますが、とにかくアウトプットを意識して何が自分に足りないのかを分析することでスキルを客観視していきます。

まとめ

最後にプログラミング学習の目標設計についてまとめていきます!

目標設計まとめ

・KGIとKPIを立てよう!

・KGIは自分を鼓舞するわくわくしたものを設定しよう!

・KPIは現実的かつ現状の即したものを設定しよう!

・KPIは相談や会話、そしてアウトプットを意識した自己分析によって見つけよう!

目標設計をどう活かしていくかについては、またどこかで詳しく解説をしていきます!