Finally, a text that captures really well how programming works for me. Programming is far more an aesthetic and creative process than a purely technical one - many aspects of programming involve artistic activity for me rather than technical implementation. The deeper I get into a program and enter "hack mode," the further I move away from classical software engineering teachings - there's no design and analysis there, but there is a lot of intuition at work.
Anyone who reduces programming to the purely technical aspect and thinks you can plan and analyze everything beforehand, preferably before you even sit down at the computer, excludes an essential part of programming: namely, the dialogue with the machine, with the problem.
Programming languages are a means of communication, so we should learn to communicate with these languages. Not pidgin and machine translation!
I found the original article at Tao of the Machine.