
Ask HN: What about a GitHub profile tells you a developer is quality or not? - good_vibes
Trying to learn every day.
======
ageitgey
I think it's a pretty bad idea to try to judge a developer from their github
profile.

For the vast, vast majority of developers (no matter skill level), their
github profiles are somewhere between "non-existent" to "a collection of
weirdo stuff I played around with for a few minutes five years ago that
doesn't reflect my professional output or interests at all". It just doesn't
have much correlation to anything.

I've got several things on github, but even then it's not really
representative of anything. If you look at my profile you'll see that it's a
mess of random projects and toys in random languages. But it doesn't reflect
how I spend most of my time.

There are a few niche cases where a github profile might matter - like if you
are a consultant that specifically works supporting a OSS project and you want
to show evidence of that to potential clients. But otherwise, don't worry
about it.

~~~
good_vibes
Noted. I got this misconception hanging around at a coding bootcamp for a few
weeks.

I got a job on my own as a Jr. Developer and all they wanted to see was URLs
to things I'd made and explaining to them how I built them.

I want to keep progressing. So I should just focus on making more stuff,
describing my process in blog posts, and writing technical tutorials to help
beginners get at least to where I'm at?

~~~
ageitgey
Yep. I agree with patio11's comment. I've had more success due to writing
technical blog posts than anything. It's way more useful / beneficial then
fluffing up a GitHub profile.

I have several GitHub personal projects in the 1000 star range and literally
no one looks at that or cares at all. It just gets me an unpaid side job
answering users questions and reviewing PRs.

But people email me all the time about stuff I've written online and that has
often led to new opportunities. Plus writing online is also tons of fun for me
and a great way to keep learning new things.

~~~
good_vibes
This thread has been invaluable. I'll keep this in mind as I rebuild my
personal site, showcase my work, and write a few technical articles to help
other people get to where I am.

Glad I asked! It's amazing the depth of experience you can glean from here.

------
patio11
I would never take negative signal from a GitHub profile, because for many,
many developers, that will not be a meaningfully sized or representative
example of their professional output. There exist many employers where you can
do excellent work for many, many years and never OSS a single line of it.

I also think that the developer community far overestimates how much "have a
good Github" is worth in terms of creating career equity, both because the
people who you attempt to influence via it are largely not developers and, to
the extent they are developers, are unlikely to spend hours looking at your
Github profile trying to extract signal from it. You can probably get superior
results for far less effort by writing ~3 good technical blog posts. (Do what
makes you happy, naturally, but to the extent that getting well-paying
exciting jobs generally makes people happy I'd recommend almost everyone treat
having a small number of technical blog posts like exercise, in the "simply
too useful not to do" bucket.)

~~~
lj3
Any tips for what to target in those three technical blog posts? Would
something rudimentary like 'how to create your first react application' be
less impressive than something like 'how I cured cancer with the blockchain'?

~~~
sundaeofshock
Speaking by as a hiring manager, I'd be very interested in a blog post that a)
defines a real world problem you are facing, b) describes your approach to
solving the problem and c) provides details of the actual solution. Basically,
you are answering a key interview question for me.

Also, I'm not looking for a cure for cancer here. It can be something that you
faced in your notmal developer life, or it could be a silly personal life
thing. The key is to show me how you go about solving problems.

~~~
good_vibes
Thanks! Revamping my personal site and portfolio, thinking of how to best
pitch myself as a designer-developer with previous experience as a technician
and in sales.

I will try to do each of those for each item in my portfolio to highlight my
design thinking and technical acumen.

------
ericclemmons
As a hiring manager, I used to want to see a profile that competed with my own
(at the time).

Now I've learned that (1) burnout is real, (2) work CAN be intellectually
stimulating enough to not create that OSS desire, and (3) eventually your job
ends at 5 and life takes over.

With that said, I WISH more developers opened issues on the projects they've
used.

All too often I've seen people drop one dependency for another due to an edge-
case.

Even a simple issue explaining the problem, providing a test case or sample
code would be great as an indicator to how a developer approaches problems and
seeks help.

~~~
Can_Not
> I WISH more developers opened issues on the projects they've used.

Tangential, but I wish I had the ability to rename GitHub issue titles on
other people's projects, or that at least the maintainers would do this.
There's too many "Help thing no work plz assist" that needs to be renamed to a
useful description of the problem.

------
boulos
I'm amused by all the "nothing" responses.

At Google, a candidate was referred to our team but had chosen to do all his
interview questions in Python. This left me unable to discern "Can this
candidate write code in C that actually understands memory handling and
pointers?". Luckily, he had a GitHub repo for his work on a FUSE layer he had
written that demonstrated that not only could he write in C, he also had
reasonable commit hygiene (good commit messages, reasonable granularity,
etc.).

I would never begrudge someone for having an empty GitHub profile (mine is
unimpressive), but I've definitely both decided for and against candidates
given the extra data it provides.

~~~
good_vibes
Noted. I got the Google foobar challenge a year ago while on a flight to
Seattle. I didn't finish it because I was still a noob at the time (it
happened when I googled a few things about Angular 2). Will I ever get it
again or did I blow it?

I would ideally like to work at Amazon or Google, both companies have had a
major impact on my quality of life and I would love to contribute in a
meaningful way.

I still get weekly emails for job openings at Google but I've done a lot of
adventure travel in the last year between entry-level tech jobs and had to
work through some personal issues before I could get back on my 'A-game' for
expanding my skillset.

What advice/tips can you offer me about making a quality portfolio site from
what you've seen at Google?

------
BadassFractal
Have hired and let go of big time OSS developers before, with hundreds of
packages they had written or maintained. Ultimately there was no correlation
between their impressive Github resume and their ability to work as part of a
team delivering product to customers, focusing on what matters to the
business.

It seems to me that working on distributed OSS projects with strangers on
Github or working on personal projects in one's spare time is a very different
experience from how most software development shops are run, so there's only
so much overlap there between the skillsets.

It does show you that the person knows how to write some code with no clear
scope or deadlines, but that's a pretty low bar for most places.

------
orthoganol
I think Github is a tremendous resource, but while Github profiles can give a
positive signal, they are not sufficient for negative filtering.

Many, especially older developers it seems, only begrudgingly have a profile
for tickbox judgments encountered during job seeking. The best developer I
ever worked with just didn't care about bothering with a Github profile, and
the worst guy I ever interviewed had an expansive profile, including a repo
with 80+ stars that was trivial and terribly coded, and our team's conclusion
was that he got his bootcamp associates to star it.

At the end of the day it's a private company seeking a profit, and it's a
little ridiculous that it's become defacto mandatory for proving you are a
good developer, in the same (somewhat annoying and unfortunate) way that
FaceBook has become defacto mandatory for proving you lead a social life.

~~~
good_vibes
Excellent point. I asked this question based on two experiences:

1.) after attending a coding bootcamp for 6 weeks (didn't finish) and being
around a lot of people who believed it to be important to 'job placement'.

2.) after someone I know who first asked to join their startup started to
question by abilities because 'your github doesn't have much there. are you
sure you know what you're doing?'

Looking back, doing some HN searches, and after reading this thread...the
bootcamp community in general sketches me out. And that guy having no
technical skills, was not in any position to evaluate my skills.

------
Insanity
I don't judge as a developer's quality based on their github profile. What a
github profile does give me, is credibility to the claim that they are
passionate about software.

When during an interview someone says they are passionate about software
engineering and they have a github profile that reflects this, it gives me a
reason to believe this person. But, I take the attitude that 'absence of
evidence is not evidence of absence'. When another person makes the same claim
but with an empty github profile, I don't assume this person is lying. You can
usually tell if someone is passionate or not by the way they talk abot their
previous projects as well.

That being said, a well-used github profile is not a reason to hire someone
and neither is an empty one a reason not to. Some of the best people in the
field that I have had the chance to work with had zero, or close to zero,
github contributions.

\---

From the other side (the 'looking for a job' one), when interviewing with a
company I worked for some years ago - they did ask me for a link to my github
profile and some open source code I did. But the company made most of their
software open source and they believed strongly in OSS. I believe this was
done not to judge a person for the quality of the work, but rather to get an
idea if the person also liked OSS.

------
pyrophane
Im an experienced developer who doesn't really have much on my github profile.
One or two contributions to open source projects that I've used and a handfull
of issues created or commented on. Most of my code is private. I'm not sure
what, if anything, someone would take away from that, other than I'm not that
active in the open source community.

~~~
nimchimpsky
thats more than me :-)

------
jttam
* Do they have their own projects or do they contribute to others?

* How interesting are those projects generically and in the context of what I would need this developer to do?

* Are these projects actually used by anyone? Are there pull requests, etc?

* Does the developer actively keep working on existing projects or move around? I.E., are these learning vs hobby vs commercial?

* How is their readme? Does it exist? Is it sufficiently complete to convey meaning?

* How is the code organized? Is it reasonably laid out? Do they make use of third party packages and tools? Does it seem like they are re-inventing the wheel?

* Does the code work?

* Is the language chosen the right language for the job? Are they using idioms of that language or more generic ways of expressing loops, vsriables, etc.?

* How extensible is their design? Does it feel krufty or is it a pleasure to read?

* Is the code novel? Are they re-inventing the wheel or are they actually fulfilling a need?

* Are their projects wide and varied in scope and tools?

Those are a few things off the top of my head. Not an exhaustive list.

~~~
cgag
The idea of someone telling me I chose the wrong language for the job in a
hobby project makes me want to delete all my oss code.

~~~
thinkxl
As long as you understand idioms, programming paradigms in general, and good
patterns in specific languages (e.g. list comprehension in python, prototypal
inheritance in js, metatables in lua, etc.) you shouldn't be afraid of showing
off your stuff in X language.

I know good Java developers that have become really good front-ends.

~~~
versteegen
Well Java doesn't have a stigma attached to it like COBOL or BASIC does. What
about those of us who have _terrible_ QBASIC code they wrote when they were 14
on their github/bitbucket/etc profiles? I'm not going to hide that; it's
public because it's useful. (I intend to dig up more terrible code I wrote and
put it up)

------
duncan_bayne
Nothing.

The presence of a high-quality, well-rounded set of projects in GitHub is
mostly indicative of the fact that the candidate in question has the spare
time to work on Free Software. That's a lifestyle thing, and not relevant to
the hiring decision.

------
kasey_junk
Nothing.

------
nunez
Nothing. IMO, the only thing that a Github profile itself tells me is how
often they spend time interacting with Github and writing code.

The code within their Github repositories, on the other hand, can say a lot.
But I won't spend too much time perusing it; I'll probably look at their
resume, see "Oh, they can write Ruby and Golang and have a Github account",
view their Github repositories, see their code, say "Okay, they can write ruby
and golang" or "Oh no, they can't" and move on.

------
thinkxl
I know experienced developers that have few or none activity in GitHub at all.
So, it depends.

You could find developers that:

1\. write good code and are active in the community

2\. write good code and are not active in the community

3\. write ok code and are active in the community

4\. write ok code and are not active in the community

5., 6., etc., (... you get the idea)

So, with number 2, you could see an empty GitHub profile and perceive it as
low quality, but that's the wrong perception. See `pyrophane` comment as
example.

Obviously on a hiring process a GitHub profile with activity is a great plus,
but, again, it depends.

------
ioblomov
Here's one take, in order of increasing quality:

1\. Participates somehow in popular open-source projects, by posting bugs or
updating wiki entries.

2\. Opened merged PRs for popular projects that fix bugs or add test coverage.

3\. Opened merged PRs that add new functionality.

4\. Is one of the maintainers of a popular OS project.

5\. Created a popular OS project.

~~~
nxc18
Define popular. For example: No one really uses reactos in production and a
significant number of hn commenters are disappointed its not a js framework.
Yet I would consider legitimate contributions there to be similarly
interesting to contributions to any other OS (Linux, Minoca, BSD, etc). I'm
fact, I suspect much of the work to be done for reactos is far more
interesting than the work to be done on reactjs, despite the latter being
leagues more popular.

------
bsvalley
It depends on the size of the company.

\- big companies: it's all about eliminating fake Resumes. they only use your
web presence as a background check since they already have their own hiring
process in place to evaluate a candidate (whiteboarding crap). In other words,
they ain't care

\- small companies: they will dig deeper since they don't get many Resumes on
their desk. In this case, it will be about code quality, complexity, comments,
design, etc. think of it as a coding assignment. It's much faster to pretend
that the assignment was a project you've already worked on in the past. The
evaluation criteria are the same as a coding assignment.

------
mbrodersen
Nothing at all. Some of the best developers I have ever worked with are not
interested in writing OSS software in their spare time. They want to spend
time with their family instead. I feel the same way myself.

------
treyhuffine
Unfortunately, the signals for hiring you get from GitHub aren't great. It
could help more junior developers to show off some things that they've built
if their initial resume doesn't have the experience people are looking for.

------
bjourne
Haven't githubs new interface made it almost impossible to investigate what a
developer has written? For example, on my profile page I have 32 repos. But 29
of them are forks of other projects which I haven't added anything to.

~~~
abusque
You can filter these out actually. When you go on someone's profile, and then
to the "repositories" tab, there is a drop-down menu that reads "Type: All"
from which you can select other repository-type filters, namely forks,
mirrors, and sources (the user's own repositories).

It's somewhat imperfect as not all forks or mirrors are marked as such by
github (if, say, it's a fork of a repository not originally hosted on github),
but it works in the vast majority of cases.

------
nimchimpsky
I've never known a developer with an impressive github profile.

I've worked at startups, and banks.

Thats 20 different people at least ... and all pretty good imo.

------
daenz
I've been told I have a "good" github profile. What I've found is that it
doesn't go very far in interviews.

~~~
meric
It's good for getting interviews I think. Most people inviting me to
interviews bring up my Github and it gets mentioned in beginning of interviews
frequently than not. It's a good "opening salvo". It's a positive if you have
it but not a negative if you miss it.

------
bikamonki
Nothing

------
killin_dan
Something other than github. Especially self-hosted gitlab or similar.

