You could raise the same argument about all the time they spend releasing open-source software, or producing the really great presentation slide decks that they do.
Regardless of the fact that a well-designed application encourages people to use it more, the fact that GitHub provide their employees with the opportunity to produce such well-polished interfaces is an incredible marketing tool for potential new recruits.
At the end of the day, it all fosters an environment where developers want to be The Guy That Works at GitHub, and all the great talent they attract just bolsters their position even more.
I'd rather work for a product company like GitHub than, say, a consultancy building apps for many many clients, for reasons just like this. When you have a team working on one product that ships to millions of users, you've constructed a giant lever. As Spolsky put it, "Essentially, design adds value faster than it adds cost." [1]
Your developers' efforts create enough value (once spread across millions of customers) that you have plenty of resources left over to take care of every little detail. And some of those details may include tools that make your developers' lives easier. There is great value in well-designed abstractions like GitHub's dashboard: the human brain can only hold so many details at once. When 2 dozen little details are organized onto an internal dashboard, your developers' brains can visualize them and load them into working memory in an instant, freeing them to work on harder problems more quickly and with less detail juggling. This is very freeing and relaxing, and can even help developers see possibilities they couldn't see before.
You can't justify tools like this for every $50K Rails-App-in-a-Box, but companies like GitHub and Google certainly can.
Github is a transparent and familiar way to show off your talents. Facilitating the need for people to know what you can do via github is a smart decision.
Github can be used for more than just developers. I worked with a sales guy who made great github issues. I'm talking the type of "issues" that make reproducing the bug, and understanding context very easy. If he showed that to someone who understands the value in that, than he has demonstrated a great communication skill without every writing code.
Agreed! If a developer has a github account, then they're thinking about some other programming thing on the job instead of the cruddy stuff they're being paid to do.
I love Github's hiring process and their software building process. More companies should implement similar things. Now obviously you can't expect all companies to shell out this kind of cash, but I've read so many blogposts of Githubbers that all say the same thing: we just want to work with awesome people and make great products. It doesn't seem like there are a lot of politics going on. One post I've read by Zach Holman showed that the interview process was more about working on a project that you cared about rather than rambling off tiny utility methods or impractical algorithms.
Hire people who show enthusiasm (and of course talent) instead of those who have memorized interview questions from glassdoor.com
It's a system which disproportionately rewards the lucky few whose employers allow them to either open source their work, or contribute to open source projects... or the people who spend their free time coding. I know plenty of folk who are damn good at their job but like to spend their free time on other, unrelated hobbies.
I'm actually lucky enough to fall into the former category, but I feel that if you only hire people with a respectable presence on github, you're disregarding a large number of people for something beyond their control that doesn't accurately reflect their ability.
If you're suggesting this isn't a good reason to want to work for GitHub I think you're missing the point, which is that GitHub seems like a fun place to work in general.
This is exactly why Github will not ever be the standard. It's fine to show off what you play around with in your spare time, but the very best and most productive workers actually won't have an extensive up-to-date Github repo. This is because they're been gainfully employed and have spent the vast majority of their coding time kicking ass at their real job.
In short, while people with impressive Github contributions can generally be good employees (but not always!), many good employees simply don't have time or interest for open source / side projects.
I admire GitHub's organization and structure more than most, but we can't pretend they're a run of the mill business.
The bar to get hired as an engineer, for instance, is not trivial. Once you have the ability to cherry pick your hires, you can also better select for fit (in this case, capacity to be self-driven on a mostly-remote team).
Also on a purely product-related note, their UX has always (personally) felt lacking.
And GitHub is all about fit and culture. What makes GitHub so valuable is more than just making a lot of code available. It allows me to interact with many developers, discuss reasoning behind changes and learn from mistakes and successes. Being able to interact helps prepare developers for working on a team anywhere. I know many developers work in isolation even at companies and GitHub allows them to get that team experience.
And my evidence is personal experience. I do not need a study to know that interacting more with people makes me a better team player. I know that I have benefitted greatly by cutting back on time reading articles and attending meetups and more time with GitHub activities.
While GitHub makes millions per year, it's important to keep in mind that "GitHub" and every other company is really just a collection of people like you and me. I'm sure their engineers are paid well, but money isn't everything, and it's nice (and motivating) to show up at the office and know there's people out there who appreciate the work you put in regardless of what you're being paid.
There's nothing wrong with showing gratitude from time to time, even if it's for a for-profit corporation if you truly appreciate what they do.
I like to think people who are further into their career and keeping up with development have a github with lots of stars... the github doesn't make the developer, the developer makes the github.
Many of the best programmers I've ever worked with have absolutely no code on GitHub. Why is that? It's because they're using their talents and abilities in industry, solving real problems, in positions where they're obligated to not share the code they've produced.
I'd hire those people any day over somebody with numerous GitHub repos filled with quasi-maintained JavaScript libraries or numerous forks of code they didn't write.
This is a load of BS. I know great developers who don't waste their time on sites like GitHub and StackOverflow (that's probably why they're great developers to begin with). I look at it like this - if a prospective company is so clueless they can't discern what a good developer is for their organization then do you want to work for them? How are they going to handle performance reviews? Look at your GitHub contributions?
This is exactly why hiring on github repos is such a bad take.
Most of these developers, do their job, learn new stacks when the need arises to do so, their work is proprietary, and have hobbies completly unrelated to programming.
Regardless of the fact that a well-designed application encourages people to use it more, the fact that GitHub provide their employees with the opportunity to produce such well-polished interfaces is an incredible marketing tool for potential new recruits.
At the end of the day, it all fosters an environment where developers want to be The Guy That Works at GitHub, and all the great talent they attract just bolsters their position even more.
reply