I have a tendency to not use GitHub in the way that it should - namely, I do all my coding locally, and when it feels finished to me I decide to start a repo. I then decide to push everything in one or two commits, not showing a history of how I went about the software design process. This is a post about what I plan to do differently.
The Reasons Why I do This
One of the main reasons that I avoid the use of GitHub is because of a fear of empty or dead repositories. I’ve noticed that I don’t want to start a project only to abandon it (looking at you sellersgrant/AdventOfCode2017). This does leave traces of my interests and aspirations, although unfortunately these traces are coupled with my subsequent lack of time or motivation.
Another main reason is people seeing my works in progress or my source code. I’d much rather show someone a finished project than something that I’m halfway finished with, as I’m sure many people would. And I’d much rather show a clean demo video of a project than the source code with all of its potential flaws. I think this is especially evident in my AdventOfCode2018 repository - it’s cool to say I finished AoC2018, but since I decided to learn C++ for the process, I’m not sure how quality the code is.
Lastly, it’s because I work alone ony many projects. As such, I don’t need a place to share code, and I don’t need version control software to reset changes when one of us breaks the project. It could be helpful, but chances are, if I’m the only one working on it, then I know how it broke and can fix it quickly.
What I Am Doing to Get Involved
One thing that I think is helping me change this workflow is private repositories. I’m working on a couple of private repositories, one with a friend and one by myself. These are to get more used to coding daily and commiting often with productive messages.
My next goal is to make these repositories public. I think it makes sense to get them in a reasonable condition (with minimally viable work done and basic READMEs/LICENSEs).
To make myself feel more comfortable and professional, I’ve changed my GitHub username. This did end up breaking many of my old commits (now seen as gsellers37 in parts of my repos, or U-DESKTOP-UJMLSS3\Grant on ddperera\Trace). While this is unfortunate, it isn’t very serious in my opinion. Mainly because, like I mentioned earlier, most of my repos are one or two big pushes with few commits. Mostly, I wanted to get something with my first and last name in it. While grantsellers was free, grantsellers was not free as a dotcom website or a linkedin URL, so I opted for sellersgrant which was free for both.
To move towards working in teams, I’ve read through the Open Source Guide and am watching a couple of repositories/mailing lists for projects that I’d like to get involved with at some point soon. Mainly:
- LMMS - Free, open source, cross platform digital audio workstation for creating beats.
- Audacity - Free, open source, cross platform audio device for recording and editing.
- Awesome Music - an awesome list of music resources
I’m excited. I’m enjoying the projects I’m working on, and I’m anxious to start collaborating on bigger already-existing ones. I imagine this sort of work will help me improve as a software engineer, but mainly, I’m enjoying doing the programming. I’d also enjoy collaborating with others and giving back to the open source community, since I use a fair amount of them for personal use.
Thanks for reading!