Many times when engineers propose a design/solution we are told ‘Well lets just get over the hump for now and refactor it later” or ‘oh, that’s an elegant solution but lets just get it done for now’ and the worst of all you are just ignored. (Makes you think if you are speaking in a different language)
This almost always pains me, I just cannot understand how can a solution be correct and not be elegant to me a complete design is something that is correct, elegant, maintainable and easy to extend. Something that will stand the test of time. Something that can be reused.
I learnt the hard way every thing that you ever write and put into the system, someday you will have to enhance it, so would it not be better for you if you do it right the fist time around ?
I guess it is the engineer in me, I get bored if there is no puzzle to solve.