Often times when getting started with learning to code, finding your direction is the hardest part. The 100 days of code challenge can be just what the doctor ordered. If you have never heard of it or don’t really know much about it, then this is the post for you!
One of the biggest hurdles I see people encounter is not knowing where to go next. They choose a language to learn, follow a few tutorials or online courses, copy and paste some code and then stop. They want to know what to do next or what library or technology to move on to. If this is you then…
Bouncing around from language to language or library to library is almost just as bad as not doing anything at all. To truly get a feel for a language or technology you can’t just follow tutorials. You need to write code! Lots and lots of code! And how to you do this?
The 100 Days of Code Challenge!
What is the 100 Days of Code Challenge?
So what is this challenge?
It’s exactly what it sounds like. You will spend the next 100 days writing code. Everyday? Yes, everyday. According to the 100 days of code website, there are only 2 rules:
- Code a minimum of 1 hour a day for the next 100 days
- Tweet your progress every day with the #100DaysOfCode hashtag
That’s all there is to it. Sounds easy right?
Well, not so fast. Let’s think about this. When was the last time you successfully did something everyday for 100 days? Because you wanted to? Odds are, for must of us, we haven’t been able to stick with something voluntary for that long.
When it comes to long term goals, sticking with them can be difficult. There will be days that you are tired, busy, unmotivated, etc, etc. We’ve all been there. So what is the answer?
Be prepared and have a plan!
Formulating a Plan
Believe me, the 100 days of code challenge is no joke. I write software for a living and I already know that once my work week is done, I am typically fairly coded out. Don’t get me wrong, I love to write code, but by the time I get to the weekend, my brain is fried. So, I already know without proper planing, I will probably fail.
So let’s put our heads together and come up with a plan of attack so that we can succeed…together!
When to Write Code
The first thing that comes to mind is the 1 hour a day. To accomplish the 100 days of code challenge we need to achieve this every day for 100 days. I will tell you this from experience. If you just tell yourself you will “find the time” to do it at some point, it won’t happen.
In order to succeed in anything, you have to be diligent in planning and “making” time for things that are important to you. Even then, everything won’t be perfect and it doesn’t always work out, but by having a plan we drastically increase our chance of success.
So let’s start to figuring out when you are going to write code.
Obviously, finding a continuous hour of time in your day to write code would be ideal. Maybe that is during your lunch time, when you get off of school, before you go to work, at night when the kids go to bed. All of this times are great. Whatever time best works for you.
While a continuous hour is ideal, it’s not always possible. We are all busy people and “things” happen.
Maybe looking at your calendar during the days look like Swiss cheese. Maybe you can’t find a full hour to devote to this. Fine.
Break it up!
The 100 days of code challenge says you need to do 1 hour of coding a day. It didn’t say it has to be all at once. You can do 30 minutes in the morning. 15 minutes at lunch. And 15 minutes before you go to bed.
I find that this works best for me, so it is probably how I’m going to do it.
Schedule Your Time
Now that you have found some time that you want to do your coding, you need to put it in your calendar. Block off some time and do your best to stick to that time. Even if it is 3 separate sections of time in your calendar. Put it in there so you can actually see the time blocked off.
Trying to schedule things in your calendar for 100 days is incredibly hard, if not impossible. So I would suggest looking at your calendar 1 week at a time.
Pick one day a week, maybe on Sunday (or whatever works for you), and look through your calendar for the upcoming week. Try to schedule your 1 hour each day for only that week. Then the following weekend, rinse and repeat.
What Code to Write
Now that you have you schedule planned out, or at least in mind, it’s time to figure out what code you are going to write for the 100 days of code challenge. Once again, if you just tell yourself that you are “just going to write some code”, you won’t have any idea what to write. In order to combat this problem, here are a couple ideas.
Follow Some Tutorials
If you are learning a new language, or just new to programming in general, start by following some tutorials. Follow along with their direction and duplicate whatever code they are teaching you. But here is my most important piece of advice…
Don’t copy and paste!
When you are learning a new language, never just copy and paste code! You aren’t actually learning it then. You are only copying someone else’s work. You need to build a knowledge of the language and build some muscle memory in your hands for that language. So, please, type out all the code that you write!
Create Your Own Application
I love tutorials and online courses as much as the next person. Probably even more actually, because I create them. But when it comes to learning a language, I find that building your own application works best.
By trying to build something for yourself, you expose yourself to the problems that we, as professional software developers, face on a daily basis. Not knowing how to do something with code. In these situations you are forced to do some research for yourself and you wind up finding some really great web sites where you can find people that will help.
This is an invaluable resource.
I’ve got a post that will help to find which types of applications to write if you need a little bit of inspiration.
Tracking Your Progress
The worst thing that you can do during your 100 days of code challenge, is to write your code in a bubble. By this I mean, you can’t just write code on your computer and let it sit on your hard drive. You need to keep track of what you write. One of the best ways to do this is with GitHub.
If you are unfamiliar with GitHub, you really need to spend some time learning about what GitHub is and why you should care. And then you can checkout my getting started with GitHub post to get comfortable with the basics.
Storing your code on GitHub serves many purposes, but here are a couple of the most important…
GitHub Saves Your Code
When you write code and save it to your hard drive, you are rolling the dice. You’re rolling the dice that nothing bad will happen to your computer and you will not lose all of your saved data. This is a dream we all have, but sometimes it turns into a nightmare.
More times than I care to count, I have had computer and hard drive failures were a number of files, pictures, movies, songs, and code have been lost. This is very painful and not something I would wish on anyone. GitHub stores you code in the cloud where, for the most part, it is safe and sound. Not only is it safe, but you have access to it anywhere in the world that has an internet connection.
GitHub Tracks Your Changes
Aside from saving your code, GitHub also tracks your changes. So you can see what you have done over time. You can see what changes you made and can even leave comments to remind yourself why you made those changes.
When it comes to learning code, and getting better at it, you HAVE to make changes. Make changes and find out what happens. Does it make you code better or worse? Does it make your application run faster or slower?
These are very important questions you need to ask yourself on a regular basis.
GitHub Allows You to Share Code
One of my favorite parts of GitHub is that it allows you to share your code. Sharing code is probably THE most important part of the journey that most people miss out on. By sharing code, you can get feedback. You can learn why something you are done should be done differently.
Sharing code can be incredibly difficult and scary…
But, I promise it’s worth it. You will meet and connect with some amazing people out there that have the heart of a teacher. Those are the relationships that you need to foster and grow over time. It doesn’t take much.
Share Your Progress
Along the lines with the previous section and sharing code, you need to share your journey. Tell people what you are doing. Tell them you are learning to write code. Better yet, find someone to go on the 100 days of code challenge with you!
There’s nothing better than working together with someone. You can teach each other. You can learn from each other. And most importantly, you can help to hold each other accountable.
Just like the 100 day of code site recommends, share what you did each day on Twitter. Don’t have an account? Create one! Twitter is a great place to meet people with similar interests that can be great resources down the road.
Start by following me on Twitter (@kreatived) and on Instagram (@startwritingcode). When you are posting some code to show me, simply use the hashtag #startwritingcode. It’s that easy! Tell me what you are working on and how it’s going. I love to hear about other peoples’ journeys!
Don’t Forget About Me
Don’t have anyone to share your journey with? Want more information about how to succeed in this journey? Or just want to have someone to bounce ideas off of for support? Contact me here on this site and tell me what you need. I will do my best to help you in any way that I can.
One of the most important things I can share with you is this. You are probably going to fall along the way.
It’s OK. We all do.
The important thing to remember is that it happens. Don’t let this one little slip up define you or your journey into code. Believe me, lot’s of people stumble on their 100 days of code challenge. Even I do.
How do you overcome it?
Admit it happened. Don’t try to run from it. Accept it, and move on. Try to understand why it happened and adjust accordingly.
If it was a scheduling error, try to do a better job with scheduling next week. If you were too tired to do it after a long day at work, try to get up a little earlier in the morning and do it before the day starts.
In most cases, there are simple adjustments that can be made to avoid this problem next time.
But most importantly, forgive yourself. You are human and these things happen. Learning to code is a marathon, not a sprint. So pick yourself back up again and put one foot in front of the other.
Hopefully you have a good idea about what the 100 day code challenge is now. I wanted to give you some tips and tricks on how to not only be a part of this for yourself, but also how to position yourself for success.
Remember, this challenge is supposed to be fun and a good learning experience for you. If at any point you find yourself getting frustrated or upset, take a step back and evaluate why. Get into this for fun, or don’t get into it at all.
Here is my quick summary to help you achieve success:
- Formulate a plan that includes
- Finding time
- Scheduling time
- Determine what code to write
- Track your progress with a tool like GitHub
- Share your progress with others (don’t forget me)
- Forgive yourself when things don’t go right.
If you can follow these 4 steps, no matter what happens, your 100 days of code challenge will be a success!