I know… the title is a little provocative, and partially a lie. But hey, you’re here, so you might as well read what I have to say.
I don’t do open source
I’ve always felt this cultural push to do and work on open source projects. It’s the way to achieve programmer greatness. The way you prove your chops as a great programmer to the rest of the world. It’s stupid.
I’m not saying open source isn’t great (it’s fantastic) and I’m not saying that you shouldn’t contribute. I’m just saying that it’s not personally for me. And I’m honestly a little tired of the industry notion that great programmers all contribute to open source. Obviously not everyone holds these beliefs, but I’ve seen enough job postings (from recruiters and sites like Indeed to engineers posting jobs in chat rooms and Hacker News) to see that this is a trend.
My GitHub is full of unfinished projects
My GitHub account is not a place where “real” software lives (mostly). It’s a place where I express ideas, tinker with shiny new toys, and experiment. Some projects have README’s that detail the intent; some projects work while others don’t even compile or run.
Whenever I have a new thing I want to try out or a new idea that I want to try and express, I’ll usually create a GitHub repository to host it. It may not lead to anything, but that is not the point.
I like it this way
For a while now I’ve been attempting to merge the concepts of exploration and experimentation with open source. My primary motivation being to build a “portfolio” of work that demonstrates my abilities. But this inevitably led me to burn out time after time. When I burn out I get depressed, watch a bunch of TV, and spend way to much time playing video games.
I realized that my experiments are not open source projects (in the traditional sense) and that open source is probably not for me, at least not right now. Each person needs to find what they really enjoy and stick with it. For me that means learning through experimentation and small toy projects. And when an idea grabs my attention, I need to follow it.
This likely means I’ll stop working on projects mid-way though, when all the interesting bits seem answered. It also means jumping from idea to idea, depending on my mood or what I find most interesting. These are not bad things, because these are the things that keep me motivated, keep me learning.
Because something is better than nothing
Even if this attitude of “to be a good programmer you must do open source” continues/grows, I’m still better off doing what keeps me motivated, happy, and continually learning. Maybe that will result in open source, maybe it won’t.