Self-Taught Coding - 5 Things to Get You Started
Have a strong why
In 2018, HackerRank published its Student Developer Report. It found over 65% of new developers are self-taught.
With new resources popping up, this percentage is likely to have increased. And with all these resources, the choice can be overwhelming. Where do you begin if you want to start coding?
Here are five things you need to know about self-taught coding.
#1: Start With Why
There’s coding to create things and there’s coding to get a job.
Neither’s right or wrong. The difference is motivation.
Intrinsic motivation is performing a task because it's rewarding to you. Extrinsic motivation is completing a task because of external factors. Such factors include avoiding punishment or receiving a reward.
Many studies suggest intrinsic motivation leads to more positive outcomes.
Think about your reasons. Why do you want to start coding? Be honest with yourself. Are you trying to get a promotion? Are you looking to change careers? Do you want to create the next big app?
Your answer can help you decide which programming language to learn, as well as the sort of commitment it requires.
For example, if your dream is to create an operating system, you could benefit from a formal computer science education. This would teach you complex topics like algorithms and data structures.
If you’re a professional looking to get into tech, a coding bootcamp may be the way to go.
If you want to build websites, YouTube tutorials could get you going.
The reasons to start coding can be varied.
#2: Start Small
Once you figure out why, you can pinpoint which programming language to learn.
While there’s no single “best” programming language, some languages are more user-friendly than others. HTML and CSS are considered the easiest entry points into the coding world, but their uses are limited. They can’t do much beyond creating the interface of websites.
Once you’re comfortable with a programming language, you’ll be able to pick up the next much faster. It’s like learning an instrument.
#3: Try Online Courses
If you want more control over your self-taught coding, online courses can help.
However, there are many classes that teach the same language. It can be hard to figure out which ones are worth your time and money.
If you don’t mind practising solo, check out The Odin Project. This free option pulls together some of the best open-source content for turning coding newbies into self-taught programmers.
Udemy courses by Dr Angela Yu are good options too, as are the courses from Zero to Mastery. Even full-time bootcamp and computer science students sign up for these classes to supplement their learning.
#4: Be Consistent & Reward Yourself
Be specific and be consistent. One hour of learning every day is better than 15 hours in one day. If you can plug coding into a morning routine, go for it.
Also, set weekly goals to hold yourself accountable. Studies have shown that people who consciously set goals are more likely to achieve things. And people who go the extra mile of writing down those goals are most likely to get things done.
What do you want to be able to do at the end of the month? How will you structure your self-taught coding to achieve that?
Write it down.
You could also reward yourself. For example, put a whiteboard in your room and mark a cross every day you code. Try to get as many Xs on the whiteboard as possible without breaking the chain.
“You don’t need a unanimous vote to win an election; you just need a majority.”
“It doesn’t matter if you cast a few votes for bad behaviour or an unproductive habit. Your goal is to win the majority of the time.” — James Clear
At the end of the week, if you’ve got seven crosses, reward yourself. It’s like your own loyalty program. Maybe you could buy a book or save for something special.
#5: Build Something!
With self-taught coding, it's easy to get stuck. Some call it "tutorial hell". This is where you watch tutorial after tutorial without ever getting your hands dirty. It happens to a lot of newbies.
Building projects is not separate from the learning phase. It’s best to combine the two. This is why I recommend learning resources that feature code-along projects. (Make sure to code along and not just watch!)
One way to practice is to think of features you can add to the project that you’ve coded. Build something with the knowledge you’ve gained.
It doesn't have to be fancy. The most important thing is that you write code, run into errors, and find out how to debug it. Practice solidifies knowledge. One completed project is better than watching ten tutorials.
Google is your friend. If you can’t figure out why your code is broken, look for solutions. You’re probably not the first person to make your mistake, and someone on the internet has probably found a solution to your issue. Just “copy and paste” your error message into Google, add a pair of quotation marks around the entire phrase, and hit enter.
If you’re still having issues, you can always post your question on developers’ forums like Stack Overflow, Reddit’s programming subreddit, or GitHub.
No matter how many coding workshops you complete, or how many programming languages you learn, the proof of your coding skills will be in your programming project.
While your personal project doesn’t have to be as ambitious as creating the next Google Maps, it should be something you’d want to work on 24/7 to constantly improve and expand its scope.
So there you have it. Those are some ideas to get you started.