August 2014
It does apply to myself when sometimes I think too much on beautiful design up front, then I fear the solution that I come up now is not good design. It pushes me back from getting the first draft working before I refactor to make it clean.
August 2014
I liked the analogy with the writing process; a lot of writers give the same advice to beginners: when you write the first draft, ignore the inner critic - write anything, no matter how bad it is. Of course, THEN you have to follow with the editing process, which sometimes includes heavy rewriting.
I think the (not unjustified) fear of many senior programmers is that many of us ignore the second step, and never get back to editing once the code "works".
1 reply
August 2014
▶ marcelpopescu
Yes. Surgeons do not argue about the merits of washing their hands. Writers do not argue about the merits of editing mercilessly. Programmers still argue about the merits of refactoring ("editing") their code. Given enough time, I think this could change.
I worry, however, that as tools, platforms, frameworks and libraries degrade in quality, the effort required just to get something working will increase to the point where nobody will have energy left over to improve the design. It's one of the things that has driven me away from serious programming recently. Perhaps I'm just going through a particularly impatient phase of my career, and I'll develop a more understanding posture over the coming years. I hope so.