38 comments

[ 4.0 ms ] story [ 135 ms ] thread
It's come up before on HN but I don't like the notion that GitHub is the place to show off your skill as a programmer. Not all of us can release work as open source :( For good and bad reasons.
Except for those whose contracts state that ALL work belongs to the company (a contract that you shouldn't sign), anyone can release open source code. Of course, it has to be -your- code.

Having a portfolio is important. As I noted in my other comment, code samples have a big impact on hiring decisions. You absolutely must have them, even if they aren't posted publicly.

For development work, contracts stating ALL work belongs to the company is very common. Actually, it's almost universal. A few states have laws that says that clause is void (cali being one of them), but most states don't.

If you decline every job that has a contract that says all work belongs to the company, you'll have a very hard time finding a job. (outside of states where the law specifically covers this case) The ones that don't have it will be ones where the management doesn't know any better, or (maybe) where you're a cofounder.

For reference I'll point you to Joel's writeup on answers.onstartups.com: http://answers.onstartups.com/questions/19422/if-im-working-...

I'm not in one of those states, and I've never had a problem with it. In fact, every contract I've seen has been written like California's laws require.

So no, apparently I -won't- have a problem finding a job.

I did not mean you, literally. People who live in states with specific protections regarding side projects are obviously not going to have contracts which contradict the law.

But that's by far the minority of workers in the US. The only states, to my knowledge, which have specific laws regarding side projects are California, Delaware, Minnesota, Illinois, Kansas, North Carolina, and Washington.

Pretty much every (developer) employment contract I've seen has had a clause similar to this one in it: http://www.elinfonet.com/prov/65 The only option is to refuse to sign it(and get fired/walk out) the day you start working (since they don't give you the standard contract stuff until you start), ask for the contracts up front as part of the interview (probably a good idea) and refuse to accept if it's not changed, or sign it because you need a job.

I suppose you could also move to a state which has protections, but saying you should refuse to sign that kind of contract is rather disingenuous; the majority of people in the US do not have the luxury of simply refusing to sign a contract they find onerous.(either because they need a job, or because almost every company offers the same contract)

The best bet(assuming you live in one of the other 43 states) is to sign it, mention things you've done/are planning on doing, and get written agreements that your employer disclaims ownership over specific side projects started after employment.

The lowest plan on Github is something like $7/mth - I think that's a worthwhile cost to be able to show your code. You could add potential employers as (temporary) collaborators.
The last time I checked there is nothing on github's TOS page stating that your code must be open source. You could, hypothetically, include a LICENSE stating that while the code is public, it is still copyrighted.

Of course, I'm assuming if you have legal/contractual restrictions against open source, those restrictions also apply to making code publicly viewable.

I've been telling newbies for a while now that they need to have a portfolio, preferably one that is web-accessible, like a GitHub account. In the past I've had direct input on hiring and one of the biggest factors was always code samples. We spent more time discussing a candidate's code samples than any other thing. Sometimes we even spent longer than the interview.

Don't worry if some of it is garbage code. We understand that some things get shared on there that aren't up to snuff. And feel free to tell us which ones to look at.

Excellent article and I realize I'm in the land of hackers (whom I truly appreciate) so... I'm going to ask anyway.

What advice do you have for Product Managers who don't code?

I'm a decent hacker but I am a damn good PM! Should I post a Project design with screens created in Cacoo? and where should I put it?

I should write a follow-up article that says "Actually ignore everything I just said. COMMNICATION IS EVERYTHING."

Honestly, I'd start writing about the aspects of your job that you find interesting and worth sharing. You can't fake enthusiasm.

Does saying I love creating awesome code that makes people stop, look and use it help? Or that I enjoy designing something developers look forward to working on?

I want to make health IT products that truly make a person's life better.

If the Internet is your resume, you do not own your resume and you are going to be doomed. You need to own your identity and your resume[0]. This can be as simple as having your own homepage with links to your GitHub, SF.net, Google+, whatever account, but it must be in the first results when searching for your name.

[0]: http://www.marco.org/2011/07/11/own-your-identity

(comment deleted)
Chris Brogan (and patio11 for that matter) is a pretty vocal champion of this concept. Puff up your (personal) brand wherever you go, but always link back to and maintain control of your stronghold. A company/personal blog on your own domain is the natural spot for that.

http://www.chrisbrogan.com/using-outposts-in-your-media-stra...

I don't get Github profiles as resume enhancers. They're impossible for many decision makers to navigate, optimized for reading code rather than supporting the decision to hire you, and make you look like a commodity coder on a site full of talented commodity coders.

If I were to have a hire-me page, I might link to code on Github, but it would be supporting documentation that no one would actually read after they got through my five minute hire-me spiel.

Well sure, but you've got quantifiable product/market successes. For someone in a more one-dimensional role the spiel might not be as easy. Some folks really just want to be a dev on a team of devs, and github is a great starting point for a technical interview.

You're right though, github doesn't optimize its presentation for the resume use case. There's plenty of room for other startups (see my Work for Pie plug elsewhere in the thread) to take that information and package it especially for hiring managers. StackOverflow Careers does a bit of that, too.

Even if you read code naturally, fishing out individual contributions from a Github page is a chore; there are lots of things people can do on Github that will make them appear at first glance to be productive and important.

Lots of applicants give us Github links, and while I'm very happy to have them (please include them), I still have to look at the list of projects and figure out "is this his project, or is it a project he just likes and follows; are these his commits, or is he just backporting someone else's patch" &c &c.

I can't imagine how a hiring manager dev who hasn't used Github before could be expected to make decisions from it.

A forked github project shows the same number of forks as the original, but each fork starts its number of watchers at 1. Easy way to see if you "own" a project or just have forked it.
I agree that it's easy to figure out. It's just not automatic.
In isolation it's useless but if you've put some work into crafting your online presence (i.e. a homepage with a blog, an up to date linkedin profile and a few choice code samples on github), then IME it makes a good impression pre-interview.
Lots of places still make you apply through their job system (legal reasons or something) and most of those require a resume. Putting links to GitHub, Dribbble, StackOverflow or whatever on a resume is probably a great idea though.
Q: "What have you done?"

A: "Google me."

I think thats the best resume you can have.

(comment deleted)
Unfortunately, I share a name with a film director, a cricket player, and a bassoonist for the LA Philharmonic. I wouldn't want to take the chance that they'd find the wrong person's profile.
The idea behind "google me" is that YOU are the only person that shows up. You've got to work to get there. Once you've gotten there though, it's a nice place to be. Without trying very hard I was about to take my blog from 30th to 2nd when you search for my name. I'd love to dominate all top ten spots with different examples of my work.
That sounds incredibly arrogant. And unless a google search of you turns up some amazing accomplishments you will end up looking like a fraud.
Not if your employer is trying to screen hundreds of candidates a day (as attractive big companies are). Anything that requires extra work just gets thrown out.
(comment deleted)
I thought this was going to be by Vint Cerf before I looked.
I disagree.

If you are a designer or a developer I fully agree -- the Internet is your CV. Just Github got so important regarding this.

But if your career profile is more management related it's a bit more complicated. You cannot go out and spam social networks with your achievements or beg for endorsements on LinkedIn -- this is counterproductive, smells like despair and you just shouldn't do this. Please don't get intimidated by such posts.

Best case is always when third parties talk about you AND NOT YOURSELF. With third parties I have news sites or at least well know blogs in mind. That's the best reference the net can give you. To come there isn't easy and the result of some work, don't give in to the temptation to post 24/7 your status on Twitter or blogs, nobody cares and there so many douches having ZERO achievements but are the #1 spammer when it comes to social stuff.

To come back to the management profiles: a classic CV is still much better because you are able to finetune and direct its content to the potential employee. One full-blown LinkedIn profile won't fit all -- a basic profile is more than sufficient and can be extended in a CV.

A last note: when we (friends or colleagues) notice that somebody is extensively working on his/her public profiles (like LinkedIn) and adding information, achievements etc., we know => this guy is looking for a new job and we literally feel his despair. Sometimes it's good to let everybody know that you need a new challenge but again: regarding management jobs you need to be much more subtle and try to signal your strengths in a different way.

I'd disagree with my own post as well if we're spinning it out to 'all job-seekers'.

This is a good point, though - there's no universal strategy.

Reactions to this topic regularly break down into two camps: The people who are proud to have online portfolios, and the people who are angry at the idea that their sterling work experience is undervalued because of the lack of easily available proof.

Here's the thing: No one's saying your under-NDA work with proprietary toolsets isn't excellent work or that you're not at the top of your field. All we're saying is that people who might want to hire you need as much information as possible about you and you're not giving them much to go on. The entire "github/Stack Overflow/your portfolio/the web/Work for Pie* is the new resume" movement is about the information asymmetry that plagues the job market. Employers want to hire awesome people! Job seekers want great jobs! Historically neither side really knows what they're getting until well after the offer is signed and the employee is in the building. There are just too many questions you can't ask without sinking the deal, like "is it OK if I punch out at 5 every day?" or "do most of your former coworkers hate you?"

A sweet github "resume" offers two things:

- Social proof. Are competent people following and working with you in this public setting?

- Hard evidence of your technical skills, work style, communications abilities, interests, and persistence. You can't get enough of these from an interview or from a resume.

Both of these things are gold to a hiring manager, and it's hard to get better answers than the ones you and your trusted associates can glean by reviewing someone's online portfolio. If you've got a portfolio that compares favorably with the job requirements and the hiring manager actually sees this portfolio, you're getting an interview.

This means two things for a job seeker: (1) Have an excellent portfolio. (2) Do everything you possibly can to get that portfolio in front of the people you want to work for. How are we going to make that happen? Focus! Buy targeted Facebook ads for people at the company. Maximize the SEO potential of your personal blog and profile. Become respected and known by the people that your prospective manager also respects and knows. Attend the conferences your dream employers attend. Make every professional move with an eye towards career growth and increasing your desirability on the market. The enemy's gate is down. Good luck.

* Disclaimer: I know, like, and work with the founders of Work for Pie. It's a solid idea with lots of room to grow.

(comment deleted)
You can place me into a third camp: the skeptics who think posting your stuff is irrelevant to hiring, since most companies don't check Github/SO. Also note that the information asymmetry you mention:

The entire "github/Stack Overflow/your portfolio/the web/Work for Pie is the new resume" movement is about the information asymmetry that plagues the job market. Employers want to hire awesome people! Job seekers want great jobs!

is only solved for employers whenever we share info online. Employees are still in the dark regarding whether a company is a good fit. The act of publishing my code online does zero to help me understand a company's culture--it only solves the above asymmetry for companies.

You're right there, and I don't think there's any way to get a straight answer about the inner workings of a company unless you've got a friend on the inside.

The upside is that if you do good work and make it easy for employers to see it (e.g. github) then you can at least cast a wider net. Hopefully you'll get more interviews and offers so that you can pick the company that gives you the best vibe about their work environment and growth prospects.

I agree with the general principals here, but the audience for resumes (the HR people) don't always know, or even care, what GitHub is -- whether they should or not isn't the question. They're trolling through dozens of applications and making HR work harder isn't going to improve your chances. I'll look at your online portfolio or Google your name only after HR has selected the candidates they think I would be interested in.
Uh... almost any reputable company out there requests a resume when applying to a job. So I fail to see how this article is relevant.