Today I start the #100daysofcode challenge! In this post I outline my objectives and reasons for taking part.
One Hundred Days of Code is a popular challenge that web developers and programmers take part in. The idea is simple: for one hundred days you code for a minimum of 1 hour a day, sharing your progress on social media with #100daysofcode.
What you choose to code is entirely up to you. Some developers opt to learn an entirely new language or framework. Others focus on enriching and gaining a deeper understanding of a language they are already proficient in. Particularly brave participants choose to learn to code from scratch!
Well, as much as I enjoy my job and take pleasure in the need to be constantly learning and improving, the reality is that even with the best intentions, you get stuck in ruts and bad habits, reusing techniques that you know could be better implemented or more refined simply because you are working to a tight deadline often with competing client demands.
I am hoping that taking part in this initiative will force me to learn new and better ways to execute routine tasks and deepen my understanding of the main web languages I already use. I am also excited to develop my portfolio with fun projects I can look back on with pride.
I have four main aims:
- Build a single-page Vue.js application
- Develop small embedded instances of Vue.js widgets within broader non-Vue context
- Improve my understanding of modern web development tools
Let my briefly elaborate on each aspect.
Staying with Vue, I would also like to gain experience of using it in a less monolithic context with functional components built with single instances without
vue-router. One of my projects here will be to build a dashboard within the context of this site that displays my coding data in realtime, using the WakaTime API.
I have pages in my notebooks scrawled with the names of frameworks, services and programmes I know I should know about but which I don't have the time to learn and integrate through daily practice (Webpack, Hadoop, Babel, Vim, Netlify the list goes on...). I'm hoping that short forays into these areas within the course of the 100 days will furnish me with a more rounded knowledge base at the end of the challenge. So I'll be going broad with ancillary skills such as new command line programs,package managers and performance boosting techniques.
There is no doubt that taking part in 100 Days of Code takes discipline and effort, especially when you have a day job in code and are trying to support yourself without the safety net of waged employment and its associated benefits.
To keep myself on track I am going to be quite regimented when it comes to logging my progress, and aim for the following:
- Daily short social media posts explaining what I'm working on. I'll use Instagram instead of Twitter as it is my preferred forum.
- A daily GitHub log using the recommended 100 Days of Code repository.
The above two are recommended by the Challenge but I am going to go further than this and add:
- Monthly blog-posts reflecting on the highs and the lows and detailing my progression.
Wish me luck!