これからを生き抜くために必須の能力。それが「プログラミング思考」。論理的思考、問題解決能力などと言い換えてもいい。カリスマプログラマーは、「仕事や日常生活にも役立つ」と言うけど本当? みんなのコード・代表理事の利根川裕太さんに、具体的に質問してみました。
【Q】部下に頼んだ仕事が、意図したようにあがってきません
【A】解釈にズレがないように条件ごとに指示
プログラマーの間で知られる有名なジョークがあります。
「牛乳を一つ、買ってきてちょうだい。卵があったら、六つお願い」
こう頼まれたら、プログラマーは牛乳だけを6パック買ってきてしまう、というものです。
この「お願い」をプログラム的に記述すると、下記のようになります。
if(eggs) then {
&buy(6 milks)
} else {
&buy(1 milk)
}
これは条件分岐と言い、「卵があった場合」と「卵がなかった場合」でパターン分けをして、行動(=いくつ牛乳を買うか)を指示したもの。「卵がなければ牛乳は1パックでいいけれど、卵があったら牛乳は6パック買う」という意味ですが、本当は「牛乳1パック、卵を6個買ってきて」というおつかいですよね。
●いろんな事態を想定
頭の中のモヤッとした考えを、論理的にまとめて伝えるということを、いちばんシャープにやらないといけないのがプログラミング。そうしなければ、コンピューターは正しく動いてくれません。同じように、人を厳密に動かしたいと思った場合、コンピューター的に考えて指示を出すことが有効かもしれません。
あなたは部下に、解釈にズレが生じないように仕事の内容を伝えているでしょうか。
私自身、常にできているかは自信がありませんが、ズレると困るところはきちんと押さえているつもりです。意図したことを他人に正しく伝える力はプログラミングによって培われると思います。部下から見ても、的確な指示を出してくれる上司のほうが働きやすいですよね。