何が難しいのかを切り出すだけでも難しい
他人が書いたソフトウェアを動かして困ったことが起きると、問題の特定に7割くらいの時間を使う。経験があったり仕様が把握できていたりすれば時間は短くなると思う。簡単なスクリプトならまだしも、20本のスレッドが一つのプロセス内で互いにタイミングをはかってやりとりしているような複雑なソフトウェアを改修するとなると、何が難しいのかを切り出すだけでも難しい。ソースコードの行末コメントに /* bug */
とだけ付け加えられていて恐怖を煽ってくるものもある。それを書いた人はもうこの職場にいない。
問題の特定に(自分の頭の回転が遅いというのはあるけども)時間がかかると何が辛いのかというと、仕事をしてない感がすごい。仕事をしてない感がすごいと自己嫌悪に陥る。すると、冷静な判断を下したりとか長期的な視野を持つことができなくなっていく。良いソフトウェアは書けず、書こうとする気力も失っていく。
何か複雑なものと向き合うときに、何が難しいのかを切り出すだけでも難しいということを認識する努力も必要なのかもしれない。優秀なエンジニアでさえ Yak Shaving を避けられないのだから、停止しているような時間にいちいち後ろめたさを感じていたら、精神がもたない。