優れたソフトウェアを書くには、「運用」と「開発」(あえてちゃんと定義しない。皆さんがキャリアを今までやっていった中で想像するムーブで一旦よし)の両方を踏まえた上でアーキテクチャ、コード自体、テスト、エラーハンドリング、メトリックその他を考慮しないといけない。
しかし...
ずっと「開発」をやっていると、「運用」の脳にすぐ切り替わらない。シンプルに障害対応やバグ報告をめんどくさがったりする気持ちがすぐに湧いてくる...。
一方ずっと「運用」をやっていると、えいやと何かの機能を改善したり、リファクタしたり、新規機能を追加する気力が徐々に湧いてこなくなる。自動化すらめんどくさくなって「機織り(高速に特定の手順をやってしまうことをどこかの現場でこう言うらしい)」をしてしまう。徐々に徐々に、短期的な発想に陥りそうになる...。
どうしてこの2つは、簡単に両立できないのだろうか。仮に一人で両方経験していたとしても、ある瞬間に一方の立場になっていると、あっさりともう一方を忘れてしまうのである。
そこまで根本的に脳の使い方が違うのか、という点についてちゃんと考えたい。...という気持ちだけがある。
え、僕の心が弱いだけ?