Category Archives: Promotability

Why popular programming languages may be bad for your programming career

A careful reading of Making it Big in Software will surface two curious observations. First,  I studied the popularity of different programming languages and platforms.  Not surprisingly  I found the Java is the most popular programming language in the world.  Nice, but not exactly world news.  It stands to reason that if Java is the most widely used, it’s where the job are,  right?  So if you wan to be marketable, you may draw the conclusion that you need to stay fresh on your Java skills.   Then I interviewed Mark Russinovich, Microsoft Technical Fellow, and Windows architect. I asked Mark for his thoughts on what people should keep in mind in order to have successful careers in software. Here’s part of the advice he offered:

“Try to differentiate yourself. For example, when Java exploded in the mid-1990s, everybody became a Java programmer, and the market became flooded with cookie-cutter Java programmers. It’s really hard for people to stand out as something that isn’t easily replaceable in that world. My whole career I have tried to stay away from that. Operating system internals, while not considered particularly sexy or part of the mainstream, have allowed me to stand out because of the relatively few people who go into that and the perception “Wow, that’s really hard.” Stay away from the mainstream and the crowds, and find something that is gonna be stable—not just flash-in-the-pan technology.”

Mark isn’t saying you shouldn’t be a good Java programmer, and neither am I.   Knowing Java is definitely good! But if that’s you primary skill and claim to fame it’s going to be hard to distinguish yourself.   Be distinguishable. Most of the time programming skills are to software as hammer, lathe and drill are to a carpenter. Tools of the trade, yes, bu not where the deeper talent lies. Being an expert in tools doesn’t make you a great carpenter, because the essence is knowing how to make the table, the cabinet, or the armoire.  In most cases software is the same way, and programming simply provides the tool to apply your real talent. What really distinguished you is your deeper knowledge of the domain you’re applying those skills to, such as databases, social networking, communications, multimedia design, financial analytics, scientific domains and so on. In Mark’s case it’s operating systems. Ya… I’m sure Mark knows how to code, but that’s not what made him a Microsoft Technical Fellow.


A faster horse? When not to listen to your customers

Last Wed I had the privilege of giving a talk at IBM to about 250 software professional. The topic was fostering innovation.  If there is a mantra of the modern corporate workplace it’s probably “Listen to your customers”.  We’ve all seen how companies falter when they try to dictate to their markets rather than listen to them.  However, I truly believe that listening to customers is a cataclysmic error.  By cataclysmic I mean an error so profound it can put you out of business.  Ok, I’m being provocative, to get your attention.  More truthfully, there are times you really need to pay attention to what your customers ar telling you (failure to do so may put you out of business), and there are times when you shouldn’t (because doing so may put you out of business).

Here’s why. Markets are all about supply and demand. They demand products and services to solve their needs.  When people need food they create demand for groceries. When companies need data management they create a need for database software.  Companies need to listen to their customers to understand those needs, so we can supply solutions they’ll be interested in consuming.  The problem, and it’s a serious one, comes when we extend that listening solutions.  The market provides demand, it is not designed to provide innovation. That’s our job as engineering companies.  When we listen to our customers’ ideas about how their problem should be solved it often cripples our potential for dreaming up a more creative and potentially superior solution.  Henry Ford was the founder of the Ford Motor Company and the father of the modern assembly line and industrial automation. He famously said “If I’d have listened to my customers, I’d have given them a faster horse!”.  Apple co-founder Steve Jobs once made a similar point, saying:   “A lot of times, people don’t know what they want until you show it to them.” 

After my IBM talk someone asked me if I really meant we shouldn’t listen to customer ideas about how to solve their problems. Of course it’s always worth listening, and sometimes what customer think they want really is the ideal solution.  But if you stop at listening, and never get to dreaming, you’ll deprive yourself of all the real moments of innovation that can help change the world and drive successful new business.  Although there are exceptions, as a rule if you are only building and doing what the market suggests you do, you’re going to be a follower, not an innovator.

So, my advice is this: Listen to your customers o and requirements. Do that with a passion.  When it comes to finding solutions, consider their input as just that – input.

Unique challenges of a career in software: becoming a rock star!

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.

TAKE THE POLL! What matters more to your career – tech skills or soft skills?


Cast your vote  HERE!



ITWorld’s interview with author Sam Lightstone.

Columnist and author James E. Gaskin interviews Sam Lightstone for ITWorld.

“Career advice: Making your mark in software programming”

Making it Big in Software: Get the Job. Work the Org. Become Great.

Making it Big in Software is now available for pre-order on and Barnes & Noble.  Three years in the writing, I’m absolutely delighted with how the book has turned out.

Discover how to:  •Get your first job in software development •Master the nontechnical skills crucial to your success •Understand the “sweet science” of software R&D •“Work the org” to move up rapidly •Successfully manage your time, projects, and life •Avoid “killer” mistakes that could destroy your career •Move up to “medium-shot,” “big-shot,” and finally, “visionary” • Undestand the “Law of Promotability Inversion” • Even launch your own winning software company.

Featuring exclusive interviews with leading personalities from industry and academia including Microsoft’s CTO,’s CEO, the inventor of Java, the inventor of email, the coinventor of the Internet, an IBM Fellow, and many more.