Originally I answered this question on Quora and it caused quite a ruckus. I figured you’d get a lot of value out of it in a new, better edited form.
It also has been published in the Code Career Genius Newsletter as Issue #3. Go ahead and subscribe at the end of the article because there is a lot more where this came from.
Let’s get to it!
“What is the best skill for a software engineer to have for the next decade?”
There is only one skill you need to have for the next decade and it isn’t technical at all. It’s something else entirely.
Let Me Explain…
There once was a guy at a party talking to his friend who was an outstanding artist. He asked his friend, whose art was on display, “How do you make such great art?”
“I paint every day,” his friend answered.
Paint Every Day is the best skill you can have as a software engineer.
I don’t mean physically painting every day. What I mean is, you need to take focused time to practice your skills and learn something new every day.
The best software developers I’ve ever met are always building something on the side. They always try new languages, design ideas, and technologies.
They Are Continuous Learning Machines
They Paint Every Day metaphorically speaking. Just like the artist did.
The system of honing your craft every day builds giant gains in knowledge, experience, and ability over time.
Do You Write C?
The field of software is always changing and evolving. The odds are you will need to learn a new language, framework, platform, or technology every decade.
For example, when I started learning to code about two decades ago, I learned C. I haven’t written anything meaningful in C for over a decade. Now I spend all day in Ruby and Rails.
I have no idea what language, tools, or platform I’ll be working on in a decade. I know that I’ll keep learning every day so that it won’t matter what the language, framework, or platform is.
Anyone saying a particular language, skill, framework, or platform is the best is giving you bad advice. If you learn web stuff today and soon all the opportunity is in VR, well you might be out of luck because you put all your chips on the web.
I Don’t Bet On A Technology Or A Skill To Get Me By… I Have A System
My system is to Paint Every Day and improve my skills. Sometimes I am working on learning a language, framework, or platform. Sometimes it’s design, management, leadership, marketing, or other obscure things.
Recently I’ve been doing a lot to build this website and teach code to a lot of people. It all adds up to me being more valuable and employable over time.
Continuous self improvement and learning is the real skill to master. A particular technology or focus is just a detail.
Focus On The Bigger Picture
What is the masterpiece you are creating? Did you work on it today? Will you work on it again tomorrow?
Think it over. Let the concept roll around in your head for a while until it takes root.
If you need to dig deeper into this idea, The Slight Edge by Jeff Paul is an excellent book along the same lines.
Paint Every Day!
That’s the best skill to develop for this decade or any other.
What are you doing to Paint Every Day?
Whatever it is, keep at it.
Victory will come.