How To Practice Coding Every Day (+ Why You Should Do This)

Andrei Neagoie
Andrei Neagoie
hero image

Are you looking to learn to code as fast as possible and start a daily coding habit, but are worried about burning out?

Or maybe you’ve tried to do this before but couldn’t get it to stick?

Well, have no fear!

In this guide, I’m going to walk you through some of my best tips, strategies, and advice, so that you can build a habit of coding every day (while staying sane) - and fast-track your way to that $100,000+ coding career salary.

Not only that, but I'll also share the research behind why practicing daily is one of the best ways to learn when you’re trying to pick up a complex skill, as well as a super simple 3-step process to implement this information.

This is the exact same advice I give to our students here at the Zero To Mastery Academy, and why we’ve had people change careers and get hired as full-time Developers within just 5 months of starting to learn to code!

It’s also why we have people hitting daily streak milestones like this:

230 days

Believe it or not, that’s not even the longest daily learning/coding streak we’ve seen! (More on this later).

For now, grab your coffee and a notepad, and let’s dive in…

Why practice coding daily?

So why practice daily?

Well, just like with learning a new language or mastering a musical instrument, programming is a skill that requires consistent and regular practice - especially at the start where you’re trying to get past the initial learning curve.

Add in the fact that you’re trying to understand an entirely new skill with concepts that you may have never heard of before, and it can be a lot to process, increasing the time to get to a level where you are competent enough to start applying for jobs.

The good news is that there are solutions to get past these issues, but we just need to be smart with how we approach them.

For example

If we look at the core areas that affect the time frame for beginners to learn to code, there are 4 major factors:

  • Previous experience. Do you have any prior knowledge, are you starting out with some basic computer skills, or are you starting from scratch?
  • The programming language you choose to learn. There's a significant difference in learning curves between different programming languages, with some being great for beginners, while others are more complex to pick up - even if you have prior coding experience
  • The roadmap you follow (or lack of). It’s very hard to learn a new skill if you don’t have specific resources to follow step-by-step. Sure, you can use free resources, but this can be confusing and you might learn outdated information, or struggle to connect the dots (potentially increasing the time frame by years). Or you can follow updated courses and learn in a few months. Depending on what you choose to do, this will directly affect the length of time it takes you to learn
  • And finally, how much time you can invest into learning. Do you have 40 hours free a week, or do you have a job and/or kids?

As you can see, each of these are important and they all have an effect.

The thing is, misconceptions about time are often the biggest roadblock that stops people from doing something.

"~6 months to change my career - that's so much time!"

Or they think because a course is 60 hours, they need to spend 10 hours a day to learn it in a week, and can’t figure out how they’ll find the time and just never start, which is madness.

"Oh, I’ll just book a week off work and learn it all then"

... and it never happens.

The reality is that if you want to learn a complex skill, it's not about the number of hours at a time. It’s total hours over time that make the biggest difference.

In fact, just 30-60 minutes per day, every day, can have a huge compound effect, in terms of stacking new skills, building habits, processing information, and even retaining what you learn.

I’ll get into the science more as we work through the steps, but let’s have a quick look at why daily beats sporadic practice.

A mile high overview: Daily Practice vs. Sporadic Bursts

First off, daily practice leverages the power of habit and consistency. With each day of practice, you strengthen those new neural pathways associated with coding, enhancing your skill and efficiency.

Sure, it’s a pain to get started and form the habit, but it all adds up over time. Not only that, but once a positive habit is formed and you start to see results, you end up sticking to it.

For example

I said earlier that 230 days is incredibly impressive for a daily action, but then I saw this message in our private Discord community, and it blew my mind.

520 days

520 days!

That’s over a year and a half of logging in, learning new coding skills, and applying them - probably long after they hit their initial goal.

So why would they carry on doing this, and how do they get this habit in the first place?

  • Easy to start. 30-60 minutes a day (or less if necessary) is easily achievable, which means it’s a fairly easy habit to start. It’s the length of a single Netflix episode
  • Easy to keep going. Once a healthy habit is formed, you want to keep at it and not break your streak
  • You retain more information. Studies show that you forget 95% of what you learned after 3 days of learning it. However, by reducing the gap between sessions, you retain more and more of that information
  • It’s often a faster way to learn. Small efforts over time are what produce bigger, compound effects
  • The results continue after the initial goals. Once you hit your goal, if that habit helps you continue to the next step, it’s a no brainer not to keep at it

Now, compare that to more sporadic bursts of practice:

  • Overwhelm occurs and effort is wasted. By trying to learn too much too soon, or in an extended period of time (8 -10+ hours) you can get overwhelmed and not comprehend all the information you’re trying to learn. Add in the fact that you can only concentrate for a few hours at a time, and you’re spending wasted effort, while also feeling bad that you’re not understanding the content
  • Increased time between content lowers retention. The longer the gaps between sessions, the less you remember, and the longer it takes to get back on track. 8+ hours every Sunday is nowhere near as good as 30 mins each day
  • Perfectionism becomes procrastination. People think if they can’t spend the perfect amount of time on something, they can’t learn it, and so they keep pushing back sessions further and further - increasing the time to hit your goal, or even simply stopping
  • Habits never form, and you fail. It’s hard to succeed on willpower alone, and your passion will dwindle over time, and you’ll get distracted with new interests

So as you can see, daily practice beats sporadic efforts in almost every metric.

Now that we know why this is the best option, let’s show you how to start putting this into practice.

Step #1. Figure out the real reason why you want to learn to code

I talked before about how habits can beat out willpower, and while this is true, it’s still not perfect.

Unless you’re incredibly disciplined, you still need some underlying motivation for you to reach your goal - otherwise it’s probably going to fail, or you’ll lose the passion to see it through. That’s why getting clear on why you want to learn will help you stick to the goal, and that’s the first thing you need to figure out.

However, people are strange, in that the reason we give to ourselves and what we tell others of why we want to do something, is usually just a surface level answer, and not the ‘real’ reason.

I want to learn to code:

  • For a career switch
  • To build a specific app
  • To challenge myself
  • I’ve always been interested in the topic
  • For the salary!

All of these are valid answers, but they’re not going to get you to stick to your goal. Instead, you need to ask yourself the reason behind that answer, and then reason behind that, so that you can find the deeper motivation that will actually make you do this.

The good news is, there’s a technique we can use that originated in a car company of all places!

Here’s how it works:

Toyota came up with a concept called ‘the 5 whys’, to help them find manufacturing issues in their production process:

  • Identify the problem: Start by clearly defining the problem or issue that needs to be addressed
  • Ask "why?": Ask why the problem occurred and identify the immediate cause. Once you've identified this cause, ask "why" again to uncover the cause behind that cause
  • Repeat the process: Continue asking "why" and digging deeper into the causes of the problem. Typically, it takes about five iterations of asking "why" to get to the root cause, but it can vary depending on the complexity of the issue
  • Address the root cause: Once you've identified the root cause, you can develop and implement effective solutions to address it and prevent the problem from recurring

We can use the same principles to find the real motivations that we don’t share or might not even be aware of, and then use that to help us stick to our goal.

For example

  • Why do you want to learn to code? "I want a better salary." That's a good reason, but not enough to make you do something about it, so let’s dive deeper
  • Why do you want a better salary? "I want more money!" Yeah, money is nice, but why do you want it?
  • Why do you want more money? "I want to buy a home for me and my partner, and stop renting"
  • Why do you want a new home? "So that we can have some peace of mind, and start growing our family"
  • Why do you want to start a family? "So I can raise a child and give them an amazing life!"

Obviously your own reasons and motivations will be different, but can you see how this is far more impactful now?

Not only have we gone from a vague goal of a salary, but we’ve connected a deeper emotional motivation, along with future goals and visions. This is what will help you stick to the first 30 days of the habit, and then the next 30 after that and so on.

It's willpower + motivation + discipline that will make you follow through.


For this step, get clear on your real reason why, and find that North Star of your own.

Step #2. Set your goals and plan the path

So now that you are clear on your motivation and why you want to reach your goal, you now need to plan a path of how to get there.

Mapping this out in advance has a ton of benefits:

  • By planning this now, you’ll be far more productive each day when you’re doing the work
  • You’ll have a path to follow and not have to second guess what to work on each day. You can simply login, do what's needed and tick off your streak. This issue alone is what causes a lot of people to quit as they waste a lot of time in busy work
  • And you have the core steps laid out so you can make sure you learn the right things to achieve this goal

Assuming your learning at home and online, there are only really 2 options:

Option #1. Follow a pre-built roadmap

The easiest and fastest option is to simply follow a course to help you reach your goal.

For example

If you wanted to learn Python because of its popularity, job opportunities, and ease to learn, then you could simply follow my Python course:

learn python

It’s 32 hours of lessons, with 12 projects, and takes you from complete beginner to a level where you can get hired, and do the work comfortably.

You'll not only learn everything you need to know, but you'll also apply it and build portfolio projects that can help you get hired.

As for time investment, the average time for most students to complete this course is around 2 months, which if you think about it, is around 30-45 minutes per day.

Not only are these courses great value, but you have the added bonus of not having to plan anything out. You could literally jump across and start it 2 minutes after finishing this article.

Option #2. Create your own roadmap

Alternatively, you can also build your own roadmap from free resources, like I talk about in this guide.

learn to code for free

Both options can definitely work. In fact, I’m a self taught developer myself and the guide above is basically the same plan I laid out and followed.

However, building your own roadmap and curating resources is generally more time intensive upfront. Not only that, but you also need to double check the quality of the content you're learning from along the way and see if it's still relevant.

If you want to follow the self directed path, then check out my guide above, as well as these extra tips below:

What are you going to learn?

Pick the language you want to learn initially, or even the career you want to have. If you’re not sure which to choose, take a quick tech career quiz.

tech career path quiz

Figure out the best way to learn this

Then do a quick Google search for any free roadmaps to learn that language or reach that career.

learn machine learning

You’ll often find blog posts or career path guides that teach you how to get started in these careers, what you need to learn, and hopefully, the order in which you should learn everything to reach that goal.

tech career paths

Top tip: You can also look at companies that you want to be hired at, and the skills they require in their job listings, if that’s your end goal.

data engineer at meta

Get organized

Assuming you haven’t been able to find a roadmap, but did manage to find out what skills you want and need to learn, go ahead and add them all into a Google doc, and then organize them by logical order to learn.

If in doubt, throw the list into ChatGPT and see if it has any recommendations of what to learn first.

Blog post image

Take the answers with a pinch of salt and do some external research (it sometimes makes things up), but this can give you a rough idea of what to learn and in what order, as well as any missing elements you might want to add.

Gather your resources

Next, you need to find resources to fit these goals.

Don’t leave this to the last minute or you’ll spend 15 minutes of your daily practice looking for resources and getting distracted!

Find them all now and add links to each where relevant in your Google doc. (Simply highlight the step, and insert the link).

You can always search for these topics on YouTube and find literally thousands of videos on any topic.

use youtube

However, just make sure that the content is up to date, as changes could have happened in the time since these most viewed videos went live.

(YouTube will always promote a most viewed video, meaning that newer videos will often get missed - even if the older videos might be potentially out of date).

You can change this in your search settings by clicking on the filters menu, and then choosing a more recent time frame. Anything from a month to a year is generally good.

latest options

Add those resources to your list where relevant, so you can dive into them when needed.

Add hands-on experience

Finally, make sure to also find some further projects to fit these lesson goals so you can apply what you learn as you go.

Again, a quick Google or YouTube search can give you a few options.

add projects

Now that you have your path of what to learn mapped out (or course purchased), let’s look at how to set up a daily practice that you can actually stick to.

Step #3. Starting your daily coding practice

The main problems that cause people to fail at a new habit are:

  • The effort required for a success metric
  • A lack of time structure, and
  • A lack of tracking

You’ll notice a theme here in that some of these are things we’ve said before, but let’s get into how to get around them, and set up our daily practice.

Reduce the effort for your success metric

We already know that we want to practice every day. However, if we decide that we’re going to dedicate 3-4 hours per day, every day, so that we can learn as fast as possible, then we will probably fail.

The reason being is that 3-4 hours every day is a big commitment, and we can’t always have the time for it. Suddenly we have to skip one or two and we feel a failure, and then we stop all together.

So, set your success metric to just 30 minutes per day.

That’s it, that’s all - just 30 minutes is classified as a win. That way, if you stay for 60 minutes it's a bonus, but if you have to leave at 30 that’s fine, as you’re 30 minutes closer to your goal.

Add a strict time structure

Another major issue is not having a set time every day to learn. We might pick mornings on Mondays, evenings on Tuesdays, whenever on Wednesdays etc. It’s all over the place and there’s no chance to turn it into a habit.

So instead, decide on a time that you know you can commit to every single day.

For example

If you’re normally up at 7 for work, get up at 6:15, and start following your roadmap.

As much as we might hate to have an early start, the simple fact of the matter is that there’s usually no other thing competing for our time at this time of day, as well as far less distractions and noises.

Stack your habits

First thing in the morning is also great, because we can often connect this new habit to a previous habit - which is fantastic when trying to stick to new things.

What do I mean?

Well, you probably make coffee every morning right? Without realizing it, this is an ingrained routine and habit, and the perfect trigger for another new habit!

So, while the coffee is getting ready, simply boot up your computer, and load up your resources for that day, then drink your coffee while you learn.

Boom! New habit attached to an old one. You’ll turn on your coffee machine, and instantly think of turning on your PC - reducing the cognitive effort to get started.

Track your efforts

What gets measured, gets managed, so make sure to track your daily habit. This can not only help you stick to it, but can also give you an indication of how far you’ve come.

You can do this with apps, calendars, or even on a whiteboard with X squares to tick off - whatever works best for you is fine, just so long as you can see it each day.

For example

Here at ZTM, we have a daily tracking system built into our course platform so you don’t need to do anything except login, and then see the results. (As well as some fun gamification badges for hitting other goals and mini wins!)

ztm passport

Like I say though, just as long as you’re tracking it in some way then that’s fine.

Bonus tip: Add some time for reflection and celebration

When it comes to extended goals like these, it’s important to spend some time and reflect on how far you’ve come, as well as celebrate the small victories, such as hitting your first week, first month and so on.

It could be as simple as every 7 days after learning, you tick off the task, reflect on what you’ve learned this week (as well as so far in your journey), and then go grab a treat, or enjoy a hobby.

Then, for major milestones, reward yourself with something a little better. It doesn’t need to be much, just as long as you’re rewarding yourself and reinforcing your positive behaviors so that you stick to it!

Start your daily practice today!

As you can see, starting a daily coding practice is fairly easy, just as long as you understand the common mistakes, and then build systems to workaround them:

  • Don’t just rely on basic motivations. Find your real reason why so you can stick to this
  • Follow a roadmap so you know what to do each day
  • Have a simple success metric of 30 minutes per day
  • Always learn/practice at the same time each day
  • Try and stack your learning time to a prior daily habit
  • Keep track of your progress
  • Reflect on your path so far
  • And celebrate the small wins!

So what are you waiting for?

Go back through this guide and follow the steps, do the recommended tasks and drill down onto your reason why, grab your resources and roadmap, and then start that daily coding practice.

And who knows. Maybe we’ll be interviewing you for the blog and adding you 500+ day streak on here some day!?

More from Zero To Mastery

Top 7 Soft Skills For Developers & How To Learn Them preview
Top 7 Soft Skills For Developers & How To Learn Them

Your technical skills will get you the interview. But soft skills will get you the job and advance your career. These are the top 7 soft skills all developers and technical people should learn and continue to work on.

How To Become A Web Developer (From Complete Beginner to Hired) preview
How To Become A Web Developer (From Complete Beginner to Hired)

Want to become a Web Developer but not sure how? Our step-by-step guide shows you how to go from beginner to hired (without wasting $1,000s on a bootcamp or degree). And we answer all your FAQ.

The Developer’s Edge: How To Become A Senior Developer in 2024 preview
Popular
The Developer’s Edge: How To Become A Senior Developer in 2024

Do you want to be a Senior Developer and excel in your field? You're in the right place. By the end of reading this, you will have a set path with a list of the best resources for you to level up and become a Senior Developer.