料理をするとプログラミングも上達する話
みなさん料理はしますか?
料理と言っても簡単な物から手の込んだものまで様々です。
今回は料理をするとプログラミングも上達する話をしたいと思います。
料理でプログラミングが上達する理由
段取り力の向上
料理をするためには適切な材料をそろえて、適切な時間と手順で調理を進めていく必要があります。
プログラミングも同じで、実際にコードを書く前に必要なモジュールや環境、設計などを考えて、適切な工数と順序で作業を進めていくと思います。
料理になれてくると段取り力が上がり最初の段階で頭の中に段取りが思い浮かぶようになります。
段取り力が向上すると、プログラミングでも物事を分解して整理し手順を組み立てることが容易になってきますので作業がスムーズにできるようになってきます。
マルチタスク能力の向上
料理をうまくするためにはある程度のマルチタスク能力が必要です。
マルチタスクとは同時に複数の作業を行うことですが、料理では野菜を炒めながら裏で肉を切ったりするなど、マルチタスクの有無で調理時間がかなり変わってきます。
プログラミング作業も同様にマルチタスク能力があれば、作業効率がよくなる事があります。
何か仕様を問い合わせつつ別な部分の実装をすすめつつ他の人の作業を見つつ、誰かに話しかけられれば対応するなどマルチタスク能力が活躍します。
マルチタスク能力が無いお偉いさんを見たことがあります。
先にお願いされたタスク(A)があって、次に別のタスク(B)を受けたらタスク(A)を忘れてしまうポンコツなお偉いさんでした。
そうならないためにもマルチタスク能力は鍛えておくに越したことはありません。
チャレンジ精神の向上
色々な料理にチャレンジして経験を積むことにより、より手の込んだ美味しい料理が作れるようになってきます。
チャレンジして小さな失敗や成功を繰り返して、少しづつ成長して達成感を得られます。
このことを料理を通して実感していれば、プログラミングも同じようにチャレンジしていく事ができます。
プログラミングでチャレンジして小さな失敗をしても、その先に達成感があることが分かっているので乗り越えられるようになります。
料理を通してチャレンジが大事ということを学ぶことができれば、プログラミングも上達していけます。
まとめ
料理をするとプログラミングが上達するという「こじつけ」のような事を書きましたが、大抵の仕事に当てはまると思います。
料理はタスク処理の総合格闘技みたいなもの(おおげさ?)です。
お昼休みにランチを食べに行った時、手際の良さの違いによって待たされる時間が違うことを実感すると思います。
タスク処理の手際が良いと作業の無駄が少なくなりかかる時間に大きな差が出てきます。
料理を通してタスク処理の基礎を学んでプログラミングに活かしましょう。