In the quest of a significant pet project

There are so many cool ways about keeping yourself up to date in programming business. Learning by doing is one of the approaches and spending time on a pet project is an amazing way of practicing that.

When starting a pet project you have to ask yourself what you want to achieve.

  • Solving a problem (hopefully a real problem, something that you miss and nobody has implemented a proper solution yet)
  • Coping with a rough domain. Moving from CRUD to, for instance, a web crawler, a parser or some DSL tool.
  • Learning a new language. And remember:

  • Constraining yourself using some techniques in a disciplined and reflective way. Follow TDD, DDD, FP or whatever, but do it as the pet project purpose. 

The pet project that I’m going to dissect in following posts will mainly focus in last point. It will address a simple domain, will be written in my native programming language, Java, and won’t try to solve a real problem at all.

I grab the spec from here. As you can see the guys from The Ladders propose the spec as exercise for practising Object Calisthenics. We’ll talk further about OOP and Clean Code in the future.

Published: December 13 2014