Many software developers (even back-end engineers) today spend more time on user-interface (UI) issues than on any other aspect of their jobs. Why? Because UI has no “right” answer (at least until significantly A|B testing) and can be tweaked 100 ways until Sunday. UI/UX is becoming the biggest source of time for most engineers.
If you could bet on a 16 year old and get a percentage of their success for the rest of their life, what factors would you look at?
the factors that come to mind are:
1. have an intense ambition to be more successful then both parents
2. higher than average introspection
3. ability to be proactive (started a club, created a course of study for themselves, etc.)
4. be more concerned with understanding schoolwork than with grades
learning how to code is not going to be as important in the next 30 years as it has in the last 30 years
We’re quickly moving to a new world where the wealth gap is compounding and increasing. We’re moving to a world that is going to look a lot like Hollywood: a few people enjoying insane success … and everyone else spends their days waiting tables.
The delta between A-players and B-players in companies has always been high. A-players get promoted faster and they earn more. My guess is that an A-player earns about 30% more than a B-player in that same position for most professions. An A-player administrative assistant usually can earn about 30% more than a B-player in the same position. That’s a significant difference and even more when you compound that difference in savings and lifestyle over the course of one’s career.
In some professions like sales and entertainment, an A-player might earn 300% more than a B-player and essentially live an entirely different lifestyle. In the future, everyone’s jobs will look more like salespeople.
Let’s focus on the profession I am most familiar with: software engineers.
Today, an A-player software engineer has a lot more job prospects than a B-player. That seems obvious. But there are plenty of B-player and C-player engineers that work at great companies and get paid well. Their services are needed and important. And while they don’t make the contributions that an A-player makes, they still are very valuable to a company and have a lot of importance to the success of an organization.
But things are changing (queue in the Darth Vader music).
There are three forces that will drastically change work, compensation, and our value to each other forever:
1. A productivity boom will automate B- and C-player work
2. Globalization will commoditize B- and C-player work
3. A-players can have much more impact
The productivity boom will automate your job.
Everyone is massively more productive today than they were just a few years ago. A salesperson can use tools like Salesforce.com to track customers, LinkedIn to find prospects, and they can easily call and send documents from the road with their iPhones (unless they are on AT&T). The Internet makes all of us extremely productive and automates parts of our jobs.
In the 1990s, I was a software developer and I remember writing a script to determine if a string was a valid email address. It took about 12 hours for me to write. First, I had to research what could and could not be in an email address (dashes are ok, commas are not, only one “@” symbol, etc.) and there were a bunch of corner cases that I had to guard against and test against. After coding into the night, I finally came up with something I was proud of.
Today those 12 hours of work would take about 1.2 seconds. There are hundreds of libraries that have been written by really smart people and tested by thousands of programs. All one has to do is plug one of them in. It is simple, easy, and effective. Now I can spend the remaining 11 hours, 59 minutes, and 58.8 seconds on something more useful.
Thanks to the open source trend, even complex projects are free and quick to set up. My company, Rapleaf, runs all of its systems on an open-source framework called Hadoop. Hadoop is something that took hundreds of thousands of hours to build. And we get access to this software for free.
All this means that it is faster than ever to implement good ideas. Instead of investing resources in implementation, companies won’t need as many engineers to get a project done. And if implementation is cheap, companies can spend more on ideas instead.
Globalization will commoditize your job.
There used to be a few people in your town competing for your job. All you had to be was better than those few people and you were golden. And even if you were not the best, you were still needed.
Today there are millions of people competing for your job. While there are very few amazing developers, there are millions of good ones. There are tons of people that can write decent code, integrate with APIs, and get stuff done. And they are all over the world and they want your job.
And globalization will continue to accelerate. Historically, the biggest missing piece to stopping a world where you can be outsourced at any moment was the technology to collaborate. Today it is massively easier to collaborate in person than through any other medium. But that’s changing.
Even simple tools like ubiquitous video conferencing via Skype, project management systems (like those developed by 37 Signals), and easy screen captures have made a world of difference. Many more communication solutions will be developed — and once we can easily collaborate with someone 12 time zones away, then your job can be more easily outsourced.
A-players can have much more leverage.
At the same time, the value of A-players will rise exponentially. The typical A-player spends 5% of her time today figuring out what needs to be done, and the other 95% executing it. When I started working on my script to detect valid email addresses, it probably took me a few minutes to figure out what I wanted, and then hours to actually get it done.
But imagine a world where execution is cheap and fast. An A-Player can implement dozens of ideas in the time it now takes to implement just one.
That means the people who can figure out what needs to be done become much more valuable.
So, I can be outsourced. Now what?
Over the next generation, we are moving to a world where most (like 90%) software developers will earn a decent wage (say $50k/year) and a few (like 10%) amazing developers will earn over $500k. Yes, the income distribution for the same profession of people who went to the same university and had the same SAT scores could actually be that stark.
I want to point out that I’m not advocating that this divergence in compensation happen. I’m not. It has the potential to fracture society. And it seems like it will massively reward people that have lucky breaks. But I’m worried that regardless of how we feel about this growing division between the A-players and B-players, it will happen anyway.
This stark division is already happening at companies like Google. Most engineers there have similar backgrounds and all get paid well. But a few of the amazing engineers earn compensation over ten times the average. Yes, 10x. One day, every company will look like Google.
So what do you do about it?
You must be the Jedi Master of your profession.
Unless you are awesome, you will be commoditized.
Here are some things that will be less valued in the future and some things that will be more valued:
|General knowledge||Judgment||Search engines will be attached to our brain
|Knowing more than one major spoken language
||Sales in any language||We’ll have universal translators|
|Coding||Art||Building things will be much easier. Designing aesthetics will always be hard.
|SAT scores||Combining left-brained and right-brained thinking
||Systems-thinking will be easier to outsource|
|Majoring in business||Majoring in philosophy||Learning to “think” will be more valued that just learning
Special thanks to Jeremy Lizt, Paul Santinelli, and Travis May for their help in writing this.