I've been coding for 100 days and here's my ten cents on the experience.
I was instantly inspired to start the 100 days of code challenge after hearing Alex Kallaway talk about it on Code Newbies podcast. Part of Kallaways philosophy behind the challenge is to not over think it, just start fire up an IDE and start coding before you have time to make an excuse. I urge others thinking of taking on the challenge to do this right now. Stop thinking, publically announce it on social media and just DO IT.
Why I took On The Challenge
I remember being completely put off programming when first trying to learn Visual Basic for a university project. I was under pressure to read guides, learn the language and build a functional tool to spec in a matter of days . I found the whole experience pretty stressful and it left a bad taste in my mouth for a while. Aside from writing a few python scripts for work I've generally tried to steer clear of programming whenever I can. However, last year I attended a dev summit where I saw so many passionate developers talk about the things they had built and proudly showing it off to hundreds of people, it was enough to change my outlook on programming and I realised I wanted to have a go at building things too. 100 Days Of Code was my excuse to kick start this properly. A reason for me to learn anything and build anything I wanted.
Thoughts and Lessons Learnt
For my 100 days I really wanted get my teeth into web development with a focus on data viz and web mapping tools. Pumped with motivation and raring to go I threw myself straight into learning React. I didn't really know what it was but everyone talking about using it to build their web apps, so I thought I better learn how to use it too! Right?
About an hour into reading the documentation and doing a few tutorials, I realised I was in way too deep! I had no idea what was going on. This was my first massive mistake - Anyone who has done any web development can tell you how broad the field is . It's a mine field full of weird and exciting technologies all promising to change the way you work forever. Don't fall for it, or least not straight off the bat.
I realised I had to ensure my fundamentals of HTML CSS and JS were solid before I started building anything, I promised myself not to be seduced by another fancy preprocesser or framework before my fundamentals were in place, and I'm glad I figured this out early on and stuck by this. When I eventually started playing around with things like SaSS and Jekyll I had a much better appreciation of their abstractions and how they were making things easier, rather than just using them for the sake of using them.
As each day passed , there were many more moments where I felt I was in way over my head. I felt demoralised when I got stuck or didn't understand a concept. However, forcing myself to code everyday meant I didn't simply accept the fact I didn't understand something. I learnt to break down concepts into more manageable chunks, focusing on the smaller components first before bringing it all together. When things finally clicked and made sense it felt like a massive milestone. It sounds so obvious now as I type this, but its OK to not understand something straight away. Programming is hard! Whether you have to watch a dozen YouTube videos on the same topic or you have to hack around in a console for hours on end, nothing is too complex to understand when you break it down.
As I became more confident in my skills I finally got around to coding a few things over the 100 days. One being this blog site built using Jekyll. I learnt a bit about making Twitter bots with TweePy . I also had a quick go at trying to make a game with Canvas. Most recently I have been working on an interactive air pollution map using the London Air API, Leaflet and Chart JS.
Though it feels good to look back on what I've learnt and see that all those hours have actually amounted to something tangible, I'm far more excited of the prospect of learning and building even more things, maybe I'll even revisit React again.
If you've made it this far, thanks for reading! If you're on the 100 Day of Challenge or just about to start, I wish you good luck on your coding endeavors.