恐らくニーズが変化しないような機能しか実装してきていないからそういう感想を持っているんじゃないかな
基本的にプログラムは機能が増えるほど複雑性が指数関数的に増えて行くので
如何に単純な機能の組み合わせで実装を進めていくかっていうのが大事だけど
それを最初から考えて実装するのは無理なので実装+リファクタリングを繰り返す必要がある
「最初から完璧な設計が出来ていればリファクタリングしなくて良い」というのは正解なんだけど
ユーザーニーズは常に変化するから最初から完璧な設計っていうのは神にしか出来ない
設計を変えず、リファクタリングもせずにユーザーニーズに応えようとすると単純な機能の組み合わせで実現できなくなってくるから難解な作業になる
この辺が「プログラミングは単純作業じゃ無い」っていう根本にあるんだけど
ニーズが変化せずに最初の設計から変える必要がないようなシステムだと「プログラミングは単純作業」とかいう発想になるんだと思う