For those of you who are unfamiliar with the 100DaysOfCode challenge, it was created by @ka11away and is viral on Twitter.
Now you’re all clued up…
Let’s Talk About it!
The hardest part of doing something is starting in the first place.
I decided to give the challenge another go, I publicly committed to 100DaysOfCode which held me somewhat accountable to myself and my twitter timeline.
Choosing a language
I decided that this time around I’ll learn Python. I chose Python because of my genuine interest in Machine Learning and Data Science.
My advice to those who are planning on starting the challenge:
- Decide and identify your key interests and what you’d like to potentially build. is helpful. For example, building websites, mobile apps, systems, etc.
- Research which programming language(s) you’d need to learn to know how to build whatever it is. For example, if you want to learn how to build iOS apps, Swift/Objective-C are the languages to learn.
- YouTube will be your best friend. There are so many ‘How to learn…’ videos. Also, if you’re struggling to understand any programming concepts/basics, I found that there are so many videos that will explain it step by step.
Selecting a Course
I initially struggled in deciding which online course to begin with. There are so many online resources, this is great but can also be very overwhelming. I knew I needed to find a Python course that was beginner-friendly and had a practical element where I can demonstrate what I’ve learned in each lesson. I whittled down my options to Codecademy, FreeCodeCamp, and Udemy. This was mainly due to me seeing many code newbies learning on those websites.
I chose the Codecademy Pro Python 3 course. This was the only platform that suited the learning style I wanted and I knew that I’d get the most out of it. Codecademy Pro is the subscription-based plan ($19.99 a month) which gives you access to courses that are not available on the free plan like Python 3. I think having to pay for this gave me the extra motivation I needed to fully commit to this course as I’d be wasting my own money if I didn’t.
I’ll give you a breakdown of the learning path on Codecademy.
The course begins with a lesson. In this case, the course began with Python Syntax. Syntax is a ‘set of rules which defines how a program will be written.’ I was given an explanation of each syntax and shown some examples. This included relevant coding tasks for each syntax.
There were quizzes and code challenges at the end of each lesson. The quizzes really tested my knowledge and was a good measure of how much I understood each lesson. The code challenges were quite hard, I wasn’t used to problem-solving and I really struggled with most of the challenges. This is something I want to get better at. Codecademy has forums where people discuss the coding challenges and their thought process behind the answers which helped!
The fun part for me was being tasked to complete a project at the end of each lesson. This gave me the opportunity to put my Python skills to practice and build a real-life system or database. My blog post WHAT I’VE LEARNED WITH PYTHON SO FAR. provides a pretty neat infographic on the type of projects I’ve built.
I find that I absorb information quite easily and quite quickly, but this doesn’t always translate well when I need to put things into practice. Codecademy really worked for me in comparison to watching lengthy tutorials, trying to keep up.
Wheww where to start!?
I hit a couple of brick walls during this challenge. I was demotivated from time to time but I was determined to complete the challenge.
Here are a few of the man challenges I faced:
- Working full-time whilst learning how to code is no easy feat. My job can be high pressured at times and I have a lot of responsibility. Juggling a full-on career and learning how to code in the early morning and late evenings left me feeling exhausted at times. I took a few breaks in between the challenge when I felt overwhelmed.
- Consistency started to become an issue as I progressed through the course. In the beginning, I was on a real high, fired up, ready to code, and become somewhat of a Python expert. Reality hit when I struggled to understand Loops and Classes. The coding challenges began to frustrate me as I struggled to understand what was required of me let alone figuring out how to answer.
- Losing interest in learning. I have to be honest here, it came to a point where learning Python did not spark joy in my life. I think it’s mainly due to having a busy work schedule and struggling in digesting some of the course material.
As the great Aaliyah once said (R.I.P):
Beyoncé wasn’t built in a day – I admit I started this challenge with pretty unrealistic expectations. I thought that I would master Python at the end and I’d be able to build everything and anything. I now know that learning how to code is an ongoing journey, it’s a marathon, not a print.
Try to better understand difficult concepts – I fell at the first hurdle. I gave up too easily. I would move on to the next lesson knowing I didn’t quite understand the lesson I was on. A bit of lack of discipline here from me.
Attend meet-ups/workshops – I wish I did this earlier on. The thought of attending a meet up was daunting, it was the fear of coming across like I didn’t know anything. In hindsight, I don’t know much and I’m not meant to as I’m a beginner. I eventually found out about @codebar and attended, I was paired with a coach who was really hands-on and great at explaining Python concepts!
Now we’ve come, to the end of the road.
Who sung this? haha
I must say I’m really proud of what I have achieved since beginning this challenge:
Following the completion of the Code First: Girls ‘Intro to Web Development’ course, I realised that I had a great time learning front-end during the course as it gave me the opportunity to explore my creative side.
I’ll also continue to blog about my coding journey and any tech events I attend!
That’s all from me folks, thanks for tuning in!
Rach, Millennial Rach. @MillennialRach