見出し画像

プログラミング思考でパフォーマンスを高める5ステップ ~後編~

本日も昨日に引き続き、『プログラミング思考の5ステップ』で競技力を高めるための工夫についてお送りします!!

昨日は、実際の行動に移る前の準備段階のところまでお送りしました。
まずは今までの言語やルールと異なる「新たな世界」へ【内発的要因】をもとにした動機付けを行い、その上で、先人の作り上げたプログラム(成果物)を【リバースエンジニアリング】で分解し、一つずつ理解を深め、ゴールイメージを持つこと、ということでStep1~2を見ていきました。

本日は実際に行動に移し、どのように自身の手で成果を生み出していくか、という観点でStep3~5をお送りしていきます。

【Step1】言葉とルールを理解する
【Step2】先駆者の軌跡をなぞる(リバースエンジニアリング)
【Step3】スモールステップから始める
【Step4】『楽をしたい』テーマを見つける
【Step5】『美しく』デザインし『泥臭く』進める


【Step3】スモールステップから始める
Step2を通じて、何となくのゴールイメージを持てるようになったら、ここからは実践です。とはいえ、いきなり大掛かりなプログラムを作成するのはおススメしません。
理由は、この時点ではまだ「自分が何を本当に理解して、何を理解できていないのか」を把握できていないためです。言い換えると「『わかっていること』と『できること』の違いが曖昧である」ということです。
この状態では、非常に大きな理想を描くことはできるかもしれませんが、それに対して自分のできることが実はそれほどまだ大きくなっておらず、いざ始めてみた時に『理想と現実のギャップ』を強く感じてしまい、途中で心が折れてしまう・諦めてしまう可能性が高まります。
この「理想と現実のギャップ」を少しでも埋めていくために、まずは『スモールステップ』を踏むことを意識してください。すなわち、「できそうなことからやっていく」ということです。プログラミングの世界で有名なのは【Hello World】ですね。だいたいどのプログラミングの教科書でも "Hello World" という文章を画面に表示するコードを書くところから全てが始まります。
このように「パーツに分解」して「難易度の低いものから」取り組んでいくことで、自分自身の『達成可能感・自己肯定感(self efficacy)』を高めていきます。これにより、自分が少しずつ成長していっていることを実感できることが、新しいものごとを始める時には非常に重要です。

【Step4】『楽をしたい』テーマを見つける
少しずつ自分のできることが広がっていったら、次は自分が解決したい「テーマ(課題)」を見つけていきましょう。この時、検討の助けになるのは『何か不便や非効率を感じるものはないか?』という問いです。
一見すると「サボりたい」がためにやるような、悪いことをしているように見えるかもしれません。ただ、社会の発展や新たな技術の創出は、こうした「不便なこと・困っていることを解消したい」という想いから生まれてくることが多いのです。このような「健全な問題意識」を持つことは、自分だけでなく、他者や組織、果ては社会の課題を解決していくことに繋がっていきます。
仕事であれば、自分のやっている業務の中で非効率だと感じているもの、部活・競技であれば、普段意識・苦労してやっていることなどをリストアップし、その中で「これが楽になれば、劇的に成果を出しやすくなりそう!」と思うものを1つ、テーマとして設定してみましょう。

【Step5】『美しく』デザインし『泥臭く』進める
最後のステップが、ようやく本当にプログラムを書いていく段階です。私は「プログラミング思考」において大事なことは、プログラムをいかに書くか、ということではないと思っています。
「なぜ」プログラムを書くのか? 「どんな」プログラムを書きたいのか? それに対して自分の現状はどうなっているのか? 自分の実力を一歩ずつ高めていくためのステップは? 解決したい「テーマ(課題)」は何か?
こうした問いを自らに立て、自ら描いたビジョンに対して、自らを高め、実際に行動し、課題を解決していく。このプロセスこそがプログラミングの本質だと考えています。
プログラミングを実際に行うというのは、自らの立てた仮説を検証していることに非常に近いです。自らの仮説としてコードを書き、それを実行し、途中でエラーが出たらその原因を探って改善していく。この繰り返しです。
つまり、『美しく理想的な』ビジョンとして、完成したプログラムとそれによって解決される課題や人々・社会の姿を思い描き、それを実現するために『泥臭く地道な』努力を行って自らのチカラを高め、トライアンドエラーで一歩ずつ前に進んでいくことがこの最後のステップで行うべきことです。
普段は、Step1~4を良く考えずに、何となくStep5だけを繰り返している人もいるでしょう。ただ、一度立ち止まって、Step5より前のステップから始めて、自らの日々の行動を見つめ直してみることを、たまにはやってみても良いのではないでしょうか。


昨日・本日とお送りした「プログラミング思考」は、何もシステム開発だけに限ったことではありません。ありとあらゆる事象に適用することができます。皆さまもぜひ、ご自身の課題解決に「プログラミング思考」を取り入れてみてください!

いいなと思ったら応援しよう!