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.
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.
By Jack Ganssle
Mental Health Days
The best developer who ever worked for me had an unhappy marriage. "Bob" daily performed miracles creating firmware and Windows-based code, but his home life was a battleground.
The conflict affected his work. Long hushed but angry phone conversations were the norm. I learned to expect "sick" leave about once a month, followed by a miraculous cure a day later.
I despise dishonest relationships of any sort. We both knew that his putative illnesses were for marriage counseling, so after a bit of negotiation reached an accommodation. Bob could take a day a month off, with pay, as long as he continued to work his daily programming marvels.
Is it illegal to treat employees differently, giving Bob more paid leave than others doing more or less the same job? Perhaps. But each person is different, and employees have their unique needs and challenges. Part of effective management is treating folks as individuals, not as replaceable and identical cogs. This is impossible in a big company where policy is codified into non-negotiable rules. But small outfits can be more flexible, which is perhaps one of the reasons that most innovation comes from startups and tiny businesses. Treat people right, and they work wonders.
A new study (http://www.usatoday.com/news/nation/2002-10-16-sick-days_x.htm) found that unscheduled absences for personal reasons increased from 20% two years ago to 24% this year. Absences due to stress jumped from 5% to 12% over the same period. Costs to companies run about $789 per employee per year.
No doubt HR people nationwide are appalled. Me, I figure this is about right. Probably the cost to the company for a well-paid engineer is much higher - maybe $2-4k. But that's a pittance compared to the $100k-150k (loaded) the company spends on each developer.
The article suggests that part of the reason for the rise in these figures is the poor economy. Layoffs have left leaner staffs, those remaining do the work of several people. People are stressed, spend too much time at work, and simply don't have the time to take care of the other aspects of their lives.
Having watched and participated in many death march projects I know that the concept of doing more with less is fraught with peril. Increasing workloads and more overtime leads both to burnout, as exhibited by a rise in "sick" days, and to less productive people on the job. Many of the engineers I know who put in crazy hours do a lot of personal business while at the office. They have no option; there are just not enough hours in the week to get everything done when you live in the lab. Sure, you might be at the office for 60 hours, but how many of those are spent on the phone with the kids, the car mechanic, and running a few quick errands?
The eXtreme Programming crowd promotes a 40 hour work-week, figuring that tired programmers make mistakes. They do recognize that sometimes OT is unavoidable, but temper that with a rule that no one works overtime two weeks in a row.
I think we should stop the deception and recognize reality. Stress and overwork kill productivity much more than a few "sick" days here and there. Give people a handful of mental health days each year. It should be OK to call the boss and tell him you just can't stand it anymore, need to sleep in, take care of the car, help the spouse.. but tomorrow you'll be better.