Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As someone who works in a 'bigco' culture, I would definitely be looking for a github (or other vcs) link on a new hire, regardless of seniority. Of course they might have their own website with some portfolio code, and that is fine too in my eyes. What I'm looking for is the signal that says, "I care about my profession, I go the extra mile".


I care about my profession. I go the extra mile. Last year, I read Programming Language Pragmatics and the Dragon book because the semester I wanted to take programming languages, the course was offered when I had to work and I never got a formal background. Last month I read 22 research papers in ad-hoc mobile networking in an effort to broaden my horizons beyond what I'm currently working on. Sure, I could write ns-2 simulations (and I did plenty of them as part of my MS) but once I understand what I've read, writing the simulation doesn't hold much benefit for me, does it?

None of the work I invest in myself will be available in any form on github because it simply doesn't fit there in any meaningful sense (unless you want me to upload some sort of .txt book report). I spend my "self-improvement" time on conceptual problems that don't map to github or other repositories in any way. If I want to solve a trivial problem, I assume someone else already has (it's probably on github) and there's no point in me reinventing the wheel. What does me writing another ORM tool tell you except that I'm able to copy someone else's ideas?


This is not about how good of a programmer you are but about how a hiring manager can decide whether you are a good programmer or not.

When a programmer has an active github account with lots of quality code, hiring manager has an easily verifiable proof of programmer's abilities (or lack of it, if the code is bad).

When a programmer can only talk about papers he read, hiring manager has no way to verify if he actually read those papers and if he understood them.

Reading papers is not worse than programming for professional development but it is worse if you're looking to convince someone to hire you.

Reading papers instead of writing open source code is a valid choice but that's what it is: your choice and it comes with the consequences of not being as attractive for potential employers as people who write high-quality, open source code.


I can demonstrate it the way people have been demonstrating work ability for years - through a resume and an interview process. I put nothing on my resume I'm not prepared to talk about from start to finish, and I assure you that I've got no trouble finding work I find intellectually and financially agreeable. It doesn't always correlate with my academic interests, but to assume that I'm missing out on opportunities I'd like to have access to is somewhat less than logical.

People have a tiny itch and write a tiny program to solve that itch. That's fine - I have nothing against someone doing that. However, to take that tiny program and others like it as more than minor evidence of programming ability is a huge leap of faith that I'm not prepared to accept.

For example: I work with a guy who just released an Android app that is a Starcraft 2 build order trainer. It runs a timer and displays an image of what you should be building in the game at that exact moment (assuming perfect efficiency). The idea is that you plug in the order you want to build units ahead of time, and you're "racing" the timer to become more efficient. Supposedly he has about a hundred downloads, so it's not a huge success but it's also not an abject failure as far as apps go. Here's my problem. It doesn't DO anything.

It doesn't suggest reordering your build to account for obvious problems (e.g. never building a military unit). It doesn't optimize your build to account for obvious parallels (e.g. it won't tell you it's stupid to queue up units for production when you could put your resources to work elsewhere for immediate benefit). It doesn't even track wins/losses that I know of. It basically displays a series of images based on a script that you provide.

I'm sure it's very well written software based on the contributions he makes to our codebase at work, but it doesn't say very much about him except "here's a guy who was able to write one mobile app." He's not bad at coding, but he's really not great at solving ill-defined problems, and that costs him when he's confronted with something new. For example, he spent a week as part of a performance effort writing an aspect to generate timestamps whenever a method was called and when it returned. This sort of thing is commonly known as a profiler, a tool which we had access to from the start and which would have worked fine for our purposes. He didn't know about that, and wasted a week getting AspectJ set up and configured and writing his homegrown profiler while the rest of us were making actual, obvious performance improvements based on data from a real profiler.

Yet, according to popular wisdom on this thread, his SC2 app proves beyond a shadow of a doubt that he is a demonstrably superior developer to someone who doesn't code in their spare time. Most of the apps and hobby programs I'm aware of fall into this category. My point is that a program is a solution to a problem, nothing more. If you're trying to hire someone to solve problems (e.g. an engineer or developer - what have you), a demonstration that this person can solve relatively trivial problems should not be taken as a bell-ringer for engineering talent like it frequently is.


It doesn't suggest reordering your build to account for obvious problems (e.g. never building a military unit). It doesn't optimize your build to account for obvious parallels (e.g. it won't tell you it's stupid to queue up units for production when you could put your resources to work elsewhere for immediate benefit). It doesn't even track wins/losses that I know of. It basically displays a series of images based on a script that you provide.

So it's a minimum viable product. That's fine, and if I played SC2 I'd find it useful.

He didn't know about that, and wasted a week getting AspectJ set up and configured while the rest of us were making actual, obvious performance improvements based on data from a real profiler

That tells me nothing about his abilities one way or the other; all it suggests is that your team has communication issues.


bartonfink,

How will you demonstrate that in ways that I (or a hiring manager/engineer) can see?

Papers? github(bitbucket, sourceforge) code? applications released? conference presentations?

I can hunt down abstract knowledge all day and bloviate like a master, but in the end, it's all hot air if I can't demonstrate my mastery in a concrete fashion.

The advantage people are seeing is that github provides a public mastery demonstration, as well as a view of your work.


No, you're saying you want an excuse not to hire people who don't contribute to open source on your favorite source hosting site.


No, I want to see someone who has contributed in ways I can see that I can look up and also consider the quality of his work.

My corporate contributions almost certainly will never leave the purview of the company servers. Ergo, if I ever want to show code samples, I will have to write them at home, on my own time.


I would suggest gently that pnathan is saying the exact opposite of that.

Certain others with an odd veneration for Github seem to be saying otherwise (see kfalter's post on another subthread), but they are not a majority.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: