Cardiologists seem to take two general approaches. Some want to see you for the first time on a gurney (presumably alive). The others want to keep you from going there. Physicians in the latter category therefore urge you to pay a lot of attention to things that appear to be useful as “early-warning signs” that might be a warning that you’re about to get into serious trouble. Sort of like a sign by the road that says, “Bridge Out.”
I submit that we have just such an early-warning sign in our industry, too: Overtime. Generally, this issue (if it comes up at all) is “slow-balled” at the very end of the interview, couched with terms like “team player” or other similar vague references to professional sports. And, whenever it does, I urge you to run away ... fast.
There seem to be three four general approaches to overtime:
- It is seen as a way to increase available labor by 2/7ths (without increasing costs). (I can only very-delicately say that it must really suck to be in the USA on an H1-B visa.)
- It always happens at the end of a project, after a long period in which nobody seemed to have anything in particular to do. (They seem to be admiring the passing scenery as their raft drifts ever-closer to the falls.)
- The project is declared, “finished,” but then all hell breaks loose. Overtime is demanded “to fix the problems that have recently come up.”
- Testosterone.
No matter what “justification” is proffered in its defense, overtime is (IMHO...) generally the easiest-to-spot sign that a project has been poorly specified, poorly planned, poorly managed, or some combination of the above. The ship is still several miles offshore, is probably lost, and the easiest solution to the problem is to flog the people who are holding the oars. (Not the ones holding the compass and the charts.) But this never produces good, robust, reliable software... and it never will.
Good software execution is a methodical, sometimes downright boring process. It requires a level of daily focus and attention that also demands rest and diversion on a very regular basis. Contrary to popular belief, your coding abilities do not get markedly better at 3 AM. When a long project arrives at its intended destination, on time and on budget, the reasons for that success occurred both before the project formally started, and throughout every day of its completion. There is not, and there can never be, a “heroic” substitute for these fundamental things.
When a company weaves the discussion of overtime into their negotiations with you... break off those negotiations. If they don’t, ask the question directly. As you do so, look the ranking manager squarely in the eye but watch the minions who may be present out of the corner of your eye. The briefest flick of a telling expression can tell you all you really need to know.
Sure, it takes ... fortitude ... to walk away from a job when you have gone to a place to get one, but finding yourself in Overtime Hell is a great way to wind up with a heart attack at an early age. One kind of cardiologist wouldn’t recommend that. The other kind just got a customer.