Original text: chinese.freecodecamp.org/forum/t/top…

Beau Carnes, a former K-12 teacher, is currently a full-time developer at freeCodeCamp.org, creating or managing a number of programming video tutorials for the freeCodeCamp Youtube channel. The article documented how he earned his second degree and five developer certifications in one year while working full time as a K-12 teacher and as a father of two.

“Standard rhythms are designed for fools — the system is designed so that anyone can keep up. If you are more motivated than “anyone else” — you will achieve more than anyone expected. It’s not just in school, it’s in every aspect of life.” — Derek Sivers, founder of CD Baby

Learning to code can be challenging — especially when you have a family, kids, and a job. Still, I don’t think my life should be a standard rhythm.

My purpose in writing this article is not to brag — although I am very proud of these achievements. I just want people reading this to believe that their lives can be different.

In the past year, I have done a lot of things. I received two Oracle Java certificates, two CompTia certificates and a freeCodeCamp front-end certificate. Most people take months to get one of these certificates, but it took me three weeks to get one.

In addition, I took a software development course in less than six months, earning a second degree from a legitimate university.

I’ve done all this while still working full-time, spending time with my wife and two small children, and volunteering in my community.

Having an amazing partner by my side has been one of the key factors in achieving these results. 😍

There are other factors, too.

What drives me?

I was a K-12 teacher, and after five years in school, I realized I didn’t want to be in school for the rest of my life.

I like classes, but I don’t like forcing children to do things they don’t like — and that, inevitably, is part of my job.

Classroom management in my urban school was very tight, and I was disappointed with the whole system. We seem to be training students to be replaced by artificial intelligence in the future.

I’ve always been interested in programming, even teaching my students the basics sometimes with Scratch and Code.org. I decided it was time to learn programming fully and make it my full-time job.

Wanting to change jobs was my driving force. Every day at school inspires me to keep moving towards my goals.

Repeated research

Don’t be in a hurry to start learning. Schools or learning resources are numerous and of varying quality. Make the wrong choice and you will take many detours to reach your goal.

I try to determine which learning method is best for me and my family. While I knew there were many ways to get into the tech industry, I decided to do it the old-fashioned way: get a bachelor’s degree. I know I have taken some courses and can transfer to the new one. I researched many schools and finally chose Western Governors University for the following reasons:

  • I can do my degree online, so I don’t have to spend time in traffic.

  • I can pace myself, so I know I can finish all the courses quickly. As long as you complete all the assignments and exams for a class, you can immediately move on to the next class.

  • Tuition is low — about $3,000 for a six-month course.

  • It’s a highly recognized university, recommended by Both President Obama and Bill Gates.

  • This degree will give me an industry-recognized certificate, which will add to my educational background.

Set big goals

At first, my goal was to finish the degree in a year. After a month of study, I decided to change the time period to six months.

My way to get through these classes quickly is to plan a specific date for each class and make sure it’s done within six months.

I schedule one to three weeks of study for each class, depending on the requirements. I also had a plan for how to finish each lesson quickly. Having a lot of sub-goals helps me keep a good rhythm throughout the learning process, which is great.

Setting big goals is important to help me drive myself. Big goals make people happier, according to a study in the Journal of Consumer Research. I always end up meeting or meeting early the deadlines I set for myself, which makes me really happy!

Detailed timetable

I created a detailed weekly schedule to ensure that I could balance my family and other commitments while spending a lot of time studying. I schedule family time, volunteer time, friends time, and a weekly date night!

Detailed schedules help me maintain balance in my life. But there was one thing I didn’t fit into my schedule: WATCHING TV.

I only watched three episodes of TV during my degree. I have a very tight schedule to meet my goals, so I don’t have time to watch TV. Plus, spending time watching TV means spending less time with your family. Since graduating, I’ve been limiting my TV time so I can focus on programming.

In order to achieve my goals, I had to give up something.

Ignore the naysayers

Western Governors Assigns a mentor to each student. Tutors speak with students weekly to help them stay on track. Every time I shared my goals with my mentor, she encouraged me to make them more reasonable. Instead, I decided to aim for something even more ridiculous. I knew her heart was in the right place, but I decided to ignore her warnings and not share my goals with her.

Sometimes, we don’t need to share our goals with someone who will not encourage us but hinder us.

Maximize your time

In addition to the time I booked to study software development, I found ways to learn more. For example, I spent most of my lunch break studying. In addition, I always keep a notebook in my pocket that I can check whenever I have a spare moment.

In addition, I have (and still do) taken days off to take classes or follow up on programming projects. When I was studying for my degree, I would take a few days off to ensure my progress because some courses were difficult to pass.

I’m always re-evaluating my schedule and how I can spend my time to be more productive.

I often program after the kids go to bed. However, I found that I stayed up too late and my brain was a little sluggish, so I adjusted my sleep schedule. So I now go to bed around 9pm and wake up at 4am to program (and make video tutorials). This may sound crazy, but it has greatly increased my productivity.

Learn from the experiences of others

I spent a lot of time on my college Reddit page and various forums, reading what other people had shared that had contributed to their studies. There are many resources available to assist in obtaining a trade certificate. These all help me better plan the fastest path.

There will always be people who are on this path before you, so it’s important to find those people and learn from them.

Learning from others is also very helpful when studying freeCodeCamp’s lessons. Experienced members of the community often offer help or advice in forums and community chat rooms.

Just deliver!

To deliver means to send out a complete product.

I often wonder if I need to spend more time on projects or studies. Then I realized that IF I wanted to meet my self-imposed deadline, I didn’t have much time.

It’s often before I feel confident that I have a deadline and I have to deliver. Of course there are benefits.

I’ve found that delivering projects is more important than trying to make them perfect. If you try to be perfect, you may never get it done. Even if you’re hesitant, just deliver.

This principle

For my degree, I only read 20-30% of the required content. According to the 80-20 rule, that’s enough to understand more than 80 percent of the subject.

The trick is to decide which 20% to focus on. I often ask myself, “If I were designing papers, would I use these materials?”

Really, when learning anything, you should ask yourself if it’s 20% of what you’re learning and 80% of what you’re learning.

This comes down to the concept of instant messaging. Learning something you don’t plan to use in the near future is usually not beneficial, especially if you have a poor memory like me. I only learn what I need to know about the project I’m working on.

Your boss usually cares more about the results of the projects you’re working on than about how you learned to code. Keeping this in mind will help you decide how best to use your time.

Push on

After completing my degree, I did not slacken and continued to study. I realized the importance of doing projects, so I went straight to creating personal projects at freeCodeCamp to create my portfolio. And all the methods I used to get my degree will continue to apply.

These methods will also come in handy when I decide to start making JavaScript video tutorials. I now post JavaScript video tutorials on my freeCodeCamp YouTube channel almost every day.

If you’re interested in learning more about how I studied each course for my Western Governors University degree, you can check out this blog post.

I hope some of the techniques I’ve used have been helpful to you, even if you have a busy life like mine.

Remember: Standard rhythms are designed for fools, and you can do better!