Yesterday NPR's All Things Considered aired a segment titled "For Software Developers, A Bounty Of Opportunity" that included an interview with me (and my daughter cooing in the background). The point of the story is that in even an overall weak job market there is strong demand for software developers. Since much of my interview with Curt Nickisch didn't make it into the final piece I wanted to expand on my experience and thoughts on the market for software developers.
The Right Stuff
While the overall picture for software developers is definitely bright, the reality is that it is a subset of technologists who reap the benefits. Currently every company I know is having difficulty hiring, but they are only looking to hire people with the right skills. And I know some tech people who have faced challenges finding a job perhaps partly because despite a technical background they are viewed as having the wrong skill-set for the role. So despite the intense demand there can be a non-clearing market. I've certainly seen this first-hand when hiring engineers that many of the resumes are far from a strong fit and one wonders about their attractiveness elsewhere.
When I was at IBM I noticed that their decisions for when to hire and when to cut staff was driven by its own internal logic more than external results. Even when the company overall posted strong quarterly results they may, understandably, choose to de-invest in some business units or product lines. The result was that my co-workers there never appeared to feel any more secure by working for a large, outwardly stable company. And certainly those working for large companies that are actively shedding jobs like Cisco or Nokia may not feel confident about the future there.
My one true fear working in software is letting my skill-set become deeply disjointed from what the market values. The coworkers I've been concerned for are the ones who have either become complacent in acquiring new skills or were "team players" by working on an older technology that other companies don't have a need for. That is potentially dangerous. To remain able to take advantage of the premium put on skilled developers requires keeping your skills current and finding opportunities to grow.
These two observations have convinced me — someone who is not by nature a risk-seeker — that working for startups is actually a better and more secure strategy. Startups provide greater transparency about their health and offer more chances to develop the right skills.
The Broader Picture
There is much debate about whether there is currently a tech/startup bubble but Marc Andreessen argues persuasively in "Why Software Is Eating The World" that the importance and reach of software in our lives is only increasing. He also touches on the critical challenge that currently there is only a small segment of the U.S. workforce prepared to join those companies in this "software revolution". At the moment I'm an accidental beneficiary of this shortage but this is a long-term problem that needs to be addressed by our education system. For more Americans and those around the world to participate in this trend they need a solid grounding in math & science and the chance for a quality university education. Too few have them today causing innovative companies to be constrained and Americans to miss out on a rare bright opportunity.