My musings on why it might be the time to start looking for a new profession if you are a software engineer?
You know how in the early 20th century pilots were like heroes? It was extremely dangerous to fly planes which were highly unreliable. Most of the time, only true adventures would learn how to fly a plane and become a pilot.
Then, fast forward 50 years and during 1950s, we started to have first commercial flights. It was still prestigious to become a pilot. If you remember, Catch Me If You Can, the villain played by Leo DiCaprio used pilot’s uniform to instill more trust in other people so he can cash fake checks.
In the 21th century, most airlines don’t make much money and they operate on a slim margin. The pilot’s job has become a commodity: there are a lot of schools and you need to study many years to become a pilot, but you get paid not that much more money than a bus driver. Autopilot is doing most of the flying except for landing and take offs. Airlines constantly merge and layoff their staff. Most of the times the attire is not as sharp as we see on pilots in movies, old newspapers and posters.
I believe almost every profession or trade undergoes a few cycles not dissimilar to the famous adoption curve. There are five steps, but I’ll simplify it to just three:
- In the beginning, there’s very little reward but a high entry barrier
- In the middle, you get most benefits from the wider demand for a certain skill and it’s less risky and less troublesome to get started in it
- In the final phase, you get even smaller barrier to entry the profession: there are a lot of known paths, schools, books, best practices. Then also the tools and equipment becomes better than in the first two phases. However, the demand and the benefits to an individual from that profession diminish compare to what it was in the middle phase.
After the third phase, the profession become a commodity. It’s not necessarily a disaster for people in this trade, but it’s certainly not a rarity. Then, the profession can event disappear completely! I’m sure you can come up with some examples that disprove my little theory, but before you do so, let’s take a look at programming.
In the 1950s, programming was close to science. A typical programmer had background in math or physics. They were white lab coats and most likely possessed PhDs. Oh yes, they worked on large mainframes, not personal computers.
In 1980s, think Steve Jobs and Bill Gates. They didn’t had to have science degrees (but most of them still did), and wore jeans and shirts. The aforementioned founders of Apple and Microsoft were treated like celebrities.
The programming has become easier than it was 10 years ago. Nowadays, you can learn programming in 2 months at a dev bootcamp, and wear jeans and T-Shirts to work. You can even work remotely from anywhere in the world. The barrier to entry the profession is the lowest it has ever been in its history.
However, programming has become a commodity. You can hire a freelance developer for $5 per hour… yes, I know that experienced software engineers in Silicon Valley and San Francisco can easily make $150,000 per year in salary but that could be attribute to a bubble.
Now, it’s trendy to be a programmer thanks to The Social Network and the new wave of app billionaires and millionaires. But how long will it continue? My personal observation, being in the industry for 14 years, and the adaption curve shows than programming won’t be in such high demand indefinitely. The demand in Silicon Valley drives innovation in frameworks, tools, programming languages, and platforms, while the supply increases by dev bootcamps (factories of good habits) and layoff in other industries. Soon, we’ll see the changes in the trade:
- Programming will become even easier, maybe it’s be as easy as a drag and drop or what you see is what you get editor, or something akin to Excel spreadsheet formulas/macros. It’ll be a common place to switch to a software engineering from let’s say being a violin player.
- The demand will go down or shift in nature, because there would be better frameworks, languages and libraries which will automate a huge chunk of manual tasks and coding. For example, Twitter Bootstrap, Cloud Computing and PaaS (like Heroku), Ruby on Rails, WordPress, etc.
- The salaries and prestige will drop down because of the lesser demand and ability to outsource internationally (programming like no other manufacturing job is easily outsourced).
What is the next thing will be in 2030–2050 which will be as adventurous and unexplored as programming and computers were 50 years ago? Or maybe programming (especially programming of AI) will be the last job not replaced by robots?
Microsoft MVP | Book and Course Author | Software Engineering Leader
To contact Azat, the main author of this blog, submit the contact form or schedule a call at clarity.fm/azat and we can go over your bugs, questions and career.