it's one of the biggest weaknesses that engineers/programmers/logical, problem-oriented thinkers have. doing something quick and hacky when it doesn't need to be flawless just feels so wrong. you miss that feeling, that rush when a perfectly-engineered solution just snaps into place and works like magic. and that becomes a problem when it begins to interfere with deadlines, like in your story.
i think that's a big part of programming as a career, learning to know when to make something run flawlessly, and when to make it just... run.