My side project game is at its all time low. Maybe I am using unhealthy comparison with myself during college years when I did not need to care about grownup stuff. But only shipping a tiny, two page app per year is sad. Strange part is that I am still constantly hacking on side projects, nothing has changed there. Where are those projects now? Oh, right, they have been abandoned before reaching “shippable” state. After some retrospective on previously successful and failed projects I think I have found why this is happening.
Spending too much time thinking about the best technical solution. There is no need to think how the solution will scale when there is only one user — me. Facebook was built with PHP and plenty of companies started with Ruby on Rails. What was my reason for using Go on Google App Engine when Python had superior support and prototyping took half the time? Geeking out on new language, I guess. The best technical stack is the one which gets You from zero to production the fastest.
Creating projects that have no clear reason why they should exist. There is nothing wrong with creating one more JavaScript web framework. But as a bare minimum the new framework should have at least one novel feature. And that feature should be the first thing implemented and shipped (think Minimum Viable Product). If the feature does not bring anticipated value, then there is no reason to build the rest. I somehow have forgotten about S.M.A.R.T goals.
Juggling too many projects at the same time. Switching between projects is mentally demanding and turns out to be counter productive in the end. If I am stuck on a project, I am way better off going for a run than stuffing my brain with a different problem.
Following my short retrospective I have devised an action plan for 2017.
I have already made some good progress following my plan, so stay tuned for more posts about my projects.