Hacker News new | ask | show | jobs
by 3pt14159 4685 days ago
You will make more money if you have an active github account. For most people this means side projects/work.

You will be a better developer if you code more. You will be exposed to more languages, tools, people, and ideas.

If you don't code in your spare time, but you are happy where you are, don't feel like you are a bad developer, you just will not be as good at development as you could be. It is your life, why does it matter if you prefer to paint paintings at night instead of code? If you don't need to maximize your future revenue, don't feel bad.

If you want to be a better developer more than anything, then you should code. If something is stopping you from doing that, remove the blocker.

Personally, I don't hire anyone if I can't see code samples. 95% of the people I hire have their code samples on Github (not in a .zip file). So make sure you have some code samples available, but it doesn't have to be a side project or open source work.

10 comments

I hear this quite often about Github and it's a bit disturbing to me. If I heard an editor judge an author's work based on what that author posts to twitter, I'd be horrified.

I can't be the only person on Github that uses it primarily as a junk drawer full of bad implementations and abandoned "projects" that were more quick and dirty personal itches. Sometimes I'll contribute to random OSS, but the vast majority of GH for me is just a place to store random ideas, many of which were just toying around with some new tool or whatever and would never see the light of day in production without given much more thought.

Honestly, if you want to see code samples, you're probably better off watching the person work through a problem. Give prospective hires a project. Whether its as simple as fizzbuzz or as difficult as a trial week is up to you, I suppose.

> If I heard an editor judge an author's work based on what that author posts to twitter, I'd be horrified.

And yet, many potential hires are judged by their facebook posts[1,2], tweets, blog entries, and anything that can be found in a google search. All of this amounts to methods of elimination. You can treat it like a portfolio, but an active github account is just a cheap way to filter out possible negatives.

It is also good to mention that, unlike writers, a lot of programmers cannot show their previous work, because it is the private property of their current/previous employer.

[1] http://www.forbes.com/sites/kashmirhill/2012/03/05/facebook-...

[2] http://www.wired.com/threatlevel/2013/01/password-protected-...

This is why I use Bitbucket, with its unlimited private repos, for that junk drawer. I can keep my throwaways and false starts private.
Very true - I use Assembla!
I think a stackoverflow page would be much more valuable. Just looking at how a person answers a question tells a lot more than the code they forked or abandoned.
I think judging an author from their tweets is a horrible idea, but what about their blog? That seems reasonable. If anything, the average 'technical' interview is closer to the Twitter idea, with lots of code golf questions, but you can see what a person can really do and really likes to do on Github.
I don't think you're necessarily judged by the quality of your Github code as much as the fact that you have Github code. Especially if it's a bit out of your normal box.
Yeah I agree this is pretty scary. Two of my clojure projects on github are from when I was learning the language. I'm much better at clojure now, but the public facing code is junk because I was in proof of concept mode, not fluent, idiomatic mode.

I'm torn. Do I leave it up there to show that I enjoy learning new technology in my free time, or do I take it down because it's not coded in the professional quality I hold myself to at work?

Leave it up.I think the fact that you're the type of developer who goes out of his/her way to learn Clojure trumps the fact that it might not be the highest standard code.
I agree with philangist. 99.9% of people that apply for web dev jobs don't have clojure experience. Worst case scenario put it in the README that these were projects from your early understanding of Clojure.
You will make more money if you have an active github account. For most people this means side projects/work.

More than what? The highest earning programmers I know have never heard of github and would never consider using it.

You will be a better developer if you code more. You will be exposed to more languages, tools, people, and ideas.

You will be a better developer if you deliver more. "More languages, tools, people, and ideas" can just as easily dilute your focus as improve your skill. To get better, you must focus on results, not activity.

If you don't code in your spare time, but you are happy where you are,

Why do you assume these 2 are mutually exclusive? I know lots of excellent programmers who deliver more before noon than most deliver all week. Nothing wrong with being excellent during working hours and doing something else in your spare time, like perhaps, enjoying your spare time.

If you want to be a better developer more than anything, then you should code. If something is stopping you from doing that, remove the blocker.

If you want to be a better developer more than anything, then you should deliver production quality software. Sometimes the "blocker" is a distraction. Distractions can be other things that masquerade as "side work".

Personally, I don't hire anyone if I can't see code samples. 95% of the people I hire have their code samples on Github (not in a .zip file). So make sure you have some code samples available, but it doesn't have to be a side project or open source work.

Personally, I never show code samples. I'll gladly go through the right company's process, including coding for them. But they don't get to see anything I've ever done before out of context and without proper permissions. And personally, I will never work for anyone with hard and fast rules about hiring. 3pt14159 is choosing to not consider many of the best programmers who refuse to show their underwear. His loss.

> More than what? The highest earning programmers I know have never heard of github and would never consider using it.

Honestly edw519 you are being pedantic. The highest earning programmers I know made billions of dollars starting a company and now no longer program. The outliers don't matter because most people are not competent enough to be an outlier. And that is ok. It is OK to "just" earn $200k / year at 27 years old working a 8/9 to 5 job. If someone follows my advice, they can easily achieve that if they want to.

> You will be a better developer if you deliver more. "More languages, tools, people, and ideas" can just as easily dilute your focus as improve your skill. To get better, you must focus on results, not activity.

I completely disagree. I hand rolled ASP (pre .net) code for 4 years manually stitching things together. No. Production on its own once you stopped learning doesn't matter to your personal development. I became much more productive once I switched to Ruby/Python.

Results mean coding up another pricing page for yet another A/B test.

> Why do you assume these 2 are mutually exclusive? I know lots of excellent programmers who deliver more before noon than most deliver all week. Nothing wrong with being excellent during working hours and doing something else in your spare time, like perhaps, enjoying your spare time.

Why do you assume that I assume that they are mutually exclusive? I said essentially "If X and Y then Z" someone could code in their spare time, and be happy where they are (coding is self fulfilling for its own sake). But if someone is not happy where they are, and they are not coding outside of work then I think they should start coding after work. This is not exactly a ground breaking opinion. If you are sick of working at a souless jquery job, learn a more productive language on the side and get moving.

> If you want to be a better developer more than anything, then you should deliver production quality software. Sometimes the "blocker" is a distraction. Distractions can be other things that masquerade as "side work".

I agree that this could happen, but more often the opposite thing happens. People come to work, check out, and slowly stop caring about learning because every day they are doing the same thing and working on small problems that don't really matter (like making a stupid parallax effect because the marketing guy wants it). Usually people could be more productive and be paid more if they understood more productive technologies.

> Personally, I never show code samples.

Well ok. Put yourself in my position. You get 1000 resumes a week and 58% of people exaggerate or outright lie (I know MySQL, can't do a basic join clause) and 40% are completely unqualified. Now, I put in a very basic requirement. Send me code sample or a link to your github. 100 resumes, half of which have horrible, horrible, horrible code. 45 of which have decent, but not amazing code, and 5 of which have outstanding code.

I've yet to interview someone that had amazing code and turn them down for the job. I went from rejecting 8 or 9 out of 10 people in an interview to 1 or 2 out of 10 (depending on the position).

Code isn't underwear. Code is a product. You don't hire photographers for your wedding without seeing their work. You don't give production keys to people that don't know what a hash table is. It is that simple. Not my loss. The rest of you are the crazy ones and in the long run I'll be proven right.

Hopefully this attitude becomes more prevalent in the industry, the pendulum has swung too far to the other side.
> Personally, I never show code samples. I'll gladly go through the right company's process, including coding for them. But they don't get to see anything I've ever done before out of context and without proper permissions. And personally, I will never work for anyone with hard and fast rules about hiring. 3pt14159 is choosing to not consider many of the best programmers who refuse to show their underwear. His loss.

This is a pretty bizarre position. Don't you have any code that's carefully prepared and that you think represents your ability to at least write clean code? And wouldn't you rather show a potential employer that carefully prepared code than trying to whip something up on the spot?

Also, a lot of things like showing off your chops at configuring complicated builds with, say, maven or ant can hardly be demonstrated in an interview or an overnight coding assignment. You need to have a nontrivial project prepared to show that you can write a nontrivial project.

How does your no hiring without code samples work when it comes to IP encumbered industries? I for one haven't worked without a NDA that includes my code for over 10 years, and neither have any of the people on my current team.

Further, contributing to open source projects (outside of what I do for my employer) is also problematic, because nearly all the things I'm interested in/expert in are very related to what I do for my employer. Figuring out what is and is not work product and what I can and cannot release is a hassle I just don't want.

Seems like your rule and your reliance on GitHub is a very narrow filter and you are likely getting a very narrow subset of potential applicants.

Keep in mind that the OP is probably in a very different industry than you are; if you have enough expertise that your interests are things you can't work on independently (like quant or security?), you will likely be applying to a nonoverlapping set of jobs as the OP, which (I'd guess) are much more interested in experience than a github profile.

On the other hand, if you're a startup CRUD hacker, your potential employers are much more likely to expect some personal CRUD projects in your github, since 1) that's easier to do than personal quant/sec/whatever work and 2) there are likely a lot more applicants for such jobs, so they can afford to filter for "hustlers"

With reference to my comment here [1], here are the two weak points I see in what you wrote:

A. From a legal standpoint, AFAIK (IANAL), things that fall under the same trademark code are considered to be one industry. I have said this before in various discussions forums and while I am open to hear that I am wrong, no one so far as told me so. This means that "Computers, software, electronic instruments" are considered to be one industry [2] from a legal standpoint.

B. Even if the OP or you feel that you are in a very different industry, you/OP need to check your contracts for such IP issues before concluding that you do not have the same issues.

[1] https://news.ycombinator.com/item?id=6245738 [2] http://www.tmweb.com/trademark_classes.asp

This exactly. As I have written in many comments before, a large set of people have such IP issues from their employment contracts without even realizing that they "too" have such issues. From the discussions that resulted in those comments, my understanding is that unless you find your case to be otherwise, if you are working for someone else in the tech sector, by default you are under an employment contract that prevents you from having side-projects of your own. This seems to vary between countries somewhat. If you have not even read your contract, or were not even aware that you signed one, please do not retaliate before actually confirming your case.

If someone has side projects on Github, it may reveal something (good or bad) about their coding skills [1], but it also reveals, most probably, their lack of understanding of legal and IP issues [1]. (It may in principle be telling about their risk-thresholds if they were aware of the legal issues and still took the risk, but this is not the most probable case.)

In various discussions I have had on the topic, even companies who otherwise are open to their employees having side projects nevertheless block them from the same in their employment contracts. In other words, if it all goes well for the company, it's fine, but if things go wrong, the employee may be under a big trouble.

[1] While telling nothing on this front, good or bad, about the same for people without such side projects on Github or elsewhere.

I know our devs cannot share internal code and are limit to what OSS projects they can work. They actually need to get approval to work on an OSS project outside of work (yes). So that basically means they can't share the bulk of their work. The only option then is side projects on github, and this leaves you in a bad situation if your life outside of work doesn't involve coding non-stop.
This still may not be the complete picture. I do not think, most probably, even side projects on Github or elsewhere is legally an option. See my comment here: https://news.ycombinator.com/item?id=6245738
It may depends on laws in your area also. I see people in CA defend this because they have laws that allow "moonlighting". Not all places are like this. I'll admit that I no very little law. That's why a lawyer came in to explain the contract to us. He basically said don't sign it if you want to continue OSS projects.
Hi John,

Being based in California, I am well aware of the laws specific to here also (though IANAL). After having read two books on IP laws, I totally agree with what this lawyer told you -- not to sign. If you were to sign, there are plenty of things there that prevent you from having side projects and moonlighting even if you are in California.

A question: So did you join the company without signing it? What was the reaction of the company? Were they just OK? I know of cases where not signing meant refusing to accept the job. I also know of one case where they allow you to not sign it, but then also bar you from receiving any sign-on and performance bonuses while you are with the company (i.e., you get only the basic pay plus benefits, no RSUs, cash bonus, etc.)

Thanks.

We were acquired and in order to stay employed you had to agree to the new terms. This is a very very large corp that's core business is IP, they don't make exceptions for this. I have bills to pay so I signed.
The people I hire are more useful to me if they can contribute to open source. Also, if you can't get me a code sample of SOMETHING, then 99.99% chance you could not pass our technical interview. I'm not asking for the world here. I'm asking for 10k lines of Ruby / Python / Lisp / C++ / C / ANYTHING.
We are clearly in a different industry. Even asking for code samples in my industry opens me up to potential legal liabilities.

I've stopped interviewees during an interview when I felt like they were treading on what we would consider protected work product.

It is entirely possible I can't pass your technical interview, but I'd be surprised if everyone in my industry couldn't, and they are all as restricted as I am.

Finally, I hope that is a typo. Asking for 10k lines of code is beyond the pale for anything I've ever heard of. If you want 10K lines of my code you better be prepared to pay for it.

My bet is that 3pt14159 is in the same industry too and unless he has is own startup, is probably bound by the same restrictions either without realizing or without caring.

>> If you want 10K lines of my code you better be prepared to pay for it.

+1.

I do not mind someone having me write code on a whiteboard during an interview. Asking for 10K lines is indeed out of question since this would invariably be code I have developed for a previous employer. I am working on my own startup now and still won't show 10K lines of code to protect the startup's IP!

There have even been a case where a colleague pulled out code he had written at previous employment for use in the current employment. We blocked him from doing that.

  > You will make more money if you have an active github 
  > account.
I highly doubt this, but I'd love to be proven wrong.

There's also a downside with sharing too much information about yourself without being present to answer questions or provide more context: It lets an employer discount you as a potential candidate simply because of their misunderstanding of your work.

As evidence, refer to the "n projects on github have SQL injection security flaws" articles that show up here occasionally. But we all know that when you're just hacking around on something for fun, you might write code like this. The point of your project might have been to quickly demonstrate something cool, yet it can be used to demonstrate that you lack security awareness (even if that's not actually true.)

If you doubt this then you are probably in a completely different industry than I am. I cannot prove it to you except by my own experiences with managers and salary recommendations.
This seems highly dependent on which kinds of software companies you are talking about. I hire lots of developers and I have never looked at anyone's github profile. Also, I don't recall any candidate asking me to look at their profile. I have seen a few resumes that have included one, but not very many - and I look at a lot of resumes.

I'm not making any judgement about the value of the profile, but in my corner of the world it doesn't seem very important or even common.

> If you don't code in your spare time, but you are happy where you are, don't feel like you are a bad developer, you just will not be as good at development as you could be.

This is simply not true. Some developers will improve the more they code under the right circumstances. Others are sort of like the person at the gym who has bad form that, for one reason or another, is never corrected. For this person, more exercise is actually detrimental.

> You will make more money if you have an active github account. For most people this means side projects/work.

This can't be true if you count all the programmers working in the financial industry.

"but it doesn't have to be ... open source work"

Would you be comfortable with the candidate that would put a brief description on CV and bring a laptop to the interview to show it?

That reads to me very wrong.

"remove the blocker"

That mean to me either dropping the SO or not doing my house chores.

EDIT: fixed typo

This is quite bad. Why don't where I work and what I do get any credit? If you see my github account will you hire me without an interview and without asking me any of those "programming puzzles" popularized by google? You could learn about the drive of a person by his github account but cannot get anything else from it. Of course that does not mean a person without a github account is without motivation.
I am quite positive many of these are more myths like many that Google busted.

[1] https://www.linkedin.com/today/post/article/20130620142512-3...