This article was originally posted on my blog, let-there-be-code.com, where I post articles not quite as frequently as I'd like.
The #100DaysOfCode challenge is a personal call-to-arms, an opportunity to hold yourself to account and a framework for establishing a consistent routine. By undertaking #100DaysOfCode, you set an expectation that you will spend at least an hour coding for one hundred days in short succession. I’ve just finished my third round. Here’s a rundown of what I achieved during that time.
I’d heard a lot about CSS pre-processors and decided to finally take some time to familiarise myself with these technologies. I worked through a course called Advanced CSS and Sass and learnt how to implement Sass in projects and the myriad of different ways that it can be used to enhanced CSS.
I have since integrated Sass into two multi-page projects and can honestly say I won’t be going back. In terms of creating more organized, useable CSS, the impact of using a pre-processor cannot be overstated. And I’m still discovering ways that it can enhance my coding experience (such as improving my use of media queries for responsive design).
One of the main objectives for this round was to create a portfolio that better demonstrated my abilities. Gone is the clunky design and the ineffective responsive design of the first iteration, now replaced with carefully thought-out visuals, a considered colour-scheme and consistent component design.
Working on my new portfolio provided me with a number of firsts: it was the first substantial project I’d designed using Adobe XD, the first time I’d used a CSS pre-processor (Sass) and the first time I’d deployed a website with a custom domain name.
During the course of these 100 days, I reached out to some local businesses to see if anyone wanted a free website. It turned out that someone did – a popular and established local café. I met with the owners to discuss the project, created a design from scratch and built the site.
It’s not live yet though hopefully it will be ready to go any day now. The domain name has been purchased and I’m looking forward to having a commercial website up and running!
Conscious of how essential getting comfortable with Git is to making oneself employable, I earmarked some time to getting to grips with version control. I took a fabulous free course called How to Use Git and GitHub.
Having improved my confidence with version control tenfold (though I still regularly find it confusing), I made a commitment to use it in some personal projects, making regular commits, using branches, making pull requests to merge those branches, and logging and resolving issues.
I wrote about using Git in personal projects here.
I made a start on learning React during my second round of #100daysofcode and found it to be intuitive and logical. Yet it didn’t quite sink in and I never made the step to creating my own projects.
This time round, I reviewed what I had learnt already, going further and getting to know associated tools such as Redux and React-Router. Redux was a little overwhelming so I took a step back and implemented some more basic React in a series of projects, completed as part of the freeCodeCamp curriculum. So far, I have made a random quote machine, a markdown previewer and a drum machine.
I’d learn a little jQuery in the past but had never implemented it independently in a project that depended upon jQuery in a significant way. Whilst jQuery is often labelled as an older, redundant technology, there are still plenty of jobs that list it as a required skill, so I decided to make something to increase my confidence – a movie quote quiz.
This project can be viewed here.
This time around, I haven’t jumped straight into another round of #100daysofcode. Whilst I have found the commitment and structure around the challenge immeasurably helpful, I’m also conscious that I need a period where I’m placing a little less pressure on myself.
I’m still coding and suspect I’ll be starting up round 4 before too long, but I’m taking a few more days off and cutting myself some slack. That said, I’ve got a bunch of things on the backburner (and the…err…frontburner):
*More functionality for my movie quiz to keep practicing jQuery
*A more complex application to continue with React (possibly a meditation or exercise app)
*A course to learn PHP
I also want to learn more about Inkscape, SVGs and HTML canvas. Ultimately, there is always more to learn and more to build and that’s what I love about web development. Looking back over the last 100 days, I’m proud of how much progress I’ve made – it really is surprising how much can be achieved by making a commitment to consistently sit down, switch on your computer and work at developing your skills.