My New Year’s Programming Resolution

Photo by Annie Spratt on Unsplash

It’s almost New Year and time for one of the oldest rituals I’ve participated in: making a New Year Resolution. However this isn’t the typical to-do (and to-give-up eventually) list that many attempt each year. This is a specialized list that is aimed at improving me as a programmer and an engineer.

I am sure other developers out there do the same thing every once in a while either consciously or subconsciously. I started when I switched careers 2 years ago and decided to work in the industry instead of being a hobbyist. My list back then was pretty simple:

  • Learn web development (html, css, and javascript)
  • Build at least 3 projects and an online portfolio.
  • Get a developer job/internship
  • Study computer science

Pretty much finished those tasks (although studying CS is arguably an ongoing process). I made a more complex resolution for 2018 which ended with me picking up a couple of front end frameworks and learning new backend and DevOps tools like docker, GraphQL, AWS, and Neo4j.

Lessons learned from 2018:

I did promise myself to dive into machine learning but that never happened and I ended up honing my statistics knowledge instead. But I should not have put that on my 2018 list in the first place. Not a bad thing since now I know my knowledge and time limits better.

I learned that I am terrible at asking for help when I need it, i.e when I face a super weird error in my code and don’t find an answer online I hesitate to ask on StackOverflow or community forums. Even worse, I realized I would rather hammer at a problem by myself at work rather than ask a colleague. This was pointed out by my supervisor at work and I appreciate it because it has been keeping me back and I am working on being better at seeking help.

New Year’s Resolution for 2019:

Anyway, now that the reflection part of this ritual is done, let me look to the future now. I always try to keep the list short with doable and tangible tasks. Here is my list for 2019:

  • Read at least 1 book about improving my coding style.
  • Learn Go language (already started) and use a Go web server.
  • Actually do a machine learning project and/or take a course in it.
  • Finish at least one monetizable project.
  • Redo and enhance my website in a JS framework.
  • Work out more (the cliché every list needs).

And that’s it. It’s a simple annual process I now consider sacred and has proven to improve me as an engineer.

I would love for this habit to become a trend so that developers get into it and share online so that I can cheat and copy some of their list items into mine.