Good code takes time. One great engineer can do more than ten mediocre ones especially when starting a project. But great engineers still need time: whenever we’ve thought our talent, sprinkled with the fairy dust of some new engineering paradigm, would free us from having to schedule time for design and testing, we’ve paid for it. To make something elegant takes time, and the cult of speed sometimes works against that.
I am working on a couple of things now that I have to delivery like right now. One of these things will for sure be only used once and then thrown out and forgotten. Another one will probably be used by a few people and then re-built and extended.
Due dates are way off for both projects and there is a lot of pressure to deliver. Still, I can’t force myself into releasing them half-baked. I’ve been beaten by returning maintenance way too many times. There are not that many things out there which are worse than that…