I was interviewed recently on IBM developerWorks about Making it Big in Software. One of the questions asked me about the unique career challenges in software. What makes software careers so unique is change! Change is our challenge. We work in an industry that redefines itself every few years. There’s no other profession like that – even in the engineering disciplines. Think about other professions, like accounting, law, nursing, medicine, dentistry, education. Their skills and tools evolve over time, but fundamentally what they do at the end of their career will look pretty similar to what they did at the beginning. Not so with software! New languages, new platforms, new paradigms emerge all the time. A few years ago nobody was talking about social networking, cloud computing or multi core programming for dozens or hundreds of CPU threads. These are today’s sea changes. That constant change will continue, and it’s what makes software so dynamic. But it means all of us in the profession need to ride those waves and stay current.
I’ll add another point to my answer which I think is really important for software programmers and engineers to internalize for career advancement. A unique quality in the software business is that a lot of the great innovative ideas come from the engineering teams rather than the business and marketing executives. That’s what has, to a large degree, elevated programmers from their early status in the 1960’s and 1970’s as skilled technologists to our modern conception of software programmers as rock stars. Driving software innovation elevates your rock star status and can be a major impetus in fueling your career. More on these ideas in Making it Big in Software.