最近は仕事でもコードを書いている。
元々インフラエンジニアみたいなことをしていたため仕事でシェルスクリプトを書いたり、個人的な時間でPythonやJavaの学習をしたり小さなプログラムを書いたりすることはあったものの、今のように他人が書いたコードを読んで実装するということはあまりやったことがなかった。
そのため、コードを書き始めた時よりも、単体テスト前段階になって仕様の理解が深まったり、既に書き終えたコードよりもベターな書き方や、ライブラリの利用方法に気づいたりする。
(おそらく経験豊富なプログラマなら書き始めからある程度、どのように実装すればよいかという筋道が見えているのではないかと思う。)
そうなると、もちろん修正したくなるわけだが、スケジュールやタスクの優先度を考えると既に動いている部分を修正する余裕はないためそのままにしておくしかない。
このモヤモヤに向き合うことが意外と大変だなと思うし、コードを書く以上はこの自分の不完全さの顕現に向き合うしかないのだろうなと思っている。
サーバやミドルウェアの設定というのは、この設定をすればこうなるということが決まっており、自分で作成したものではないため、そのようなモヤモヤはなかった。
プログラムを書くという行為は自由度が高く、不透明感がインフラ部分よりも大きいなと感じる。