Managers who do not understand this concept shouldn't manage, plain and simple. I have been blamed for "over engineering" more than once, but I consistently beat deadlines and customers are happy with my code (I actually have a small 1.0 application that has been deployed to over a thousand users for over six months and no change requests/bug fixes have been made).
Yeah, I used to know that feeling. It's a great one. These days, I find myself settling for goals like "boy, I hope this s
hit falls apart on one of our internal applications before it gets deployed to our external sites."
and ultimately only repeated success have allowed me the grace get away with my “over engineering” attitude.
Yeah, and for awhile, I was in that position, too. I had earned enough credit (through saving my team's ass several times) that I could get away with carving out a little bit of my time to develop new applications, or clean up things that were taking way too much effort to maintain. Then our management changed, and the new motto was "we're going to take on as many projects as possible this year, and do just well enough on them that we'll get more budget next year to do more half-assed projects." It became all about taking on more customers, but reducing our service to each of them. I think we've already started to feel the pain from it, but whether that leads to any change is a different story.
If you can’t meet a deadline with available resources, don’t commit to it and certainly don’t bid your services for it.
Yeah. And my manager's motto is "commit to everything, do as much as you can, and when the [censored] hits the fan, don't be around to get caught in the splatter." And maybe this is me taking on the "if you can't beat 'em, join 'em" mentality, and understanding that it's best to get out of Dodge while there's still trains running.