I first heard of freeCodeCamp in 2021 when a friend of mine successfully landed her first web development job through self-learning. When I asked her how to get started, she recommended freeCodeCamp as the No.1 resource. I decided to try it out, but unsurprisingly, I got swamped by my day job and stopped after completing only a few lessons.
Fast forward to Feb 2023, I resigned from my job without any backup plan. The only thing I knew was that I missed building things from scratch and desperately needed a goal to keep my life together. This time I was able to complete my 1st Web Responsive Design course in 18 days.
Here is what I learned through this journey:
1. Find your reasons
Coding, just like anything in life, is not easy. To accomplish a challenging task, There are two steps:
- Find a reason to do it
- Do it
Counterintuitively, Step #1 takes about 80% of the work. So before rushing into an online course that requires self-discipline, write down on a piece of paper what your motivation is for completing this course. Do you want to build a website for your own side project? Are you curious about programming or just want to acquire a new skill? No matter how trivial the reasons are, they will be your North Star to guide you through the coursework. Once you have your list, make this course the Top 1 priority each day, no matter how busy your day job is, the first thing in the morning or the last thing before bed is to crash several challenges, otherwise the day won’t count as a day.
2. Have a plan, adjust dynamically, and commit to it
In my prior life, I worked as a bid manager in a big tech company. Every time we received a new request for proposals from the client, the first thing to do was to make a plan: Who needs to complete what by when?
Mark your calendar, and set the daily targets realistically. I felt good about myself when I coded my first couple of basic HTML tags until I realized there are 16 more units to go, at the current pace it could take me months to finish the full course. I have a very short attention span, so I decided to condense my plan more; otherwise, I may never finish. It is reasonable to adjust your plan, after all, cramming is not the best practice for absorbing knowledge, but be sure to track your progress rigorously.
I set up a Calendar in Notion to track my learning progress.
3. Find your tutor and community
I often wonder why hair volume is a concern for many senior developers, until I learned what a bug is. Bug is inevitable, and I’m feeling inevitably annoying about myself, spending hours trying to figure out what went wrong, only to learn I forgot a semicolon, or mistyped a variable name. So before you pulling your hairs all out, ask for help. Developers are naturally willing to share knowledge and help each other, that’s the spirit behind open-source projects and the internet. Fortunately for introverts, there are online forums like this one and stackoverflow. If you are still stuck, chat GPT is your best tutor. I asked for its help frequently for my final project, and 9/10 it pointed me to the right direction, no judgement no shame.
As you are marching towards your goal, don’t forget to record your journey publicly. Join#100DaysOfCode challenges on Twitter or Github. There are days I feel lazy but pushed it through because I still need to tweet, and I also got inspiration through other #100DaysOfCode hashtag.
I hope you feel set to success for reaching your programming goals. Let me know what valuable lessons you learned from your own journey. Happy Coding!