Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So I just created my first GitHub repository and started to wonder if there would be any reason why somebody shouldn't post their code. I don't mean the obvious, such as code that is IP of somebody else or any other possible legal situation; I'm talking about a newbie posting their own, albeit terrible, code.

I've heard several times on this site that one of the things that a some of the hiring managers do is check out the person on Github (or similar site), so what if the code is lacking? Would the position desired—for example, if I'm going after a junior developer position instead of a senior developer position—matter?

share|improve this question
Put it wherever you can upload your bugs, wiki and code somewhere else even if the site goes down for a month. This means you need access to that data on demand, without having to use an XML parser to pluck your data out of arbitrary views. I almost answered this, but really, it's too simplistic. – Tim Post Jun 28 '11 at 10:38
up vote 10 down vote accepted

The purpose of private repositories is to save your code without having it in the open. Such as programs that are proprietary for you at the moment and that you don't want to share. Effectively it's just a place to back-up your private code in a remote repository.

Regarding your worries that your code may be lacking if you publish things openly; you shouldn't fret too much about it. Just having an account on github (at the writing moment) tells me that you're in a higher echelon of programmers and in my experience recruiters only check the code briefly on what you've done. Even though you have some mistakes in your code it is still a better gauge for your prospective employer that you can actually do stuff, which matters more than anything.

Almost 99% of all candidates don't give any indication in their resumé on how much they can program or design a program. Heck, some "Senior Java programmers" I've met were so clueless that they didn't even know what an interface is or why they would use it.

share|improve this answer
+1. Don't fret too much about it. Just the fact that @Jetti even has heard of Git, probably puts him in the top 3% already. – Jörg W Mittag Jun 28 '11 at 13:55
Thank you Spoike, this has made me feel much better. I have started pushing my code to my github repo and have a simple C program and a few Java things up there now. – Jetti Aug 16 '11 at 12:27

Get an account on Bitbucket if this is a concern. Bitbucket gives you as many private (Mercurial) repositories as you want.

If you're prefer git, then read the comparison of free private repository hosting services, which focuses specifically on services that offer free private repositories.

share|improve this answer
Bitbucket now offers Git repos. – Nicolás Nov 2 '11 at 17:55
Yeah, the fact they offer free private git repositories is why I chose them over the rest. – Rig Jan 30 '12 at 17:31
Visual Studio Team Services offers free private GitHub repos as well. – Buck Hodges May 20 at 1:16

Open source projects are generally hosted for free on these sites, so make two accounts. One for your hobby sandboxes and another that you don't mind the general public looking at. Publish the username of the good one.

share|improve this answer

There's no harm in hosting on GitHub or Bitbucket. In fact its accessible from anywhere and you can attract other developers to contribute. You could use private repos if you don't want to make projects open source.

And it depends on the hiring manager on how much impact a good github profile makes.

share|improve this answer

Can't think of anything other than shame or humility. Others have said this much better before, but those are very important personal qualities in a programmer. That's not to say that you should tell everyone how terrible your code is, but they can result in someone striving constantly to improve their work. And the field of programming is so mind-bogglingly huge that nobody can possibly learn everything, or even close to it. So be confident that while any programmer can find faults (objective or subjective) with any other programmer's code (or their own), that doesn't mean your code should be hidden away.

share|improve this answer


Take a look at this post: Is it worth listing testing or self-learning repositories on my résumé? -- I would extend it to also having it online with your name on it.

I strongly agree with the accepted answer there. The sum of all things visible about you online is your personal balance sheet. You want to make sure to display as many assets while minimizing liabilities.

If I come across your name and find some of the code you wrote, I can't tell if it's some toy program you didn't care about or if this is your best work.

I just posted my first project on GitHub myself, and I spent good amount of time making sure it is readable by someone other than myself.

If you are just looking for storage, I would take other people's advice and use one of other repositories (online or offline). Personally, I also use Perforce at home (I have no affiliation with the company) for my toy projects. It is a very mature and good product and it comes with 2 free users, so if its just for you, you get full, professional, non-crippled in any way version control system for free.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.