From Rafael Carmargo’s blog:
Microscopic scope The fastest way to kill your motivation is trying to build something big.
This is where I find myself getting stuck and then distracted because making the kind of progress I want to ship something is too large of a scope.
And by big, I don’t mean how successful the project could be — I’m talking about the number of features you try to cram into it. Aim small. Even better, aim microscopic.
We sure don’t do open source for the paycheck but even if we did, small > repo graveyards.
For example, don’t try to build a Finance Manager. That’s way too broad. There are zero boundaries. It could have 5 features, or 50.
Shrink that idea down hard until you can see the whole product in one glance. Here’s how: take that Finance Manager and narrow it down to a Retirement Calculator. It takes in 5 or 6 parameters and tells you when you can retire.
This is the way.
Solve your own problem
From his blog:
Don’t build something you wouldn’t actually use.
If trying to build something big may kill your motivation, being your own customer does the opposite. When you create something that solves your problem, improving it over time is a natural consequence. Plus, you’ll be way more willing to spend time on it because it genuinely helps your life or gives you a competitive edge.
This is also the way. And I have ideas but they are too far out of scope for my skillset.
For instance, I want to make a service to ping the network at different intervals to record when there is the most latency in the network and record it to a csv file in Go. Can I do that? Am I able to do that? I think so.
But I start by looking at the Standard Library and looking ahead to what libraries I should be using when really I think the first step is building a web server, which I just now figured out. It is the simplest thing you can build in Go.
And finally
Your job is to put together a great dish — not to set the table or wash the dishes.
Time is super limited when you’re working on side projects. If you burn too much of it on boring or repetitive tasks, the project won’t last. Promise.
This makes complete sense.
Too many websites
I run far too many websites. I have one for random tech thoughts, one for my thoughts on the intersection of tech and media literacy, I have one for electronics lab and experiments, one for books, and a personal one as well as this one, and one for photos.
I cannot keep this up. Some of these will need to be consolidated to one or two. I don’t need to fracture my attention this way so I’ve cut down the amount of sites I write on significantly.