Supply, Demand, and Software Engineering

You know you're in it when you go to lie down and dream about software engineering.

I recently had this dream where I was talking with a bunch of business types. I couldn't tell their occupations at first, but one of them turned out to be an economist. I told him I was learning software development. And he said to me, "Oh, well, software development was popular a few years ago, but not really any more." Basically this non-existent dream person was saying that software development was going out of style.

But he's full of crap!

This guy in my dreams is not an economist. This guy is just me. His knowledge is limited by my own, but he did address a fear I was having. Maybe I'm too late to start learning software development now. Maybe I missed the boat.

That guy might have been right if software was like fashion. There are only X colors the human eye can see. Maybe someone will find a new way to arrange them, but there will never be a new color. Not so with software. The extent of its dimensions are unknown. 30 years ago, who would have predicted google? Who could have seen the smart phone coming? Who would have guessed at the incredible boom of cat videos on the internet? No one.

Here's a bit of real economics: Every time an engineer builds something useful, it creates more demand for engineers. We tend to think of creating products as 'satisfying a demand'. But that's not really so. When we build something useful, we create MORE demand.

Look at the smart phone. Before it, the only general access to the internet was through a PC or a laptop. The smart phone 'satisfied a demand' to have the internet more accessible. But it didn't stop there. Millions, maybe even billions more people who would never have touched a PC had access to a smart phone, and thus the internet. Because the smartphone was useful, the demand for good internet sites skyrocketed.

Historically the same thing happened when we created the cotton gin (with all of its terrible side effects), and the steam engine, and the light bulb. In fact, you'll have trouble naming a useful creation that didn't create more demand for itself (and the products of the businesses that used it) once it 'satisfied a need'.

And that's one reason why as software engineers we contribute to open source, help each other solve problems, and open up the field for new engineers. It directly hurts our bottom line to be secretive, stingy, and fearful of competence in others. Collaboration, rather than competition, is the name of the game. Because every time an engineer is successful in making something useful, ANY engineer, YOU get a pay raise.

So no. Software engineering isn't going out of style. It's never too late to jump in. And it's in my economic best interest to encourage you to do so.