As a Programmer, I take pride in my work and set high standards for myself.
When I plan a project, I always thrive to make it better, faster, and more perfect than any other I worked on in the past.
In summary, I’m a perfectionist. I pour tremendous energy into the details of software design, and try to use all the good practices. As much as the beginner healthy eater, who is trying to get his five a day in a single meal every time.
However, there might be other factors moving the project into a different direction. Such as time, budget and existing technologies, ERP systems. Oh those bad boys, I could write a novel about them, but I’m afraid it would become a drama, or in best case, a tragicomic, perhaps a crime story.
With so many variables outside of our control, as an experienced software developer, we should recognise that there’s not a single way of completing a project. Unless the budget is really high, and the time is plenty, we should stop engineering perfection and settle with something that just works. Perfection in software engineering is - in most real world cases - impossible.
It’s only a program.