We only partner with brands that we know and trust. If you use our links to buy a product we may make a small commission at no extra cost to you. Thank you for supporting HHT!
As a lifelong perfectionist, learning to code was probably one of the most daunting tasks I ever attempted.
I wanted to learn everything all at once and grasp all the concepts instantly. 3 guesses on how that turned out.
But along with my failures in learning to code (and there were many, make no mistake), I picked up a handful of good learning habits.
Learning to code is a skill in and of itself, so it's important to make sure that you're approaching your learning journey as such.
To help you get started with that, this article covers 11 battle-tested tips and tricks that can help you optimize how you learn to code.
1. Prioritize Learning Important Technologies
Figuring out which technologies are the most important for your goals is step number one.
A survey from Statista shows a huge number of front-end frameworks available to developers now
It can be daunting to have to sort through the sheer amount of choices that we, as developers, have for our tech stacks.
It would be impossible to attempt to master everything, especially if you're early on in your learning journey, so prioritization is key.
Whatever your goal is with coding, there will always be fundamentals that you need to start learning from the get-go.
I'd recommend that you take some time to look into which technologies matter most in the area of tech you like before diving into programming tutorials.
A great place to find this information is with developer roadmaps, which ties in perfectly to my next point (almost like I planned it that way… Crazy, huh?).
2. Chart Out Your Learning Path
A learning path or roadmap is the foundation to your learning journey – without one, it's very easy to lose track of long-term goals and potentially overlook important concepts.
Roadmap.sh publishes fantastic (and free!) roadmaps for lots of different areas of software development.
There's also no need to re-invent the wheel, here – plenty of very smart people have gone ahead and structured roadmaps for pretty much every niche in software development.
The image above, from roadmap.sh, is a particularly well-known example but it definitely isn't the only one.
Here are some other good roadmap examples:
- Web Development Roadmap – W3 Schools
- Full-stack Engineer Learning Path – Codeacademy
- Web Development Roadmap – freeCodeCamp
- Data Engineer Roadmap – datastack.tv
- Machine Learning Engineer Roadmap – kaggle.com
In general, I'd still recommend tailoring these resources to your needs.
Pre-made roadmaps won't exclude any concepts that might be irrelevant to your learning journey because their goal is to be as widely applicable as possible.
3. Keep A Consistent Schedule
Keeping a consistent schedule is going to be your best friend when learning to code.
The reasoning is simple:
You can't cram coding knowledge into your brain quickly. It takes consistent work spread out over days, weeks, months for all that information to settle.
A schedule will help you stay consistent with your learning, and can also help you make sure you cover all the concepts you need to learn within your ideal timeframe.
4. Have An End Goal In Mind (A “Why”)
Everyone's “Why” for learning to code may be different, but having one will probably (definitely) save you at one point or another as you learn concepts, apply to jobs, and so on.
The tech industry is hard enough to break into even if you have a CS degree, great internship experience, and impressive side projects. It's still not guaranteed, even for people who have those qualifications.
In the moments when you've received yet another rejection letter, or just can't seem to get your portfolio project to work, you're going to need a reason to keep pushing through.
Luckily, your “Why” doesn't have to be complicated or special.
Mine was pretty simple: “I want a cushy job and a career that keeps me interested.“
If you're honest with yourself and you vocalize your real motivation behind learning to code into a “Why” statement, it can be a saving grace down the road when you're in need of motivation.
5. Take Time To Set Up Your Coding Tools
Now, before you go on a office shopping spree thinking “Ben from HHT told me it's ok!”, hear me out.
For this point, I'm specifically talking about the software and office tools you'll need to effectively learn to program.
In my experience, this means several things:
- Integrated Development Environment (IDE) – a software that allows you to build and test code; the industry standard is VS Code, a free IDE developed by Microsoft
- Desktop or laptop – this is a given, since you need a computer to be able to code, luckily it doesn't need to be all that powerful unless you plan on running graphics-intensive simulations (you probably won't)
- Ergonomic mouse and keyboard – your wrists and shoulders will thank me later, especially if you plan on working in coding full-time
- Note-taking app or supplies – coding is a repetitive discipline, and writing (or noting) down concepts can help you internalize material faster
And that's really all you need.
One of the best aspects of programming is how few tools you actually need to create something impactful. You absolutely don't need a motorized standing desk or a fancy new MacBook Pro to start learning to program – let your future tech employer expense those for you 😉
P.S. For the real go-getters out there who need a new to-do item, I wrote an article that goes through how to set up VS Code for software development:
It's not a long post, but will walk you through all the necessary steps to start coding in an IDE, as well as a few tips for web developers on how to make the most out of VS Code!
6. Code Along With Tutorials
Tutorial hell is a real and hard-to-escape phenomenon that all new programmers go through.
For the uninitiated, tutorial hell is an endless cycle of watching and re-watching the same YouTube tutorials with little to no hands-on coding practice involved.
It's comfortable, but ultimately won't help you progress in your coding journey.
What will help you progress is actually coding along with the tutorials you watch, trying the exercises, tinkering with the new concepts that are being introduced.
It won't feel natural at first, and you will definitely have to pause the video once or two to catch up, but that's expected.
You'll get more out of your learning content this way, and you'll be able to progress to increasingly more complicated (and interesting) technologies faster.
7. Build And Tinker With Code Early
Similar to the previous point, building with code is the best way to ingrain the concepts you're learning.
Since coding is a practical discipline, you're learning the skill of programming at the same time as you're learning its fundamental concepts.
This is why most learning paths will include some projects into the mix – it's meant to help you, even though it can be daunting to start new projects.
My advice is to start small, and get used to building mini-projects each time you learn a new concept or finish a unit in your courses.
Shocking as it may be, coding as it's portrayed in TV shows and movies isn't very accurate – who knew, right?
The reality is that coding is a team sport, and collaboration is not only a highly sought after soft-skill for new devs, but it can also make your life way easier.
The more comfortable you are with reaching out to other developers, the better the chances are that you'll avoid making rookie mistakes and causing problems that others have previously done.
There are a few easy ways to get involved with the beginner coding community, and I'd highly recommend the following:
- Post questions (respectfully) to StackOverflow – this is the one website where you'll spend most of your times besides Google. StackOverflow has the answers to every programming question under the sun, and learning how to interact with its community will definitely help you grow as a programmer (just remember to follow the guidelines).
- Join Facebook groups or Discord servers – lots of experienced devs create Facebook groups or servers to help answer newbie programmers' questions, so it's definitely in your best interest to see if your favorite YouTuber or blogger has groups for you to join
- Find Your Course's Community – if you're following a specific course or online bootcamp, try to see if you can access the list of students and reach out to them! It never hurts to make a friend this way, especially when you might eventually need help on a project or assignment down the road
The idea of the lone programmer is a thing of the past. Programming is a team effort, and software teams are on the hunt not just for smart developers but for cooperative ones.
Get used to breaking out of your comfort zone and talking about tech with others while you're still learning.
9. Document Your Learning By Teaching
This is somewhat of an unconventional tip, but I stand by it.
From my experience, these are the benefits from documenting your learning by teaching:
- Track your progress over time – having a record of the toughest concepts or problems you ran into along your learning path will help you see the progress you're making. Concepts that used to be difficult will appear crystal clear looking back, and this can be a powerful motivator
- Help others struggling with the same problems you had – chances are you'll advance through concepts at different rates than your classmates or other people learning coding around you, and your materials may be useful to them
- Explaining problems from an teaching standpoint helps you learn faster – there's plenty of research that shows that teaching concepts as a method of learning is effective for long-term retention; plus, it will help you identify gaps in your knowledge
Not everyone is a born-teacher, though, and that's ok.
The idea isn't to make college-lecture-worthy slides or to become a professor emeritus – but, by forcing yourself to explain the concepts you're learning, you engage your brain in constructive ways.
Plus, if you eventually have plans to start a developer blog (a fine idea, if I do say so myself), your explanations to problems or concepts can be the first bit of content you publish online.
10. Remember To Take Breaks And Rest
In case you're wondering what coders look like after a full day of work, it's this – *gestures to the picture above*.
Rest is key not only to allow your brain time to digest the content you're learning, but also to avoid burn-out.
I'd recommend intentionally scheduling breaks and days off (another reason why having a set schedule is a good idea), especially if you're following an intensive course or bootcamp.
I promise (pinky swear) that you'll still be able to learn all the content you need to in time for your technical interviews, with the added benefit that you won't be a zombie on the first day of work.
For the science-inclined, here's some proof from Harvard about why sleep is crucial to learning and memory.
11. Ask For Help (Know Where And How To Do It)
Programming often gets a bad rap for being a competitive, cut-throat industry that only benefits the elite, hyper-focused, reclusive workers who never ask for help.
I'm happy to report that this is not true – it's actually the opposite.
Coding is about collaboration and teamwork, so developing the habit of asking good questions to the right people (at the right time) is a skill that will take you far in the tech industry.
Lucky for you, I wrote a handy-dandy guide on how junior developers can and should ask questions. Check it out here:
Before you say, “But Ben, I'm not a developer yet!”, here's the catch: it doesn't matter if you're not a developer yet, the principles are still the same whether you ask your team lead or someone on StackOverflow.
As long as you do your due diligence before asking someone for help, and show that you've made an actual effort to solve the problem, you'll build good relationships with other coders.
The Bottom Line
You've probably already figured this out on your own if you've begun your learning journey: coding is a really tough subject to learn.
More than that, you never really stop learning, even if you get a developer job down the road.
My best advice would be to develop good learning habits that can help keep you sane and grounded as you learn to code (spoilers, this article has 11 good ones 😉 ).
Have any extra tips and tricks that have helped you learn coding? Let me know in the comments below!