One question that comes up every now and then is, “Why is there a shortage of Software Engineers?” There is good money in writing software, so why isn’t everybody doing it?

It’s an interesting question. Allow me to explain from the perspective of a Senior Software Engineer. I’ve been writing code for over 20 years, so I have some thoughts.

First of all, have you ever wondered why there aren’t more doctors or lawyers? Doctors and lawyers on average make a lot more money than software developers. Wouldn’t there be a greater incentive to be a doctor or a lawyer than a programmer?

If you thought people made career decisions solely based on money, that might seem to make sense. The problem is, that’s not how it works for most people. Allow me to explain.

It’s Not About The Money…

I have a friend who likes to repair computers and do general IT type work. He doesn’t make crazy money, but he’s happy doing what he is doing. He could make more if he got more certifications and whatnot. He doesn’t want to do that.

My friend isn’t in it for the money. At least, money isn’t the primary driver of his behavior. He cares about something more than money.

If he cared about money he could double his salary in a year or two.

So, motivation is part of it. The other part is…

Practice Makes Profit

Most people who go into Software Engineering aren’t doing what it takes to be good enough to make a big salary. It is a lot of work and years of practice to make six figure incomes unless you work on the coasts (with a ridiculous cost of living, I might add).

The majority of developers who are not in the hot tech areas are not making six figure salaries. In the midwest, or anywhere outside of Silicon Valley, Boston, or New York, a lot of developers make $50-75k a year. That’s good money, but it’s not nearly as high as you might think.

That is good solid money, but a lot of accountants and bankers make that kind of money too. Sales people can make way more than coders if they are good.

So, while SOME people are making good money in software, most are making above average money. It’s not mad money.

There is one other reason there is a relative shortage of Software Engineers…

Jets Aren’t The Only Thing That Lags…

Jobs get filled quickly when there are a lot of people trained to do them. 17 years ago when I was in high school, computers were not as cool or ubiquitous as they are now. People still used phones that were plugged into walls. Weird right?

Huge shifts in education or career goals take time. Too many kids grew up told to be an accountant, teacher, doctor, or lawyer when they grow up. Few wanted to be software developers.

Heck, 17 years ago a lot of people didn’t use the internet outside of AOL or checking their email. Broadband had jus started to take hold in many places around 2000.

Give it more time, and software jobs will be much more established and advised career paths. Education system tends to be anywhere from 5-15 years behind the curve on where the world is. It takes time for some ideas and realities to filter into the mainstream.

In a couple decades there could be a kind of equilibrium of Software Engineers and jobs for them to fill. And at that time there will be some hot new field that everybody and their brother wants to jump in.

It’s a cycle. I’m sure a hundred years ago people wondered why there weren’t enough factory workers. In a hundred years Software Engineering might seem quaint.

However, In The Meantime…

Those of us who are Software Engineers get to enjoy the good timing of having an in-demand skillset that pays very well.