“I'll probably be maintaining this crap until I retire.”
So ended a good friend's recent frustrated e-mail. In previous paragraphs he told of having completed a large project on time and on budget. His bitter reward? Being stuck on the maintenance crew. Maintenance: the deadly, dreary dead-end of a successful project. We've all got to do some from time to time, but when excessive it destroys our passion and creative spark.
A year ago Jim would no doubt have challenged his boss. He's a smart guy and would have had an offer or two from other companies in his pocket first. Times have changed. Hiring isn't completely frozen in the embedded sector yet, but it's quite moribund. Jobs haven't been so scarce since in the early '90s.
I get a ton of e-mail. The two most common themes are “how can I become an embedded engineer?” And “we're desperately looking for a firmware person. Can you help?” The second type of e-mail has almost disappeared over the last six months. A few people now write looking for jobs, but these requests are fortunately just a trickle.
My sense is that most developers have work, but many are fearful that things may get worse. A recent poll on Embedded.com suggests that only 36% of us aren't concerned much about the future of our jobs. The concern level of the rest ranges from “starting to really worry” to “lost my job.”
When there are hungry mouths at home, most of us, like my friend Jim, will trade fun for a reliable paycheck. This Faustian bargain is sustainable for short periods of time, but over the long haul it corrodes the soul till we become cynics, forever disenchanted with the company and our career. I've met plenty of engineers who are fixtures at a company. They find fault with everything and everyone, and seem to have lost their zest for engineering. And maybe even for life. Their attitude is unhappily infectious, and can easily poison an entire department.
Life is hard. It's impossible to always get an ideal mix of money and exciting work. But I do think that it's our responsibility to maintain and nurture our passion for everything, for your spouse, for your kids, and of course for your career.
Most of us will spend forty years or more working. The job will eat the vast majority of our waking hours. When the thrill is gone, if the whole thing is nothing ore than a wage-earning drag, you've got to make a change. Maybe today's the wrong time. But the economy will bounce back. Embedded designers will be in huge demand again.
Spend as much effort designing a satisfying career for yourself as you spend creating products for the company.
Jack G. Ganssle is a lecturer and consultant on embedded development issues. He conducts seminars on embedded systems and helps companies with their embedded challenges. He founded two companies specializing in embedded systems. Contact him at . His website is .
I can relate to your friend's frustration. I've been maintaining “legacy code” for 7 years now at the same company. But what's worse than the “bitter reward” your friend got of being stuck maintaining his own code? Maintaining un-intelligable code SOMEONE ELSE wrote who is long gone, or off on the next glory project.
I suggest that the person who wrote it should be the one to maintain it, since he understands it best, and will probably do a better job in the first place to avoid having to fix it down the road. If done right the first time (I know, very rare), it should need little maintenance in the future. Why did your friend call his own code “crap”? Probably because he didn't plan on being the one to maintain it when he wrote it.
My father told me when I was growing up that he wasn't so much concerned with what I did, but that I enjoy it. He worked in a job that he enjoyed (engineering), yet he had his ups and downs. He told me that if he hadnt enjoyed doing what he did, it would have been impossible to keep going after 30 years.
I've been developing embedded products for over 20 years, through good times and bad times; good companies and bad companies. The business cycle is always out there, grinding along, and grinding some companies into the dust along the way. There are few company's that havent changed radically over the last thirty years and survived – look at IBM and RCA to name a couple. IBM has changed radically since the PC was introduced, and RCA is completely different from what it was.
Since these cycles tend to take several years, during the good times we forget that the only sure thing is that bad times are in our future. Human nature makes us put off preparing for this – as well as the urgent demands that families put on us (housing, transportation, schooling, etc.).
So if you are not enjoying what you do, I don't see how you can be dedicated to it. The people that shine in our business are the ones who need little or no motivation, other than that which they supply themselves. And if you are not dedicated, after a while it shows – your attitude, the amount of time you spend, the quality of work you produce. If it goes on long enough, you will find yourself looking for a new job.
I'm fortunate in that where I am now, the work and the people are enjoyable – always challenging and interesting. We have had some tough times, but most of us have hung in and hopefully will reap the reward of seeing the company perform better in the future.
Director, Software Applications Development
Global Payment Technologies, Inc.