¿Por qué la programación es tan estimulante mentalmente?

Tiene que ser el hecho de que realmente no hay un punto donde puedas decir que ya terminaste. Cualquier problema que enfrentes evoluciona a medida que trabajas en él. Cuando resuelves un problema, es probable que eso genere otros problemas en los que no has pensado. Es un acertijo interminable con miles de maneras diferentes de abordarlo y, a veces, es frustrante, pero la sensación que te invade una vez que lo obtienes puede ser indescriptiblemente satisfactorio.