100 Days of Code Journey
April 8, 2020
After reading inspiring stories of career changers who transitioned into web development through self-studying, I finally decided on 25 October 2019 to publicly commit to the #100DaysOfCode challenge to take learning to code seriously - although this didn't go completely to plan at first!
Starting Day 1 of #100DaysOfCode for accountabilityπββοΈ. Today I started learning about loops on @gordon_zhu Watch and Code Practical JavaScript course.#CodeNewbie
— tuyet le π» (@toowee_) October 25, 2019
Within the first 16 days, I got my first freeCodeCamp certificate for HTML & CSS. I was also enrolled on an 8-week Introduction to Web Development evening course with Code First: Girls, which was incredibly uplifting learning with other inspiring women also interested in pursuing a career in tech. I also got to build my first "proper" website in a team and ended up winning 2nd place in the course competition (it was of course about cats and it's live here).
I've had many moments of self-doubt & struggled to bring myself to tweet my progress because I kept thinking I wasn't good enough. I've now made self-care a priority & I feel ready to restart #100DaysOfCode π just finished Gordon Zhu's course & I can't recommend it enough! #Day1 pic.twitter.com/NuEVmYkIrA
— tuyet le π» (@toowee_) December 15, 2019
On top of a full-time job, I'd found that I put a lot of pressure on myself and couldn't enjoy the learning process. I kept comparing my progress with others, which is detrimental because comparison is the thief of joy. I also applied for a junior dev role on the whim and was shocked I was put through to the interview stage. However, I wasn't able to complete the home assessment which made me question whether learning to code was even for me! BUT I'm grateful for this interview process as I learnt a lot and after a few days of mellowing, self-reflecting and planning, I restarted the #100DaysOfCode challenge on 15 December and completed it on 8 April 2020!
Why do the #100DaysOfCode Challenge?
- Supportive community - From day 1 of tweeting my progress, I discovered how extremely supportive everyone was. No matter how big or small your daily progress was, the support really encouraged me to continue. These people have now become my support network who I feel inspired by daily and I'm forever grateful to them.
- Form a new habit - I developed a momentum of coding/studying daily for at least an hour. Balancing a full time 9-5 job with routine activities and social events was tough but dedicating that time everyday helped me progress fast. This meant listening to tech podcasts and doing SoloLean challenges on my commute to and from work. The process also helped me figure out what learning method suited me. I soon realised doing back-to-back tutorials wasn't challenging or keeping me motivated and that building my own projects was what drove me.
What I've learnt
Looking back at my tweets, it's a good reminder to see my progress log considering I started this challenge knowing only the very basics of HTML and CSS. I learnt:
- HTML5 - how to write semantic HTML to improve SEO and accessibility.
- CSS3 - CSS Grid and Flexbox together are game changers for building amazing layouts. I also learnt about CSS variables, animations and how to build mobile-first web designs using media queries.
- Bootstrap - If I want to build something quick and responsive with less line of code, I now know how to use this CSS framework for this purpose.
- SASS - I'm guilty of writing long stylesheets but I absolutely love how SASS has reorganised my CSS with features including nesting, mixins, variables and inheritance.
- JavaScript - Basic fundamentals, DOM manipulation, ES6 features, asynchronous JavaScript, the event loop, object-oriented programming and functional programming. I shamelessly built a todo list app as my first JS project.
D8: finished my todo list project. Messed around with JS and #CSS'ed it. My first project in JS π! #100DaysOfCode #WomenWhoCode #javascript pic.twitter.com/1QFwPZwsOq
— tuyet le π» (@toowee_) December 25, 2019 - API's - I've learnt about API's and how to use it to fetch and manipulate the data for my program. I deployed my first weather API project on GitHub here.
- jQuery - I didn't use jQuery often in my personal projects but it was good to learn about this and see how JavaScript could be simplified.
- Git and GitHub - I feel more confident using the command line on all my work and using it to push my work to GitHub. I've also worked collaboratively in setting up our own project on GitHub.
- Deploying - I used Heroku, Netlify and GitHub to deploy some of my websites/apps.
- Python - I was fortunate enough to enrol on to Code First: Girls Level 2 Python Programming course in partnership with Goldman Sachs. Learning Python helped consolidate some of the programming concepts I learnt in JavaScript.
D67:
— tuyet le π» (@toowee_) March 4, 2020
βοΈ learnt about lists & dictionaries in the @CodeFirstGirls Python course last night. JS is still my main focus but learning python on the side has really helped consolidate some of the programming concepts I now know π¬
βοΈ reviewed Promise and async await#100DaysOfCode pic.twitter.com/k95SVGgt5c - Thinking like a programmer - I highly recommend everyone who wants to learn how to code to go do Gordon Zhu's Watch and Code Practical JavaScript tutorial. It's also free! Learning JavaScript has been intimidating but Gordon's tutorial really helped me overcome this fear. He breaks down every line of code and explains clearly how to read the code to make you think like a programmer.
- Web development strategy - I found planning my project before writing any code was very important. Breaking my project down into smaller pieces of work, wireframing what I wanted to build and having a design helped saved me a lot of time when actually building it.
My proudest moment was being able to clone and build from scratch a personal website I built on WordPress before learning to code. I had no idea what CSS or JavaScript was when I built the WordPress version a year ago!
D90: this time last year I had no idea what CSS or JavaScript was when I built my first 'proper' website using WordPress for a freelance idea. I've now cloned that same website from scratch and deployed it using Netlify π https://t.co/NQTWW54jxU #100DaysOfCode #CodeNewbie pic.twitter.com/EKfxzlTeBS
— tuyet le π» (@toowee_) March 27, 2020
Final thoughts
Upon reflection on the 100th day, I wouldn't have learnt this much without the supportive platform so a big shout out to everyone (round 2 coming up soon!). My next steps are to finish the Code First: Girls Python Programming course, complete the Udacity Frontend Developer nanodegree, build more personal projects, be more confident in writing JavaScript and learn React. I would highly recommend anyone interested in learning to code to take part in the #100DaysOfCode challenge!