Do you have a bunch of projects to showcase on GitHub? That’s great because your GitHub profile is the first place I am going to look to decide if you are worth hiring.
I better see a bunch of high quality relevant repos and your contributions chart better look like a green Christmas tree or else you aren’t a REAL software developer.
You’re not committed. You just don’t Git it. Your life is a giant merge conflict.
Seems to be the popular advice to give to software developers looking for a job.
And I’ll be the first to acknowledge that having examples of your code available on GitHub can be helpful during the interview process. Especially if you are just starting out.
But, do you REALLY need a GitHub portfolio to get a job?
I have a confession to make. My GitHub portfolio sucks and I don’t care.
Sometimes I feel like people place way too much emphasis on GitHub and relying too heavily on someones repos is not a great hiring strategy.
If you’ve felt that way before… Smash that like button.
Here are several reasons why GitHub doesn’t matter.
Number one… When I was starting out, it was easy to showcase my personal projects. Those projects served their purpose and helped me get my first software job.
But let’s be honest, it was the work of a newb. As I gained more experience, those early projects became less relevant. They no longer represented my skills.
Sure I could leave them up in case someone was interested in seeing my progression, but frankly, unless you are a newb, I don’t really care about your first projects so why should you care about mine.
Once I had enough experience at larger companies, I removed my early projects and shifted my focus to actual experience. I didn’t want someone to mistakenly think one of those old projects was current.
Turns out, current experience is more important.
Number two… GitHub isn’t the only fish in the pond. I worked for one company that used BitBucket. My current one uses GitHub.
This makes it kinda difficult to show all of my contributions in one place. One company wanted me to create an account specifically for that company.
I guess I should duck in shame for having gaps in my GitHub profile. I must not be a REAL software developer.
This brings us to number three… When you work for another company, unless their repos are public I can’t show you my code anyways.
Most companies are not open source and their code is proprietary. I would get fired for sharing it.
Fortunately, even if you can’t show the repo you are working on, you can show your contributions as anonymized activity from private and internal repos.
Sounds great. We can have our green Christmas tree after all. But only if we intentionally share it.
Hmm, what about those gaps. It’s looks like someone took a pee on my pine tree and killed half of it. There’s holes everywhere.
Number four… Not all of our work shows up as contributions. In order to display a contribution you have to commit code changes and get that merged into the repo.
What about all the time you spent planning, architecting and prototyping things during the early phases of app development. You were working just not committing code.
Or how about the time you spent a month and a half working on a large experimental feature, but designs changed and so you worked another couple of weeks updating your branch only to have management decide to go in another direction.
Your branch dies a lonely orphan.
Hopefully you don’t have a boss with a GitHub fetish. Looks like you are getting lazy. Haven’t seen any activity from you for awhile.
Maybe your work was good, but the owners of repo decided to make a couple of minor changes on your branch, squashed the commits and merged the code. You didn’t open the PR and you didn’t do the merge so they get the credit.
Number five… That tree could be looking pretty bare right now. If you were even half a developer you would make up for it with personal projects and open source contributions.
You’re totally right. If I was half a dev I would ignore my employment agreement that says my employer owns all code I write. I should totally risk getting fired from a job I like to keep my tree looking green. Makes sense.
Why not make it public and easy to find. Maybe add them as a watcher on the repo.
I’ll admit, that early on I cared more about my green tree and how it would look if I had gaps. But, it was liberating to let it go and not worry about it. My resume can speak for my experience.
If someone is so stuck on my non-rockstar looking GitHub account, then they are focusing on the wrong metrics and I probably don’t want to work for them.