I’m fairly new to programming, and I’ve been working on many personal projects, which I’m concerned can come across as silly and unprofessional. The kind of projects I have are a Reddit Image Downloader and a tool for GMs to use in roleplaying games.
I want to start building up a GitHub account for projects in my chosen field of data analytics, but I’m not sure how to organize projects on my GitHub account. Should I create a “professional” GitHub, mainly containing different analytical scripts and have a separate “personal” account for fun little projects of mine? Or am I just overthinking this, and should I just maintain one account?
10
I say you can eat the cake in have it too! Introducing GitHub Organizations.
Use your GitHub account for your personal projects, and create an organization for your professional projects. The organization’s homepage will show the professional projects you want to introduce, and it’ll have a link to your personal account that shows all the things you have done in GitHub.
Benefits:
- You’ll have the clean separation you wanted while keeping a relation between your personal and professional GitHub activity.
- You’ll be able to control everything from a single account. No need to relogin just to open a repository in the professional account – all you have to do is to select the organization when you open a new repository.
- No need to manage two different SSH keys on the same computer!
- You can add other GitHub users to your organization, and even transfer the organization’s ownership to them if you even need to. Each user will have their own account, so you don’t need to share a professional account’s password with other people. As a bonus, different accounts can have different permissions based on their actual role in the team – something you couldn’t do with a shared GitHub account for professional projects.
Basically, this approach gives you the benefits of both approaches. The only downside is if you have some personal projects that you don’t anyone to ever relate them with your professional public face. However, these criteria usually involves illegal stuff you wouldn’t want to put on GitHub in the first place, so it shouldn’t be a problem.
5
I recommend you keep them together.
- showing suitable personal projects is often a big plus as it shows your passion and initiative
- simpler to manage what goes where over time.
- only 1 set of ssh keys to manage
- no need to log in/out from one to another.
- allows you to have 1 github to 1 main personal email, also simpler.
I think one answer to what you want (and what I do) is to have a paid account (I think its $7 a month for 5 privates) that allows more private repositories. So keep the work/play ones that you want to be public as public and keep other ones as private.
8
I think you should keep the accounts separate.
In almost all cases, work you create as a matter of your employment with a company is owned by the company. It is not your property. When you leave the company, the company keeps all that work and you no longer have any rights to it.
If you keep your personal and work accounts separate, it makes this much easier. When you leave, you just hand over the work account and they take ownership. You would not need to separate your projects from the company projects, and would not need to try to delete the projects from your account. Employment with any given company is fleeting, and the more you entangle your personal stuff with company stuff makes it harder when you separate.
This is my rule of thumb, and certainly individual organizations will have their own opinion on this. I could see some companies deciding that they have no problem with you keeping a copy of this stuff once you leave the company as long as they have a copy too. On the other hand, the company I work at keeps very tight control over things and they would likely fire me if I put company work product on github.
5