Why everything you do should be on GitHub
I started studying computer science in 2010 and noticed that some of the students were actively using GitHub for their version control needs. I finally created my own account in September 2011 and thought that I was horribly late to the party, I had used various SVN based solutions for my school projects by then and finally decided that I should switch. However, I already had my workflows for SVN and TFS and never completed the transition. Then I started to work full time within the .NET eco system and the company used a locally hosted TFS for version control. So I stayed put with my Visual Studio Online account and never thought more about it.
Until this summer, when I decided to start investing in myself
You can be the most talented software developer at your company, your unit tests never fail, your code is flawless and you modernize your company’s workflows and technology with every project you finish. You are 100% sure that your manager knows how much value you bring to your company, right?
The truth is that everything you do is not self-evident to even the people in your team, even if you do something amazing, if no one sees it, it didn’t happen! So not only do you need to focus on your development skills; from a career perspective it is equally important to market your skills and endeavours.
Getting a GitHub account does by no means solve this transparency problem, but once you have invested time in your personal projects and started to build an impressive contribution history, you have a really strong track record of your activities. I don’t know about you, but I’ve been asked if I work on side projects on my free time on every job interview I’ve been to. I have truthfully answered that of course I do and proceeded to tell about the most recent project. But for some bizarre reason the source code has been protected in some invitation only TFS repository, so I could as well have made it all up. Now that everything I do is public knowledge on my account, I can just show it to my boss on my next performance review or salary review and of course the next time I am on the hunt for a job.
You should work on something on your free time
You have thought about it several times, maybe you even wrote a few lines of code a couple of months ago, but you just didn’t find the time or something else got in the way. Just get to it already!
It does not have to be the next big thing, it does not have to be a tremendously ambitious and big project, it should just be something. Maybe you want to explore a new technology or framework? Or get into mobile application development? Join an open source project? Just get to it and work on it now and then, all you need to do is show that you are willing to improve as a developer and you will distinguish yourself from nearly everyone else.
While we are on the subject…
One thing that really stuck with me when I read Code Complete, was:
“Pat yourself on the back for reading this book. You’re already learning more than most people in the software industry because one book is more than most programmers read each year (DeMarco and Lister 1999).”
I do not find it particularly hard to find the time to read a book now and then and it really surprises me how uncommon it seems to be. It would be interesting to see similar statistics about spare time programming. After all, it is a valued trait by recruiters and managers, so any career devoted developer should try to pursue a project.