プログラミングと課題解決を結びつけよ

課題解決を意識することの重要性

自分がプログラミングで何を解決するかを意識する事はとても重要です。

自分が何を解決したいかを意識できると、何を学ぶべきかが分かります。また、仮にフリーランスとして自分のスキルを売り込むときに、自分のスキルの説明や提供できる価値を適切に説明できます。解決できる課題を明確にすることで他のエンジニアとの差別化もできるでしょう。

しかし、あまり自分が学んだスキルがどう課題を解決に結びつくかを意識できている人は少ないようで、多くの人が「次に何の言語を学ぶべきか」といったような疑問持っています。自分がどういう課題を解決したかを明らかにできると「何を学ぶべきか」は必然的に導き出されますし、他の人と違う独自性のあるスキルを学ぶ事にも抵抗がなくなります。

何故多くの人が解決する課題を明確にできないのでしょうか。私はそれは義務教育に原因があると考えています。

義務教育が引き起こす問題

日本の義務教育では、手段ありきの教育が施されます。「数学・国語・英語・社会・理科」。将来科学者になろうと、漫画家になろうと、中国に住もうと、この5科目は必須です。自分の特性も、自分の目的とも無関係に、この5つのスキルに関しての知識の有無のみが評価軸となる。

いくらこれがおかしいとわかっていても大抵の人は義務教育9年間でこの価値観と行動パターンを無意識に染み込ませることになります。

プログラミングにおいてもその行動習性は現れます。

多くの人はプログラミング言語のメソッドを覚える事は無条件に必要な事と考え、その知識の幅を広げる事に大半の時間を捧げ、そして次にどの知識を手に入れたら偏差値(市場価値)が上がるか。そのような思考回路で物事を判断します。

自分が情熱を持てる課題は何で、自分が得意な事は何かを考え、自分のスキルと課題を文脈でつなぐ事はスキルと共に重要な事であるにもかかわらず、多くの人はそのような事を考える事に時間を使わない。

それは何故かというと、課題設定について考える教育をうけていないため、またスキルを身につけることが評価に直結するという教育を無意識に植え付けられているためです。

スキル習得に何年も掛ける人はたくさんいるのに、課題設定に1週間という単位でもまとまって使う人間は稀なのです。

課題設定の重要性を再認識しよう

私達の行動パターンは想像以上に教育によって無意識からコントロールされています。

そのため、スキルのみかき集めて方向性が定まらないのです。

なので、自分のプログラミングスキルは何を解決するのか、解決したい課題のためにどのようなスキルが必要なのか、という事を考えるのに、スキルを学ぶのと同様にじっくりと時間かけて考えて整理する習慣を身につけるとよいです。決して数時間で済むような簡単な話ではないです。

 

課題意識が明確になれば学ぶべき対象も明確になり、モチベーションも自然と湧き出てくるはずでしょう。

そうやって作られた実力は他の人との大きな差別化になるはずじゃないでしょうか。