See the YouTube version of this here.
If you're reading this now, you're most likely in one of two camps:
- You are considering a career change and want to become a software engineer
- You are on the path to becoming a software engineer but are having second thoughts about it
I'm not sure if this is a motivational post, sales pitch, or just a quick moment of reassurance to help you push past your anxieties and fears, but in the next few minutes, I'm going to explain why I think learning to code is worth it. No matter what.
The 1st Hurdle: Learning to code is super difficult
Let's cut to the chase--Learning to code is agonizing. Even if you're learning "the easy stuff" right now, teaching your brain to speak another language is extremely difficult. It also doesn't help to see developers all over the web doing what you want to do and making it look easy (even though in reality, these developers probably pulled their hair out trying to get that "easy" thing to work). So let's not delude ourselves for one minute and accept the fact that learning to code, no matter what your age, is one of the hardest educational challenges you will face in your life.
But here's the thing. Most developers don't enjoy inflicting pain on themselves; they simply have a compelling reason to keep pushing through the challenges. Here are a few possibilities:
- You want a higher paying job
- You want a job that allows more personal freedom
- You want to bring your ideas to life
- You want to have more marketable skills
- You want to automate your current job (for real though...)
Whatever your motivation, if you value your comfort more than your reason for learning, the difficulty of learning to code will probably get the best of you; especially if you are going down the "self-taught" route.
I went down this route myself, but to me, having "future proofed" skills and the ability to create the ideas sitting in my head were much more important to me than spending years having no clue what I was doing (hint: I still have no clue what I'm doing sometimes after 4 years).
I'm not typically a motivational speaker, but this is your quick reminder to re-establish why you decided to learn to code. When you are on hour 3 of trying to figure out why Webpack won't compile your Angular app, this "why" really needs to be there. That said, if you're on hour 3 of trying to figure out a Webpack configuration error, you probably need to take a walk or go to sleep. Just don't give up on it for good.
The 2nd Hurdle: I'm not cut out for this
You're too busy. Too old. Not smart enough. Don't have a "passion" for it anymore.
With a quick YouTube or Google search, I'll find you 10 people who have shared their story of overcoming all these. Most likely, you'll face more than one of these at some point. In my case, I began learning to code while majoring in Finance and playing college golf. I was REALLY busy. But I still woke up and put my hour in every morning before the commotion of the day started. Once I graduated and my schedule freed up a bit, I realized that the fire and determination I had started with had faded away. For several months, waking up and putting in the hours wasn't all that exciting. Even now, I look at all the crazy things that other developers are creating and wonder if I'll ever get there.
While I don't want to be unrealistic and say that everyone has the potential to learn to code, I do think that if you are decent at figuring things out on your own, have a laptop, and have the patience to sit in one spot for several hours, you've got all that you need. And if you're reading this post, I'd guess you probably have what it takes.
The 3rd Hurdle: But won't programmers be automated in the future?
In late 2020, you can create a personal website in a few clicks. You can create an e-commerce store in 1 day. You can even code a web app with... Get this--no code at all.
That last one even stirs me up a bit thinking about how the NoCode revolution might disrupt the way we write code. If I'm being honest, it angers me a bit to think that I just spent 10 months developing a web app that someone without my skill could have done with a NoCode solution such as Bubble. This person would have to pay a lot more than me, wouldn't be able to customize their solution as much, and would be heavily relying on another company (that could fail) to run their web app, but talk about leveling the playing field!
I'm not interested in trying to predict the future (I've read too many Taleb books to go there), but it doesn't take a fortune teller to see that some of the things that software engineers were employed to do 10 years ago have already become obsolete. Furthermore, some of the things that I have learned in the last 4 years will be obsolete at some point too.
Here's why you shouldn't worry about this
So... Why would you learn to code a website or web app when people can just use Wix or Bubble to do it themselves?
Here are my two arguments for why learning to code is still worth your efforts despite all the automation going on today:
- Nobody writes bug-free code, which means that no matter how abstracted software development becomes, there will ALWAYS be a need for people who can speak the language of computers. In other words, even the "NoCode" platforms that allow non-technical users to develop web apps are written in... Code. And they aren't written perfectly. If you go to the careers page of any of these solutions, you'll see that they are hiring developers because they need people to write the code that will write the code (a bit of inception there for you).
- When you learn to code, you're fundamentally changing the way you think, and this is worth your time alone. Sure, you'll probably learn a few technologies that go obsolete in a few years, but that is not what learning to code is about. There is a huge difference between learning to code and learning a technology or coding framework such as Angular or React. Learning to code allows you to teach a computer how to do something, which is not only valuable in the software industry. This skill is valuable in ANY job you have (I know this because I've automated a lot of my work in my Finance job).
Like I said, I'm not interested in predicting the future, but I am confident in telling you that even in today's world, learning to code is 100% worth it. You'll take a slightly different path than you would have if you started in 2010, but there is nothing wrong with that. Do not let fear of obsoletion prevent you from starting--you'll regret not taking advantage of the opportunity.
The 4th Hurdle: All the other excuses
If we all exerted all of the brain power we use coming up with excuses to learn to code, we'd probably have a lot more software engineers in this world. This section is short, concise, and will probably sting a bit.
If you seriously want to learn to code, there are VERY FEW valid reasons why you can't. At this point, there are endless resources (many of them free) for learning to code. My suggestion is that you make this the last persuasive post you read and commit yourself to 1 hour a day for the next 90 days. If you don't know what to do for those 90 days, take Harvard's CS50 course (you cannot go wrong with this).
You may not get a job out of it, you may end up hating it, and your self-confidence may get beat up a bit (mine sure did). But even if these worst case scenarios happen, I guarantee you that you'll find a silver lining after the fact. If anything, you'll see the world differently and get better at your current (non-coding) job.
If you liked this post and want more...
A few extras to keep your journey moving: