#100DaysOfCode – Round 2 complete!
Well, I’ve completed round 2 of the #100DaysOfCode challenge and it was certainly a rollercoaster! For those who have not heard of it, the #100DaysOfCode challenge demands participants code every day, for at least an hour, for one hundred days. There are rules around how many days you can miss, though I chose to ignore these in order to benefit from the overall structure and working with the #100DaysOfCode community that has grown on Twitter around the challenge.
I wrote about my first 100 days here and updated half-way through my second 100 days here.
Achievements
Looking back on these 100 days, it’s clear that I covered a lot of ground. Here’s a quick summary of what I got up to:
- I completed the freeCodeCamp JavaScript Algorithms and Data Structures Certificate and wrote about the experience here.
- I continued my JavaScript education by completing Modern JavaScript From the Beginning by Brad Hussey. The second half of this course really pushed my understanding of more advanced JavaScript concepts as we made book database app using ES6 classes, learnt a lot about working with APIs (AJAX and XHR, Rest APIs, Fetch API, Async / Await), making a Github user finder and Weather app and earnt about different design patterns, making a calorie tracking app with the Module Pattern
- In order to develop a wider-understanding of what JavaScript is capable of, I worked through the first half of Wes Bos’ 30 Days of Javascript tutorials. These videos introduced me to HTML5 canvas, CSS variables, a technique for sliding in content on scroll, using JavaScript with audio and video files and a lot more. It also provided some welcome review of concepts and tools I had learnt about in Brad Hussey’s course.
- I created a multi-page website from scratch for a fictional restaurant called Claude’s (Github repository here). This was my first real attempt at designing and creating a website since working on the Responsive Web Development certificate for freeCodeCamp and it proved to be challenging and rewarding. I made a real effort to achieve a clean and modern feel.
- After creating Claude’s, it was clear that for my next web site project, it would be beneficial to work on a design prior to coding. To this end, I also spent some time learning how to use Adobe XD with a course called How to Design and Prototype in Adobe XD.
- Finally, the temptation to take a peek a JavaScript library became too great, and I started a course called The Complete React Web Developer Course, which I enjoyed very much. It also involved working Yarn, Babel, Webpack and npm, broadening my awareness and understanding of these technologies commonly used by web developers.
Not always according to plan…
Now I’m at the end of my second 100 days, its clear that, whilst I achieved a lot, I’m certainly prone to chopping and changing and not always finishing what I start. I knew this already, of course; I’ve been me for a while now and I know how much I love to pick up new things and not necessarily follow them through to completion!
That said, I read somewhere (not sure where) that working effectively in web development requires both the ability to quickly pick up and implement technologies you are not familiar with along with a wide understanding of what the various technologies that are available are and how they work.
This being that case, it doesn’t necessarily matter whether that I didn’t finish the WordPress courses I tried, I developed an awareness of the fundamental concepts of theme development, such as template hierarchy, ‘The Loop’ and how to add functionality using functions.php. I also learnt a lot of PHP which, even though I have yet to implement in a project independently, at least makes sense to me when I see it in a codebase.
However, it still seemed necessary to have some kind of consistency and accountability in terms of the direction of my learning. I listened to a podcast today where one of the key messages to web-dev learners was to not use coding as a crutch, simply blindly coding things and completing tutorials without clear purpose. In an effort to ensure I am consistent – and tracking what I am learning – I have set up a learning tracker on Github.
What’s next?
I’ve already started my next 100 days. After round 2, I initially planned to take a bit of a break from #100DaysOfCode, just coding independently and not rigorously tracking my progress. But I quickly realised that I was missing it – I benefit too much from the structure that the challenge provides.
For now, React is on hold. The next job is to get my Portfolio up to scratch. The current one simply does not demonstrate what I am capable of; I was happy with it five months ago but now I’m painfully aware that the design is clunky and that it isn’t fully responsive. So I’ve completed a new design and am currently coding that.
I’ve also got my first freelance client. It wasn’t my original intention to seek freelance opportunities but I’m keen to get a site up and running that has been created for a business that will benefit them and their customers. I’m excited to have the opportunity to create a website from scratch with actual real-world purpose.
Once those two projects are complete, I’ve a personal project called devLearn that I also worked on during round 2 (told you I was busy!) and then I want to turn my attention back to React again. We’ll see how far I get in round 3!
Free code camp is a great resource good stuff