This week I'm celebrating finishing the #100DaysofCode challenge. 🎉
As a bit of background, I'm currently a stay-at-home mom to two girls, ages 2 and 5. Finding time to code wasn't always easy but now that I'm standing at the finish line, I wanted to look back on my experience and reflect on it.
From the start, I have treated learning to code as a form of self-care. For the past five years, I've shelved my thirst for knowledge in favor of diaper changes and mommy play groups. And while I wouldn’t trade the experience of staying home with my kids for anything, I eventually realized that I was ignoring a vital part of my identity.
The following tips reflect my experience doing #100DaysofCode as a stay-at-home mom, but they can really apply to anyone attempting the challenge who has a busy schedule.
1. Know your ‘why’
They say that imitation is the highest form of flattery, but that doesn’t mean you should do #100DaysofCode just because everyone else is. The challenge is a big undertaking and it’s not for everyone. Before you commit, think about what the challenge entails and how it’s going to help you.
If your goal is to be an expert by the end of 100 days, then you may need to revise it. Not every day will be as productive as the next, and that’s OK. You’ll probably still have a lot to learn by the end of those 100 Days, and that’s OK too. The purpose of the challenge is to build a daily coding habit that you can continue. It’s like building a muscle-- the more you code, the easier it will be to keep going.
2. Have a plan
Even if I had a busy day doing parenting tasks, I would try to take 5-10 mins to write down what my coding goals were for the evening. That way when I was ready to get started, I wasn’t totally racking my brain trying to figure out what to do.
It’s also useful to keep a resource list nearby your work station. That way you can quickly navigate to a site when you need to. Here are a few links to get you started:
Sites for learning how to code:
Sites for coding practice:
3. Look for opportunities
Learning to code in the “in-between moments”-- during nap time or any other downtime you have during the day-- is key to working on this challenge as a busy parent. Coding in the evening is one of the main ways parents get in their work for the day, but I've found I can also be productive on-the-go using apps on my phone. Mobile apps don't have the same functionality as an IDE like Visual Studio but they can be helpful for prototyping or just practicing coding. There are also many mobile apps for learning to code that are super helpful.
Mobile apps for editing code:
Mobile apps for learning to code:
- SoloLearn- Android | Apple
- Grasshopper- Android | Apple
- Encode- Android
- Knowin- Apple
- Mimo- Android | Apple
4. Reward yourself
You know those reward charts you give to your kids to make them do chores or practice good behavior? Well it turns out they work for adults too.
I didn't use a physical chart for myself, but I did come up with a list of rewards I could give myself to keep going. It included small things, like my favorite Starbucks drink or a yummy muffin from a local bakery.
Another strategy is to use an app that rewards you when you keep up a habit. Some of the apps, like Habitica, offer digital rewards like customizations for your avatar. In any case, habit building apps are a great way to visualize your coding streak. Here are a few popular ones that are worth checking out:
5. Learn to love it
When you're trying to complete a challenge like #100Days, it helps if you really like the subject matter. Remember, when building a habit, mindset is everything. If you're less enthusiastic about what you're learning, here are some active steps you can take to change your mindset and become more productive:
- Quit questioning what you are doing and pay more attention to the quality of what you are creating.
- Be consistent-- classical conditioning says that the more you are exposed to something, the more positive your attitude towards it will be.
- Focus on the future benefits of what you are working on.
- Be active in the community and let other people’s positivity inspire you.
- Create a learner's environment with the right music, snacks, or anything else you need to be productive.
6. Listen for your ‘red flags’
One of the keys to managing burnout is to watch for your ‘red flags.’ These are signs which pop up before you actually hit the metaphorical wall. As a parent, managing your mood is integral to managing the behavior of your kids. Taking a break when you need it will keep the whole family even-keeled and help you be more productive coding in the long run.
There are some days when you can spend all evening working and others when you are simply too tired to code for more than an hour. That’s ok. Keep a list of activities that will help clear your head and make you focus better when you’re ready to return to the challenge. Some helpful activities include:
- Playing with a pet
- Going for a walk or hike-- yes, even if it’s raining!
- Reading a book
- Writing in a journal
- Chatting on the phone with a friend
- Hitting the gym
- Meditating or just simply relaxing
7. Record your progress
This is one of the tips that helped me the most. I used a template on Notion as well as a day planner to jot down what I had accomplished each day.
I also really enjoyed using Instagram to keep a daily log of my progress. I would post various anecdotes about what I was coding that day on my profile as I worked through the challenge. Now that I'm at the end of the challenge, these entries are a great learning tool. Plus, since Instagram is a visual platform, I was inspired to post photos and videos of my work too.
8. Quit comparing yourself to others
As the saying goes, “comparison is the thief of joy.” Comparing yourself to others serves no purpose in your journey to becoming a developer. In fact, it runs the very real risk of setting you back in your progress.
Once you’ve committed to the challenge, keep the focus on your own journey, not everyone else's. If you need to restart, take a pause, or even quit before finishing, don’t beat yourself up. There are a limited number of hours in the day; as a stay-at-home parent, it’s hard to commit to coding for a set block of time given the competing demands of kids. Do what you can and focus on the progress you are making in your unique circumstances.
9. Enlist help
Unfortunately this option may not be available to everyone, but if you have help available, be sure to use it. This could come in the form of a spouse, a friend, or family member who is willing to watch the kids while you code.
Doing #100DaysofCode has been a challenge but I've managed to make it work around my family's schedules.
It's great when I've been able to set aside an uninterrupted block of time to code, but I'm surprised at how productive I've been just fitting in a few minutes of studying here and there throughout the day. Now that I've built up the coding habit, I can't wait to continue and to bring my kids in on the fun too.
Thanks for reading and happy coding!