Welcome! This site is currently in beta. Get 10% off everything with promo code BETA10.

Blog Post

How to be Productive While Learning Online

24 min to complete · By Ryan Desmond, Kim Desmond

How to be Productive in Our Jam-Packed Lives

When attempting to learn a new skill, there are a few things that will help you keep a cool head and make more efficient progress.

We’re living in a fast-paced, information-overloaded world where there never seems to be enough time. Yet research shows that on average in the US, we spend 4 hours and 30 minutes daily on a phone, not including talking on the phone. Consider the progress you’d make by dedicating just 1 of those hours to learning every day!

You're here to gather new skills, and we're here to help.

Here are a few things we recommend for how to be productive while learning online, including creating goals, good habits, taking breaks, and having an accountability buddy. These recommendations are tailored for our audience of folks learning to code but can be applied to any online learning journey.

By following these steps, you can make the process more manageable and enjoyable, and improve your chances of success.

via GIPHY

1. Create SMART Goals for Learning

What are SMART Goals?

  • Specific: WHY, Who, what, where, when.
  • Measurable: The point at which you know it is accomplished.
  • Action-oriented: List the key actions needed and prioritize them.
  • Realistic: If your goal is too far out of reach, you may burn out or get discouraged trying to get there.
  • Time-bound: Have an end date for your goal, and split your actions into days or weeks.

How to Make Your Goals SMART

Say your goal is to learn Python this year. Questions you can answer to make your goal SMART include:

  • Specific: WHY do you want to learn? For a career change, promotion, or just for yourself? And therefore, what exactly do you need to learn to achieve that?

  • Measurable: How will you know when you’ve accomplished your goal? Going back to your WHY… Do you want to learn enough to get a job? Build a project you’ve been thinking about. Speak knowledgeably with your team? What is your measure for success?

  • Action-oriented: What are the exact steps you need to take to achieve your goal? This section can quickly turn into a can of worms. Taking a coding course can provide the actions you need to learn the skills, but what else needs to be done to achieve your WHY?

  • Realistic: What hurdles will you need to overcome to achieve this? Should you split your goal into smaller goals to make them more achievable and rewarding?

  • Time-bound: When do you want to complete your goal? How much time will you dedicate each day/week/month to each action step to achieve your goal?

Take the time to write down your goals, and answer each SMART section question above. By using the SMART goal framework, you’ll see your goal start to grow into a plan.

how to be productive

2. Create a routine to develop a good habit

Making learning a healthy habit is another great way to be productive while learning online. The Power of Habit by Charles Duhigg teaches us that habits can be made through a system of cues, routines, and rewards.

Think of this like training your dog. You give her the cue to sit, which activates her learned routine to sit, and then she gets a reward, which encourages her to remember that loop and perform it again.

Example of a healthy learning habit

Cue

  1. Decide on specific days and times that generally work every week to sit down and code.
  2. Block it in your calendar, and schedule yourself recurring calendar reminders.
  3. Write these times on a sticky note to put on your mirror, fridge, or wherever visible.
  4. Schedule your phone alarm to play your favorite song or your favorite ringtone, each day at that time.

Routine

When your alarm goes off, that’s your cue to start your routine. Considering the time-bound actions that you created in your SMART goals, what is a realistic routine for you to follow?

TIP: Start small and keep it simple. Just like our goals, having an unrealistic routine only decreases the chance of completing it. Even if one day you can only dedicate 5-10 minutes, 5 minutes is better than 0 minutes, and you have still stuck to your routine, which leads to…

Reward

Learning to code is tough work, so give yourself a reward for putting in the effort! Consciously choosing to reward yourself each time you follow your routine will reinforce turning this process into a habit.

Reward yourself with something you enjoy – read a book, play with your dog or kids, kiss your wife, meditate, have a glass of wine, scroll on social media – anything! Even if your “reward” is something normal from your everyday life, labeling it in your mind as a reward for completing your coding routine will make it all the more sweet.

how to be productive

Image Source: Charles Duhigg

3. Trust The Process

This whole "learning to code" thing is a process: one that takes time, determination, and a boatload of persistence. But trust us when we say, "You got this!".

In moments of doubt, uncertainty, or just plain exhaustion, do everything you can to remind yourself that these moments are expected. Everyone goes through the same thing! But if you stick to the program, keep pushing forward, keep challenging yourself, and return to the task repeatedly, you will soon be looking at a complex application and thinking to yourself, "Wow! I understand all of this!"

It's the neatest feeling, and enrolling in an online course means you're already one giant step closer to that moment.

4. Take Breaks

You know all too well how easy it is to get locked into your work, into your computers for hours on end. This kills productivity!

Study after study and just common sense have repeatedly shown that taking regular breaks will positively affect your productivity and general mood. When you're stuck, or just not feeling it, or your eyes and head are aching - stand up, shut the computer, and walk around the block. Go for a swim, chat with your friends, and enjoy yourself.

Afterward, you'll return to the task at hand with a fresh brain, a fresh outlook, and a boost of fresh energy.

5. Persistence Pays

Just like learning another spoken language, learning programming languages takes immense persistence. You have to come back to it over and over and over again.

The key is regular, unrelenting persistence over months, even years, as you become more of an expert. The best software engineers are those whose persistence allows them to keep going even after the job is done. Channel this energy and make it your own.

6. Learn to Love the Challenges

As software engineers, our job is to solve problems. Our job is to find a way to make this thing work, whatever "this thing" is. The better you become as a software engineer, the more complex the problems become. The learning never stops. No two projects are ever the same. Every day, we face new challenges, almost always in the form of "the unknown". Our job is challenging.

But that challenge can be fun!

If you learn to love the challenges, you'll love what you do. If you constantly perceive the challenges as a big ol' pain in the rear, you'll consider most of your day, every day, to be a huge pain. And that simply won't do. Learn to love the challenge, and you'll love the process. You'll love all the little struggles and all the opportunities to learn new things.

Is it possible to keep this mindset all the time? No way. But, with a little hard work and training, you can hold onto this mindset more and more each day. Check out our blog about mindset if you'd like a refresher.

7. Believe in Yourself!

All too often, we are our own worst enemies. We are so critical of ourselves. We lack confidence in our overwhelming ability to learn and grow. We lack faith in ourselves. Well, we're telling you right now YOU GOT THIS!

Bring yourself back to the challenge day after day, over and over, for weeks and months on end, and we promise you, you'll get there. Along the way, know that we're here to help you. Even if you just need some moral support to keep your head in the game. You got this.

8. Get a Mentor, Coach, or Accountability Buddy

It’s no surprise that when left to our own devices, it’s easy to push online learning to another day. One of the most effective ways for how to be productive while learning online is to have someone else hold you accountable.

If you're enrolled in CodingNomads mentorship programs, leverage your mentor.

We are here to help you. When you're stuck, let us know! When you could use a second opinion, we're right here. Want a code review? You got it! Could you use a little extra explanation on a few topics? No problem! We're here to help you succeed. Our goal as instructors and mentors here at CodingNomads is to make this process as easy and productive as possible for you. Please let us know how we can help you best!

A mentor helps you learn more efficiently by holding you accountable for completing your goals and routines. Additionally, a course-specific mentor is a subject matter expert who can help you understand concepts at a deeper level so you learn more effectively too.

“I quickly realized I was in over my head but my mentor stuck with me and I was able to learn more than I ever thought I could. I liked the flexible approach of the online learning combined with the structure and support from regular mentor check-ins.” – Natalie W., CodingNomads Online Java Course Graduate.

Community Discord Forum

If you're enrolled as a Member, leverage our Discord forum. Here at CodingNomads, our community is the foundation of our growth. Join the conversation. Please feel free to post your questions and respond to any thread you'd like if you'd like to lend a helping hand!

The more we all use the Discord forum to ask and answer questions, the more we all benefit together. A rising tide lifts all boats.

how to be productive

9. Leverage All Available Resources

Rather than see ChatGPT as a threat, use it as a tool to help you learn and write better code.

Google is a programmer's best friend. StackOverflow? Yes, please! Endless tutorials from every corner of the internet? Yup. Cloning, building, and running hundreds of example applications off GitHub? Absolutely. We cannot recommend this enough.

Use all available resources at your disposal! Your job is to build something that works and build it fast. There is no point in reinventing the wheel when you can reference a tutorial that shows you (more or less) how to do what you need to do.

Should you do your best to fully understand everything you're working with? Sure. But should you have to learn everything the hard way? Nope! Leverage all available resources to your advantage.

10. Try Not to Get Lost in Every Detail

When it comes to software engineering - the devil's in the details. And wow, are there a lot of details! It's easy to get overwhelmed by it all. So trust me when I say - try not to get lost in every little detail.

A good analogy for this is that you don't need to know how to build a combustion engine from scratch to drive a car. We're trying to learn how to drive the car, not create the engine.

Sure, it's always good to dig in and try to understand what makes things work. But keep in mind that your job as a software engineer is not to write a 3000-word technical analysis of the workings of the JVM - it's to write good code, one that performs a functional service for a client.

11. Don't Give Up!

Whatever you do, don't give up! You got this! For those who succeed in this journey, their success is not a matter of if; it's a matter of when. You can't lose if you never give up.

12. Have Fun :)

If you're having fun, you're doing it right. Remember to find joy and happiness in the details when and where you can. Congratulate yourself for your hard work and progress. If you can find a way to make the process fun, your odds of excelling at this task go up substantially.

Summary: How to be Productive While Learning Online

  1. Set SMART Goals
  2. Create a strong routine
  3. Trust the process
  4. Take breaks
  5. Persistence pays
  6. Learn to love the challenges
  7. Believe in yourself!
  8. Leverage your mentor
  9. Leverage all available resources
  10. Try not to get too lost in every little detail
  11. Don't give up!
  12. Have fun :)

Community Discord Forum

  • Join the conversation here.

Additional resources

For additional help, productivity training companies like Lifehack Bootcamp have a wealth of resources from free YouTube videos all the way to intensive productivity bootcamps to help you on your way.

We found their free videos on planning your work week in advance, and prioritizing tasks particularly useful and relevant for how to be productive while learning online. You can also check out more general e-learning tips here.

Need an accountability buddy for learning to code online?

That’s our specialty! We love new friends 🙂 Working with a mentor is the most efficient way to learn to code online. If you want to get a feel for the CodingNomads mentorship experience, check out our mentorship page or schedule a free call with our mentorship team and learn why our online mentorship gets student reviews like this:

“Retaining information is three times easier when you have a mentor, and if you’re serious about coding or just want to get started, I would highly suggest reaching out to CodingNomads to be your mentor.” Bryce L.

“I have an amazing online mentor…and had good and prompt offline support from Martin and [the] rest of the crew…Overall the program is above my expectation…I wish the whole team good luck for the future.” Kaushik P.

“Overall worth the money and time, and now I will always be a part of a community of programmers. Shout out to Johnny, best mentor I ever had!” Blane S.

“Whenever I became stuck, my mentor was there to help me renew my motivation and/or guide me through the next obstacle in my path.” Anonymous.

READ NEXT: The WORST way to learn to code