みなさんは、何か仕事上の問題が起こった際、どのように対処すれば良いのか分からずに困ったり、対処が遅れてしまったりした経験はありますか?

このような状況に陥った場合、誰かに助けを求めることも大切ではありますが、いつもその調子だと社内で自分の評価を上げることはなかなか難しいでしょう。対処法が見つからず悩んでいる時間ももったいないものです。

そこで今回は、問題解決や課題処理に役立つ「プログラミング的思考」という考え方についてお伝えします。

「プログラミング的思考」とは

最近、2020年から小学校で必修科目とされる「プログラミング教育」というものが注目を集めています。「プログラミング的思考」と聞くと、プログラミング言語を用いた記述方法であるコーディングについて学ぶことを思い浮かべる方もいらっしゃるかもしれませんね。しかしそうではありません。文部科学省によれば、プログラミング教育は次のように述べられています。

「プログラミング教育とは、子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての『プログラミング的思考』などを育むことであり、コーディングを覚えることが目的ではない。」

(引用元:文部科学省|小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)

つまり、プログラミング的思考というのは、コーディングを身に付けるためのものというより、自分が意図している一連の活動を実現するための手順を論理的に考える力のことを指しているのです。

erina-840-ec
就活に向けてTOEIC840点獲得! 単語暗記が大嫌いでも3ヶ月で240点アップしたワケ。
人気記事

プログラミング的思考で仕事の効率が上がる

普段の業務がもたついてしまう原因の1つに、作業全体の流れを完全に把握できていないということが挙げられるのではないでしょうか。そのような場合に「プログラミング的思考」を用いると、きっと業務の効率が上がるはずです。

エンジニアであり技術コンサルタントの松林弘治氏は、プログラミング的思考のメリットとして、仕事を抽象化して全体の流れを捉え、自分の抱えている仕事が効率的に終わるよう優先順位がつけられるようになることだと伝えています。

例えば、ある商品開発のプロジェクトに参加しているとしましょう。
売れる商品を開発しようと適当に試作品をたくさん作ってみるのではなく、「商品のアイデアを出す」、「コンセプトを決める」、「試作品を作る」などといった必要な作業を分解することで、まずは顧客ニーズや競合他社の商品について情報収集をすることから始めるという最適な選択を行うことができます。そして、必要のない試作品を作るという無駄な作業を減らすことができるのです。

adobestock_150872940

プログラミング的思考を仕事に生かすコツ

では、私たちはどうすれば「プログラミング的思考」を仕事に生かすことができるのでしょうか。プログラミング的思考のいくつかの特徴に触れつつ、具体的にご紹介します。

1.異なる視点
ソフトウェアエンジニアである上杉周作氏によれば、「見方を変える」という発想が、プログラミング的思考の第一歩であるのだそう。

物事を1つの方向からしか見ていないのと、さまざまな方向から見ているのとでは、状況を把握できる範囲が全然違います。もし問題のある状況において情報の抜け漏れがあると、時に仕事で致命的なミスを引き起こしてしまうかもしれません。しかし、複数の異なる見方をすることができれば、解決策を見出せる可能性がより高くなるのです。

例えば、売れ行きが落ちてきている商品があるとします。その原因として「性能が悪い」ということが挙げられたものの、性能を改善したところで売れ行きはあまり上がりませんでした。このような状況の時、「消費者が求める性能にまだ追いついていない」と考えるかもしれません。しかし、見方を変えると「認知度が低く、宣伝の方法が良くない」など別の理由も考えられるはずですよね。そうすると、解決策として「人気の俳優をCMに起用する」といった方法が浮かび上がってくることもあり得るのです。

2.論理的な説明
会議や取引先との商談などで説明をしなければならない場合、相手が自分の言ったことを理解できるかどうかは、話す内容をどれほど論理的に説明できるかということに左右されます。

例えば、結論は先に伝える、また根拠に裏付けがあるなど、話す内容を事前に整理しておくと、筋の通った分かりやすい説明をすることが可能でしょう。プログラミング的思考を持っているのであれば、たとえ価値観が一致しないビジネスパーソン同士であっても、きっと建設的な会話ができるはずです。

3.物事の抽象化
具体的に考えることもビジネスにおいてもちろん重要ではあるのですが、物事の本質を捉えようとする時には、抽象的に考えることが必要です。

例えば、分かりにくい書類について作成しなおす作業を部下に指示する場合、伝える言葉の抽象度を変えることでより説得力のある指示になります。
1:「これでは文字が小さくて見づらいから、書類を修正して欲しい」
2:「文字の大きさを修正して欲しい、分かりやすい情報に対して人間はポジティブな感情を持ちやすいからね」

1の理由であれば書類作成の場合にしか使えません。しかし、より抽象度を高めた2の理由は、書類作成以外の他の業務にも当てはまります。会議で行うプレゼンテーションの準備や取引先と商談をする際の振る舞いなどを考える時など、部下は「わかりやすい情報に対して人間はポジティブな感情を持つ」という上司の言葉を思い出して当てはめることができるでしょう。

***
プログラミング的思考を身に付けると、抱えている問題をシンプルに捉えることができるようになります。日々の仕事において、プログラミング的思考を少しずつ取り入れてみてはいかがでしょうか。

(参考)
教育支援ネットワーク T-KNIT|論理的思考とプログラミング的思考を学校の先生に向けてどこよりも分かりやすく解説
文部科学省|小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)
東洋経済ONLINE|Vol.1 プログラミングは「親子で」がおススメのワケ
AERA dot.|プログラミング思考って何?が分かる練習問題
PRINCIPLES BUSINESS SCHOOL|なぜマネージャーには抽象的な思考力が求められるか