Is coding hard to learn?
The short answer to, ‘is coding hard to learn?’ from my experience is no. The actual code itself isn’t the most complicated concept. In fact, coding concepts are ones that you have experienced and practiced in your daily life.
What makes coding hard to learn however is being able to hone in on the skills that it takes to learn to code. From my experience, there are four critical attributes a person needs to hone in on in order to learn to code. I call them the four P’s:
- Patience
- Pursuit
- Passion
- Path
Let’s dive in! 😊
Patience
Patience is the first crucial skill that makes coding hard to learn. I know, hearing that you need patience is like nails on a chalkboard.
We all want to learn what we need to in three months and then get a job and change our lives in an instant.
New car, new house, pay off bills, pay off debt, try some new flavors of top ramen.
That will happen, I promise, but I want you to understand the complete picture of what to expect on your journey. This is the analogy I like to use:
The Language Analogy
When learning to code you will literally be learning multiple new languages. If you are an English speaker I would relate it to learning Spanish or another Latin-based language that shares similar qualities.
But in actuality, you will be learning how to take our human language and talk to computers with it (kind of amazing!).
If you have ever tried to learn another language then you know exactly what I’m talking about.
In a week to a month you will be saying ‘hello’ and ‘good morning’, but to actually dive headfirst into the country where that language is native and be able to live, is much further out of reach.
This is like your first moments of coding.
In the first weeks, you will learn about variables, functions, and simple computation. You will write what we call ‘hello world’. So just like learning how to say “hello” in Spanish, you will learn how to say “hello” in code!
Then after about three months to six months, you could live in that country but there would still be an uncomfortable language barrier. Just like getting your first job as an entry-level software engineer. You will be able to edit and add a few lines of code here and there, but the codebase as a whole will still seem like a swarming black hole of chaos.
The next 1 to 2 years in it would become so much more natural and native. Just like as you grow to become a senior engineer and take on bigger parts of the code base and maybe even create some new features!
Then, of course, after 7-10 years you are practically native. You know almost everything there is to know about code to take on the world.
As I said above, in three months you could be starting your search for your first job but there is so much more ahead of you that will require a lot of patience to get to the day it stops feeling like you are treading water every second you are coding.
But trust me, the increase in pay at your new vocation, the benefits, work-life balance, etc will all will be worth it.
Soon enough you will be slinging code with the best of them.
Examples of javascript ‘hello world’:
console.log('hello world!') <- simple 'hello world'
let greeting = 'hello world!' <- variable
const say_greeting = (your_greeting) => {
console.log(greeting)
} <- function
\/ invoking a function and passing in variable
say_greeting(greeting)
output: 'hello world!'
Path
One major factor that helps in easing the mountain before you is to have a path.
No path = coding hard to learn
This is a good bit of advice that I would recommend in any aspect of your life not just your software engineering path but every other aspect of your life. Trust me it is a game-changer to have goals and a path in life even if it changes and morphs along the way.
A short anecdote: If there are two workers at the same job and one has a plan and a reason they are at that job, that person will not only reach their goals but also continue to succeed.
Person A who has a plan wants to buy a house, use the experience to get the next job, or get a certain title to then use it to get a pay raise by moving to another company. Person A will get more out of that job, move on to a better job, and progress healthier in their career.
From the book: The Science of Getting Rich by Wallace D. Wattles
In software engineering at the base of your mountain, you are going to want to pick your trail up the mountain.
Your plan could be as simple as this:
- Join a Bootcamp
- Build a great resume
- Apply for jobs like crazy and land your first junior engineer job
Just having that laid out for yourself will be a game-changer– especially when you are in the thick of climbing a mountain.
It is vital to have checkpoints along the way and things to look forward to, or you will stare up at what is left and want to let go.
I’ve seen it happen a million times. In fact, most people that read this will probably not continue on. It will seem too big to even start. But that is really good news for you. That just means less competition when it comes to looking for a job.
Pursuit – the ultimate tool to make coding not hard to learn
This is one of the top skills to have. I would probably put it at the top of the list as the most needed skill in software engineering. If coding is hard to learn for somebody it is probably because they are lacking this.
I’m not kidding.
This is the most important part of this post don’t skip it, don’t pass go, print it out, put it on your mirror, and remember this if you don’t remember anything else I have told you today.
You must always be able to pursue the answer.
– Debugging Diaries
This is the make-or-break characteristic of a software engineer.
At the end of the day, you are an engineer. Your job is to, on your own, creatively problem-solve. When it comes down to it, you will be able to use Ai to write your resume, maybe write some code for you, maybe able to copy and paste some stuff from stack overflow, but it will not be able to sustain you for your career. I promise™.
At some point, the boot camp will end and you will have to self-teach yourself. Even at the boot camp, they are simply facilitating self-education. When it is over you will have to be able to teach yourself the next thing, or when you sit down at your first job you will have to be able to learn a new codebase that is written entirely different than how you saw code at your boot camp.
I recommend starting to self-teach yourself as early as possible in your engineering career. Maybe before your boot camp, go to freecodecamp.com or The Odin Project and run through some of it. Or even get crazy and try to build a simple app yourself with HTML, CSS, and Javascript. Honing in on this skill will affect your journey immensely as a software engineer.
Passion
I know, I know, you have heard this your entire life and you’re like, “dude I think loving what I do is out of the picture by now, I’m just trying to find a good job so I won’t have to eat ramen and scrape to pay rent.”
In the end, you are going to be happier eating ramen until you find another vocation that feeds your soul and makes you a new increase in salary.
It is very hard to do the above three points if you have no passion for problem-solving, creativity, science, computers, or using software to provide value to people’s lives.
I will say, it is entirely possible to find your passion for those aspects as you develop your engineering skills. So don’t be scared if your passion for software engineering doesn’t illuminate itself like a light beaming out of the clouds right now, you can find it along the way.
However, I will say keep your eyes up and search for your passion because it will help drive you up that mountain. This is another one of those that I say will help in life in general. Always keep your eyes up and look for your passion in what you are doing.
Is coding hard to learn?
Aight if you’ve made it this far id say you are actually probably pretty interested in software engineering and you are already showing signs of pursuit. If I was to put my money on you right now. I would.
Is coding hard to learn for you? I think it already will be easier for you than others.
All of the above comes from my years in this industry meeting tons of engineers, hiring them, working with them, and also from me forging my own very personal path.
After all that being said.
Your journey is your own.
I can write from experience all day long and you can go read every blog post and watch every video but in the end, your path will end up uniquely your own. These tidbits are only here to hopefully start molding that path.
In the end, the biggest piece of advice I can give over everything above is:
That seed of wanting to start this path of software engineering was planted in your heart for a reason, so follow it.