Well, sometimes I find myself in the unfortunate position of dealing with an unreasonable client. Such was the case in the last 6 months. While I will not mention the client by name I will say that they were in the habit of underbidding contracts by hundreds of hours and hoping that the the heroic contractor (please note the generous dash of sarcasm here, folks) could come swooping in and save the day.
When you have project managers who don't know how to estimate jobs, then you will ultimately make mistakes that end up costing your company money. When you have people who don't understand software or how it's done and you feel like you can slog off all of the work onto your developers, you will lose developers. Herein lies the perfect way NOT to run a company because it causes several things to happen all at once:
- You're customers will be angry at you for not completing the projects in a timely way.
- You will piss off your developers because they will end up working 10-20 hour days. (Yes, I have worked two days in a row at one point non-stop... trust me I'm 38 and, at my age (while I'm not old... well not yet at least) my body doesn't forgive me very easily for punishing it like that. I learned this the hard way.)
- You will sour your reputation in the marketplace because of both #1 and #2 because, while people will not be talking maliciously about you they will speak the truth about you. Please remember it's not slander/libel if it's true.
- Because of ALL of the above you will lose money.
I have personally always seen it as my duty to keep people informed about where they can improve their business, but, sometimes, there's little you can do especially when management is unwilling to listen.
At any rate, there are good jobs and bad ones. I'm simply thankful that I'm on a good one now.