Development in the Open
Do we really need to hide unfinished code?

22 December 2016

Like many software developers, I tinker with ideas in software, different paradigms, new ways of solving problems, and side projects. By and large, most small things I’ve kept to myself. This has made it difficult when I want to quickly show somebody something I’ve done, since then I either need to create a curated subset of the project to highlight the part I want to show, or suddenly release the whole thing just to show a small subsection. It also relies on me choosing to share with a person, rather than anyone deciding they want to see what I’ve done.

After some reflection, I’m not actually sure what I’m trying to accomplish by keeping things hidden. Insecurity perhaps? Not wanting to share something until it’s perfect? Nothing is ever perfect, so that’s a bad reason. Thanks to phenomena like Imposter Syndrome, personal feelings of insecurity probably aren’t good evidence for whether or not something should be made public.

In the past, when learning something new, I’ve found it useful to look at how someone else approached a problem, even if their solution isn’t perfect. Maybe if I just put things in public by default, someone else might at some point find value in it. So that’s what I’m going to try doing from now on. When I start hacking on an idea, if I don’t have a good reason to keep it private, I’m going to make the source code public.

I’ve already started with the things I’m working on at the moment. The first example, the GTK Rust project I mentioned in a previous post is now available on GitHub. It isn’t complete. To progress, I actually need to revise some old signals and systems theory, as well as some maths, that I last did in university. As part of revising that, I’ve been putting together a Rust library reflecting the concepts I’m revising. That too, is on GitHub now.

Finally, I’ve been taking part in the Advent of Code (and having a great time doing so). You may have guessed where I’m going with this, my solutions to those puzzles are now also on GitHub.