Should you learn to code? The answer might surprise you!

May 27, 2022
David Turnbull

No, you probably shouldn’t learn to code.

Okay. I realize an answer like that needs to be backed up with some solid reasoning. But the truth is, this is a bit personal for me. When I was stuck in my old job and dreaming of a career in tech I assumed I needed to learn to code. That assumption led to a lot of wasted time and had some negative knock-on effects down the road. Let me explain.

It’s almost universally taken for granted that learning to code is a “good thing” to do. If we’re talking about teaching children at school then sure, that may be true. But life as an adult isn’t so black and white. We have responsibilities. There are trade-offs and opportunity costs to every decision we make. Any time we spend on one activity will necessarily take time away from everything else.

If you’re a hardworking professional with dreams of changing careers then I’m going to assume you have a full calendar of work, family, social events, exercise, travel, relaxation – it’s a long list. This doesn’t leave a lot of time for learning, and if you want to learn to code, you definity need time. Are you prepared to give up your weeknights and weekends to learn the intricacies of object-oriented programming?  

But you know what, I think I’m getting ahead of myself. Yes, it takes a lot of time to learn to code. But let’s start at the beginning. Do you even want to learn to code? 

Do you want to learn to code?

Back when I was looking to break into tech it seemed like everything I read was telling me I should become a software developer. So I spent months trying to learn to code. And you know what? It was ok. I didn’t mind doing it. But I certainly did not want to write code all day, every day, as my full time job. Technical roles like programming or data science are not made for everyone. They suit certain personality types. Coding wasn’t for me, and it cost me a lot of time and resources to realize this.

We need to step back and think of the ultimate goal here. You want a rewarding, highly-paid tech career. What’s the best way of getting that? Should you start from scratch, giving up all that career capital you’ve earned, so you can learn to code? Or should you leverage your existing skills and experience? 

Starting from scratch vs leveraging your experience

Time for an example. Imagine you’re a corporate lawyer who has been climbing the ladder but dreams of doing something else. You’ve reached the point where you would rather drink paint than spend another year with your firm. Would it be wise to spend every moment of your limited free time, plus many thousands of dollars, for the chance to compete against the latest batch of Stanford computer science grads for a junior engineering role that pays around $100k per year? 

Consider the alternative. You spend a small amount of time getting up to speed on the core concepts of the tech industry, and then find a nice in-house legal position at a leading tech company paying $200k per year. If you then decide you don’t want to be a lawyer anymore and would rather try something else – that’s not going to be a big deal. You will have gained valuable industry experience and a network. You might be able to retrain within your current company, or jump to somewhere else. Either way, you’ll be in a much stronger position.


My example mentioned money, and it is worth talking about this in more detail since it’s a common topic whenever people talk about working in tech. Yes, top engineers can make amazing salaries – well over $500k per year at places like Netflix or Facebook. But they are the top, the premier league or NBA or whatever sporting analogy you prefer. You’re not going to get there after taking a 12 week coding bootcamp. We’re talking about people with years of experience, the kind who grew up spending their teenage years inside programming. That’s who you’d be competing with for the highest paying jobs. The more realistic entry level or junior positions will pay less, usually anywhere from around $80-120k per year in the USA, and less in other countries. If that’s more than you currently make then I can understand that it will be appealing. But if you are already far up the career ladder and making good money then an entry level coding position is probably going to be a step down for you. Can you afford to earn less and still pay your mortgage, your children’s private school fees and so on? These are serious questions you need to consider.

But I want to learn to code!

Now a few of you may be shouting at your screen “but I want to be a software developer!” Okay – that’s a little different. If you’ve done your research, gone through some basic coding courses to try it out and are comfortable with the potential salary and work then I won’t argue with you. But please make sure that you’ve really gone through that process. Do some short free or paid coding courses to get the basics. Spend 8 hours on a Saturday or Sunday writing code. If you don’t feel like leaping off a bridge at the end then yes, coding could be the path for you, so go for it.

Use your time wisely

But for everyone else, learning to code probably isn’t the way forward for you, and if your goal is to work in tech there are far better ways to apply your time. What you should be doing is building up a foundation of knowledge in tech and its core concepts and jargon, as this will actually help you perform in your new tech job. Learn about the industry – the major companies, their products, categories like mobile, SaaS, cloud, understand how software is made and brought to market, how companies grow. 

David Turnbull
Founder of Metamorphous
Since changing careers to tech in my late 20s I've worked in B2B SaaS growth and was a partner at an ecommerce company that was ultimately acquired.

You can work in tech.
I'll show you how.

Join my free newsletter. Every week I'll send you free resources & actionable advice to help you make the move to a rewarding, highly-paid tech career.