こちらの記事、他の人がシェアされていたのを読んだところ、とても面白く良い回答だと思いましたので紹介します。
なにもプログラミングに限らない話だと思いました。
実際にプログラマのわたし自身はどうかというと、粘って考え続けることに関しては耐性はある方だとは思いますが、じゃあ何をどう考えればいいのかということは、ここ最近ようやく掴みかけてきたように感じます(遅い)
それは「教育のためのTOC」で「物事の考え方」の手法と姿勢を学んだことが大きかったと感じています。
ところで、この記事に挙がっているプログラマの資質はどれも大事ですが、地味すぎ・当たり前すぎて、ともすると疎かにしがちなのが「小さなパーツに分ける」だと思いました。
これもプログラミングに限りませんが、例えば「自分は何もできてない、仕事が進まない」と落ち込むことが多いときは、今日1日の中で実際に何をやろうと思っているのかを、頭の中から取り出して具体的に細かく書き出してみることが効果的です。
残念ながら一見地味すぎてやろうとすらしない行動の部類です。
しかし実際にやってみると、意外とやること(やれること)があることが認識できます。
ですので、それをひとつずつ愚直につぶしていくのです。
これは「今日1日何をやればいいんだっけ?」と迷子になりがち・不安になりがちな自分へのコンパスになります。
そして、1日が終わった時には、書き出したことのどれもやれてないってことはないはずなんですよね。
実はこのことは、振り返ってみると、仕事で病みかけているときにいつも先輩が言ってくれるアドバイスそのものです。
大事なのは「コーディングする」「検証する」のように漠然と書くのではなく、具体的に、すぐ取り掛かれる内容にまで細かくして書くってことだと。そして、簡単にできることからやっていけばいいのだと。
分けるは、分かる、ですね。
参考までに、わたしの好きな本です。目標と行動の関係はこの本を読むと頷けます。
象(感情)が怖がらない大きさにまで行動計画を小さく砕きましょう。
そして象使い(理性)には迷わなくて済む素敵な地図(目的地)を。