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?

  • 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.
    – user131
    Jun 28, 2011 at 10:38

7 Answers 7


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.

  • 3
    +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. Jun 28, 2011 at 13:55
  • 1
    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, 2011 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.

  • 13
    Bitbucket now offers Git repos.
    – Nicolás
    Nov 2, 2011 at 17:55
  • 1
    Yeah, the fact they offer free private git repositories is why I chose them over the rest.
    – Rig
    Jan 30, 2012 at 17:31
  • Visual Studio Team Services offers free private GitHub repos as well. May 20, 2016 at 1:16
  • Your link is broken
    – White_King
    May 20, 2021 at 10:47
  • As of Jan 2019, GitHub free accounts can create unlimited private repositories: github.blog/2019-01-07-new-year-new-github Sep 3, 2023 at 20:20

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.


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.


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.



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.


There is no harm in having public repositories. However it is true that recruiters like to browse your GitHub profile and see what you have done. If you have a mix of 'beautiful' and 'ugly' projects, you can always make a portfolio website that displays the beautiful projects, or even explains which repositories are beautiful and which are sandboxes. Also it is a good practice to describe each repository in a README.md document on the root of the repository, that way, visitors to the repository can understand the purpose and spirit of the project without having to rely on making their own judgment.

It is always possible to use BitBucket or private GitHub repositories to host your private or test projects. However, the two methods of using a portfolio and writing READMEs are usually sufficient.

To create a unifying experience, please consider publishing a portfolio website at username.github.io. This is possible through GitHub Pages.

Although your code may be terrible, it is important to consider that great projects start off terribly, code changes over time, and publishing terrible code has the advantage of showing that you are actively working on projects. But of course it is also recommended to use the usual guidelines of coding such as making sure every commit is a working commit, using testing code etc.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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