To better learn Golang, I’ll be taking the next year to focus on the language. I’ll attempt to use Golang in all of my side projects, and keep them small and focused without letting them go on forever. With that said I’ll be using two methodologies when it comes to writing side projects.

  • The Cult of Done
  • Prototyping

I’ll be using this repo to track progress as the year goes on.

The Cult of Done

Created by Bre Pettis and Kio Stark here, I discovered “The Cult of Done” through a YouTube video by No Boiler Plate. It is an approach to creative work, that forces you to finish the work at hand. It comes with thirteen tenants listed below -

  • There are three states of being. Not knowing, action, and completion.
  • Accept that everything is a draft. It helps to get it done.
  • There is no editing stage.
  • Pretending you know what you’re doing is almost the same as knowing what you are doing, so just accept that you know what you’re doing even if you don’t and do it.
  • Banish procrastination. If you wait more than a week to get an idea done, abandon it.
  • The point of being done is not to finish but to get other things done.
  • Once you’re done you can throw it away.
  • Laugh at perfection. It’s boring and keeps you from being done.
  • People without dirty hands are wrong. Doing something makes you right.
  • Failure counts as done. So do mistakes.
  • Destruction is a variant of done.
  • If you have an idea and publish it on the internet, that counts as a ghost of done.
  • Done is the engine of more.

The plan is to release lots and lots of projects. Some of them may work but some of them may be failures. The purpose though is not the projects themselves but the learning of Golang (and other concepts) along the way.

Prototype - Throw away your first draft

A recent blog post by Nicole Tietz on the importance of prototyping features and initial projects. To put it simply, when first tackling a coding problem, the first draft should be an effort to understand what you are building. Mistakes will be made, the code will be messy, and it won’t follow best practices. The next step is to throw away the code that you wrote. Mistakes will have been made, the code is messy and it doesn’t follow best practices. The next draft will be a clean slate with none of the baggage, but now the second draft can be written with the experience of already solving the problem once.

How the Repo Works

The repo is split into two main branches, Main and Prototype. Most of the work will be done in the prototype branch. Each directory in the branch will be its own mini-project. Most of the projects will never exist outside of the prototype branch. However if one of the projects is particularly interesting, I plan on rewriting the project (from scratch) within the main branch.