For novel ideas about building embedded systems (both hardware and firmware), join the 27,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. It takes just a few seconds (just enter your email, which is shared with absolutely no one) to subscribe.

By Jack Ganssle

Career Futureproofing

By 2008 China expects to graduate some 600 billion EEs each year, starting work for an average salary of 8 Yuan per day, or about 12 cents US per hour. They'll be Six Sigma black belts and highly skilled at TSP, XP, TDD, SCRUM, FDD and will join CMMI level 5 corporations.

Even today, India's 250 million software people today create most new high tech products, from televisions to the Space Shuttle. Lockheed Martin announced they're sending all F-22 development to that country, which is expected to reduce the aircraft's current cost of $330 million each to a buck fifty-seven. Or $100,000 gassed up.

Clearly Western engineers are doomed.

Or are we?

Today's Engineer (http://www.todaysengineer.org/2005/Sep/pulse.asp) reports that, though EE employment has declined in the last couple of years, so has unemployment. They believe this odd finding suggests large numbers of engineers are changing careers. You, too, can leverage years of college calculus and electromagnetics into a rewarding career in the food service industry or real estate.

The November issue of the Communications of the ACM claims college computer science enrollments are down 60% in the last four years. 35% to 50% of the remainder switches majors to a non-technical field.

This data suggests there's a shortage of engineers. Time to ramp up those H1-B visas, congresspeople, to keep America competitive.

Oops. Intel's Craig Barrett thinks otherwise: "Companies can still form in Silicon Valley and be competitive around the world," he said. "It's just that they are not going to create jobs in Silicon Valley."

But in January The New York Times reported an increase in hiring in the Valley. The tiny 0.2% uptick represents only 2000 jobs, but is hopeful.

Are we doomed? Of course not. There will always be a healthy demand for engineers in this country. If college enrollments really are declining then the demand will increase. Salaries will go up. Now that the last of the debris from the dot-com implosion has been cleared away I'm seeing an upswing in job openings.

Are we doomed? Of course we are. Business is changing, faster than at any time in history. Though offshoring is currently only a small facet of this industry, it will expand till it becomes an essential fabric of firmware development. CEOs have a fiduciary responsibility, by law, to maximize shareholder value. They're required to cut costs if possible, and an army of low-wage very smart people are ready to help with that task.

It sure would be nice if CEOs would start cutting at the top, though.

Offshoring is but a symptom of the changes awaiting us as we're faced with impossible and conflicting forces that will drive engineering into new directions. Time to market is heading to zero while firmware size skyrockets. Debugging tools have taken a giant leap backwards (e.g., the in-circuit emulator being replaced by much less capable BDMs) yet safety-critical apps demand nearly-perfect code.

In times of stress great new opportunities appear. I'm convinced we're approaching an inflection point which will benefit engineers attuned to the new realities of the business world.

Self-Help

Get some self-help books to help guide your career decisions in the right direction, like Chad Fowler's "My Job Went to India (And All I Got Was This Lousy Book)." (2005, Pragmatic Programmers, no location listed.) Oddly, this book only occasionally addresses the offshoring debate and just marginally touches on Indian developers. Fowler notes that some number of jobs will go to low-cost countries and then moves on, without debating the pros and cons of offshoring. Though the title sounds somewhat hysterical he calmly (and rightly, in my opinion) notes the trends and implications.

Instead of being yet another rant, the book is a useful guide to taking charge of your career. In the olden days of lifetime employment one could reasonably rely on the company to steer you in the right direction. No more.

The book's 185 pages read like a James Patterson novel - short, punchy chapters a page or three long. Each ends with a homework exercise designed to make you take charge of your career today. Some are thoughtful; others, like "learn to type," seem oddly out-of-place for advice targeted specifically at software developers, who presumably already pound a keyboard at 80 WPM or more.

Fowler believes in investing in one's career, making a continuous effort to grow and improve. He feels that the only way to combat offshoring is to become both a much better programmer and a much broader employee, one who fulfills greater business needs than simply banging out code.

You'll find some of the book trite; some silly, but the author offers plenty of sound advice.

The New You

Today's engineering landscape is vastly different than that of a decade ago. Tomorrows will be unrecognizable.

Increasing product complexity coupled with shrinking time-to-market windows means that firmware development will inevitably use larger and more geographically diverse teams. Since pressure to drive costs down will be to some extent mitigated by management's desire to ship something soon there will always be a healthy market for engineers in both the first and the third world. Developers will work hand-in-virtual-hand with other team members spread all over the world. While some folks will manage reasonable careers cranking code (probably for salaries that make a Wal-Mart executive cackle in glee) stellar opportunities exist for a new kind of engineer.

Consider the facts: the declining number of EEs means firmware people who "get" the hardware will be in high demand. If your reaction to some problem is to call the hardware guy, you'll be pigeonholed as one with only moderate abilities. You don't need to be an ASIC designer, but if you learn enough about the hardware to troubleshoot common problems, if you can go to the EEs and say "this is the problem," your value to the company will go up considerably. When bad times come - and they always do - the boss will first dump the narrowly-focused individuals who constantly require support from other team members.

To futureproof your career, get a good grounding in the hardware.

Shorter schedules and the demand for high-security, reliable systems means our current development practices have to change. We know today how to develop products one to two orders of magnitude less buggy than average code - with the same or better productivity. So of course we choose to ignore these approaches.

As professional software developers we're, well, not professional if we remain ignorant about these better methods. Are you familiar with Design by Contract? Correctness by Construction? These techniques (which, by the way, scale to both big up-front-design and some agile methods) yield dramatically reduced bug rates. On the C-130J program Correctness by Construction yielded code 10 times less buggy than the already fabulous stuff produced to the highest US avionics standard (http://praxis-his.com/pdfs/Logic_versus_magic.pdf). Yet the development costs were half that that typical for non-safety-critical code.

Wow.

Have you gone through the Personal Software Process (http://www.sei.cmu.edu/tsp/)? Though formal training is available, more than a few engineers have slogged through the very tough but very effective "A Discipline for Software Engineering," by Watts Humphrey (1995 Addison-Wesley, NY NY) on their own. It, too, results in much better code, more predictable schedules, and a way to track one's performance.

To futureproof your career master effective alternative development strategies.

Touch + Tech

Better development processes are essential but not enough. The successful highly-paid engineer will understand that this is the communications age. Oddly, we're the engineers who invented this remarkable global telecom and datacomm net. yet many of us have nothing to say.

Watch teenagers to see the future. They're communications junkies, needing a cellphone, IM, email, text message, and Blackberry fix every few seconds. Long ago business guru Tom Peters predicted that high tech would be accompanied by "high touch;" using technology to help us work closely and personally with people.

Your boss likely doesn't know as much about creating C code as you do; she's probably equally unfamiliar with the details of programming 50 control registers in just one of your product's peripheral. She relies on you to translate the company's business needs into a pile of ones and zeroes. The CEO is even more clueless about technology issues.

Great, irreplaceable engineers will be expert communicators. They'll be able to discuss system design with the engineering team in Boise, structs and enums with those cranking code in China or India, feature sets and benefits with the customer, and profit and loss with the head office. That means we engineers will be techies, salesmen and management consultants.

To futureproof your career learn the language of business. An MBA or similar is not a bad idea.

2000 years ago Marcus Vitruvius Pollio wrote "De Architectura," the oldest-known engineering book. Apparently the author was a great engineer and a terrible writer, as one historian noted: "He writes in atrocious Latin, but he knows his business." Another wrote: "He has all the marks of one unused to composition, to whom writing is a painful task."

Things haven't changed much. Instead of chiseling bad Latin onto blocks of stone we type barely comprehensible English into a computer. Our written reports email, and web postings reflect on our ability to think clearly. Since so few engineers write well, those who create literate and insightful written reports, who can use the language to effectively bridge the communications gap between project stakeholders, will be in great demand.

To futureproof your career, learn to write well. Practice often.

Today "communications" includes the ability to present and influence. That's more than building a few pretty Powerpoint slides. It means having the confidence to stand in front of a perhaps antagonistic crowd, explain your viewpoint clearly, demonstrate the data that backs you up, and to even entertain and charm disbelievers. Tough? You bet. But imagine how valuable the CEO will find this sort of person.

There are a lot of engineers. Most are pretty good technically. Some understand how a particular technical decision affects the bottom line. Nearly none can also bring the meaning and implications of a bit of techie magic to people who don't know the difference between a zero and a one. As software becomes an ever-larger component of companies' revenues and strategies the demand for these stars will soar.

To futureproof your career, become a competent presenter.

Finally, to futureproof your career, network relentlessly, even when employed. No job is forever. Build a golden rolodex. Those people are the key to a new gig when things go wrong.

I'm suggesting you to do a lot. The days of Ward Cleaver punching out of the office at exactly 5:00:00 are long gone, for better or worse. The ideal of a benevolent corporation kindly watching out for its employees' best interests lasted just a handful of years and will never return. There's only one person who can futureproof your career. You.

Rewire your profession. Prepare for the new future. Those that do will prosper. Don't, and be swept away by the flood.

Do you need to eliminate bugs in your firmware? Shorten schedules? My one-day Better Firmware Faster seminar will teach your team how to operate at a world-class level, producing code with far fewer bugs in less time. It's fast-paced, fun, and covers the unique issues faced by embedded developers. Here's information about how this class, taught at your facility, will measurably improve your team's effectiveness.