For novel ideas about building embedded systems (both hardware and firmware), join the 35,000 engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.
By Jack Ganssle
I'll present my Better Firmware Faster seminar in Melbourne and Perth, Australia February 20 and 26th. All are invited. More info here. The early registration discount ends January 20.
Intel introduced the 4004, the world's first commercial microprocessor, in 1971. A year later they followed with an 8-bitter.
At the time I was working my way through college as an electronics technician. But the company realized this new technology could enable revolutionary new products. Problem was, none of the engineers knew anything about programming. I did, so was gladly co-opted into the engineering department. It seemed ridiculous that the company was willing to actually pay me to crank 8008 assembly language.
The company was perennially cash-short and just one angry creditor shy of bankruptcy. Engineering was always under pressure to produce some new product that would finally put some financial stability behind 150 people's paychecks. For years several of us young engineers worked insane hours, often putting a hundred, paid for 40. I slept in a VW microbus parked in the lot outside.
The company needed the free labor, but the truth is we reveled in the excitement of the work, and enjoyed some prestige from helping to resolve the company's desperate needs. And, of course, we were young, early 20s, unmarried and for too-long periods not even dating. Who had the time?
The 40-something managers went home at 5. They had wives (there were no female managers there), children, and outside interests.
Now I look back and wonder if this wasn't some rite of passage. Young medical residents live at the hospital for days on end. Raw army recruits spend their days squirming through the mud.
Middle-aged doctors go home at 5. Except for wartime Colonels have dinner with the family.
Yet engineers routinely work long hours regardless of age.
In the USA most developers are statutorily "exempt" from the Wage and Hours act. The government doesn't care if we're compensated for overtime, and too many companies happily play along. I see very few that pay time and a half or even straight time for OT. Some offer comp time: take an hour off for each hour over 40 you've worked when the crunch is over. That seems reasonable. though it's rare.
I object to the engineer who's never willing to put in some extra time to save a project in distress, just as I object to the company that demands constant overtime. Compensated or not, I think routinely long hours are akin to indentured servitude.
Perhaps the eXtreme Programming folks advocate one of the most balanced approaches: never work overtime two weeks in a row. They acknowledge that projects do run late, and extra time is needed. But tired people make mistakes, so too much OT turns a troubled project into a disaster.
But should those overtime hours be compensated? In my opinion, yes. Either in money or in stock options.
One study suggests that the size of firmware is doubling every 10 months. Hiring isn't. The implications are clear.
Companies must compensate fairly, or at the very least limit and control the use of overtime.
What's the policy at your company? How do you feel about it?