We tried placing ads for ninjas, rock stars, and so on, but I discovered this was the cultural equivalent of advertising for white males who drink dry martinis. Not that white males who drink dry martinis can’t do the job, but there’s no real difference between advertising for a Ninja and throwing half your resumés away because you don’t like unlucky people. Either way, you end up with fewer resumés.”
This is so true, so important, and so many startups (and even bigger companies!) miss this. Job ads provide cues, conscious and subconscious, to the people reading them. Not everyone reading the ad is identical to the person writing it, and a badly written job ad can easily send the message "this company isn't for you" to a large number of skilled potential applicants. This applies not just to categories like gender or race, but even to personality types and personal interests. Unless you really want a company of only extroverts, for example, don't write a job ad that scares off introverts.
In the canonical example, if you constantly ask for "rock stars", you will turn off people to whom that doesn't appeal, including tons of good programmers. But it goes beyond that: don't assume that all your applicants are any particular kind of person with certain interests. A job ad should focus on what the job actually is, and things that are important to the job.
The best programmers often have a lot of choice in where they work, and as many HNers know from experience, if they see a job ad that turns them off in some fashion, they will probably not even bother reading further: they know they have better options, so yours probably isn't worth their time. If the vast majority of skilled programmers skip over your resume, it's no wonder you only receive resumes from unqualified applicants.
In short, when writing a job ad, you need to think from the perspective of people applying. Use your empathy, put yourself in their shoes, rather than just writing what you think looks cool.
It claims you shouldn't throw out resumes based on simple heuristics and stuff that only correlates with programming ability because there are so few people applying who are any good, but has exactly one sentence to say about how to then actually find those few people: "I grill them, hard, on actual programming and actual software development."
Right. Sure. Every single one of the 500 applicants. Good luck with that. Get back to me in 6 months.
It's nice in theory to be super-inclusive about everything except "actual programming", but almost completely divorced from reality.
It sounds like someone who, hearing about heuristic solutions to the traveling salesman problem responds that "I cannot possibly accept a solution that may not be 100% correct! It's the computer's job to give me a correct answer, and I'm damn well going to wait for it, no matter how long it takes! Exponential, schmexponential!"
Heuristics have their place. Something that strongly correlates with what you're looking for but is much easier to test for can be very, very useful.
As someone who worked at an investment bank, I'd go ballistic when managers would turn away candidates because their resumes weren't properly aligned or formatted. The irony was amplified by the fact that we were not a client-facing trading desk. Here the heuristic used (resume formatting) did not correlate with the desired attribute ([trading skills]) but did correlate well with some undesirable attributes (insecure children more concerned with form than function).
What I was trying to claim is that there’s a relationship between heuristics and the ham/spam ratio of the documents being classified. When there is very little ham and a lot of spam, my claim is that false negatives are extremely expensive. When the benefit of hiring is very high and the cost of interviewing is low, my claim is that false positives are relatively cheap.
Given these two, my claim is that given current market realities, when hiring programmers for a mission-critical role the best strategy is to go light on spam-filtering heuristics and heavy on direct inspection of the ham content.
But obviously, some heuristics have their place. To a certain extent, everything except “Start work on Monday, there will be three month’s probation” is a heuristic.
And “This article is almost complete useless” is also true, given that it says in many paragraphs using a contrived format what I just said in two paragraphs, it obviously contains a lot of redundancy and extraneous noise!
Now that I'm a bit more aware of the gazillion ways my resume can be mistakenly filtered, I can (i) work on defeating those filters, and (ii) not take it personally when it still doesn't pass through. I know it sounds obvious, but I didn't get it on a gut level until your story put me in the shoes of the recruiter, and showed me that one can be both reasonably competent, not evil, and still miss many relevant resumes.
After all, it's a "coding" metric, right?
Yes, I've contributed to open source projects, but that was before they migrated to github (or even to their current mailing list).
Still, I've been bitten by this demand.
The thing about formatting I can't answer if you are right or "most HR people" are right. The argument they bring seems as legitimate as yours: People who care about the looks of their result are more disciplined, probably faster (because they get the content and the formatting in the same time frame) and care more about working in that company. Does that sound unreasonable? Which one is right can only be told with data. And because of that I tend to support the HR guys. It's more likely (of course not 100%) they have more data and experience then you and me.
(So indirectly I also agree that work experience can be a good discriminator concerning future work quality expectations)
Having data does not imply usefully analyzing it, and "experience" is nothing more than a plurality of anecdote. Without actually seeing the data, I think your best guess here should be 50/50, rather than the very biased-toward-the-high-end "more likely (of course not 100%)" that you have. Appeal to authority is especially dangerous when you are making decisions that affect your company's bottom line based on peoples' ability to format text.
I thought that was what investment banks wanted to hire?
People dismiss cultural fit because it seems superficial. In reality, programming ability is part of cultural fit - who wants to work with an incompetent? A good programmer does not exist in isolation, a good programmer exists in context of the people s/he works with.
So if you find that rockstar/ninja advertising attracts the type of people you want - why not? Personally I think it's tacky, and we make fun of it where I work. But there are plenty of places with no such qualms, and it seems dishonest to not embrace that.
... I once hired a guy precisely because of his strong stance against some of the norms in the local culture (and he passed the minimum programming threshold and was willing to work for the peanuts we were offering).
I inferred from his political/cultural views—which he was not shy about expressing—that he would have the will to speak up and question my decisions if he felt strongly about it. As a young manager I knew I needed someone working for me who would challenge my thinking on occasion. Whether he knows it or not, he taught me a lot about how I needed to improve as a manager (mostly by giving me opportunity to recognize my flaws).
Maybe that's "cultural fit" ... I had a niche I needed filled, and he filled it. Yet, the role I wanted him for was to be disruptive on occasion. And it was a good thing.
> quite a few people are going to be really nice people that nevertheless aren't right for us
was actually just talking about being incapable of doing the job:
> If there's only one in two hundred resumes worth considering, quite a few people are going to be really nice people that nevertheless aren't right for us.
The mention of "ninja" programmers wasn't in respect to culture, either, but simply optimization.
In hindsight, I think that actually says a fair bit about who we're looking for AND our culture. "Do a good job. Don't get distracted by buzzwords."
Hiring is one of the most important things for any company, at any stage, that it is worth doing right. If interviewing 100 people instead of 50 will increase overall talent, it's worth bending over backwards to do this. Even if it means sacrificing in other areas.
Ultimately, everyone ends up using heuristics at some level. But it is worth being very careful what heuristics you use, and the article does a great job of demonstrating this. Do you really want to exclude excellent developers who didn't major in CS? Do you really only want to hire engineers who self-identify as rockstars? Maybe - but be conscious about what you're doing.
And this is all I ever feel. I read dozens of job ads across the country (I look through all of them because I really want to get out and move some place new, see the world - being fresh out of college is the best time for me to do that and all) and in the process I see only two kinds of jobs for someone like me.
The ads either come across as wanting rock star geniuses that could develop in a month the entirety of the next facebook or google in their sleep, or they come off as grossly incompentant in that they don't know what they want from an employee.
When an ad lists skill sets from assembly to rails to genetic algorithms I just sigh because the company obviously doesn't know what they want, and I want to work some where that I can not only get better at my trade and create great things but also have confidence in the business not going under in a few months.
Simultaneously, the other set of job seekers want 5+ years experience for a startup and they use the rock star vocabulary, and I get turned off on that because I am not the second coming of John Carmack or Bill Gates, I wish I was, but I just am not that smart.
Compound that with the reality that I have a passion for software and as a result I only want to work on things I find interesting and useful myself (eating my own dog food) and I might consider one ad in a hundred. And I'm not even location limited!
It just seems to me like there is no middle ground, either you are a genius rock star or the employer appears clueless about what they are after in a developer. It really grinds my gears with all this job hunting shenanigans.
I once answered a job ad - on HN no less! - asking if I had ever wanted to create a programming language and saying I should contact this company to show them if I had.
Well, I was a PL researcher by the end of undergrad. So of course I sent them my research paper, my senior thesis, and my project link.
Turned out they make a mobile furniture-sale application. They've got really cool guys working on it who've done things like compilers or languages before, but when it came right down to it, they stopped calling me back when they realized I haven't done mobile development before.
<frustration>For fuck's sake, if you wanted an experienced mobile dev, ASK FOR ONE! And if you asked for a PL researcher, WHAT ELSE DID YOU EXPECT? AND WHY ARE YOU EMPLOYING COMPILER EXPERTS TO WORK ON SELLING FURNITURE?!</frustration>
It would be really nice certain companies stopped trying to make themselves sound cool or important, and just let job-seekers know what they are hiring for. Obscuring your intent, in hiring, is equivalent to wanting a bad match.
I graduated in 2010, I got 3 job offers out of the 3 companies I applied to. However, none were exactly my dream job and the few companies I really wanted to work for didn't even talk to new grads. Today I can absolutely get those jobs.
My girlfriend went through the exact same evolution. It was brutal finding anything in 2010, and she just got her dream job with 2 years of work experience under her belt.
Those 2 years of work experience really open doors.
It's an enormous mistake to hold out for the 'perfect job'.
One of my roommates was a finance/econ/accounting triple major and wanted a Goldman Sachs job (not our cup of tea, but it's instructive). He didn't get that job, but saw the 'regional' banks as below his level, so he didn't take any job and brushed up his resume and applied again. Meanwhile another classmate with a less stellar but similar resume took a job at the regional bank. Two years later he switched into JPMorgan. My roommate who passed has basically been unable to get any job - even the regional bank jobs he once considered beneath him.
So don't let the frustration make you do something stupid and pass on the dumb job offers. You have to get a job right away. You can switch from that job after 6 months or 1 year or whatever, but do not make yourself unemployed. You only become less employable as your graduation date slips because it signals other employers that some have passed on you.
"You have to get a job right away." definitely isn't true or good advice for a programmer. You can learn a lot more a lot faster and add more impressive pieces to your portfolio by working on your own projects, open source, or contracting than by accepting a bad job at some dysfunctional company.
Getting a programming job at a company that uses the technologies you want to work with will seriously help you move into another role in the near future. Even if the company is crap.
It's nice that some people will care about your personal projects but A LOT of good companies won't see these in the same light as real professional experience dealing with real production, team and stake holder issues.
Also, how can anyone support themselves for months whilst they wait for the perfect job which may never come because it gets harder to find a job the longer you are unemployed?
As for contracting; to land a good contracting role (I'm talking stuff outside of rent-a-coder) is very difficult. Most companies wouldn't even consider you as a contractor unless you have several years of solid experience. I can only assume you mean the kind of 'contracting' that happens at places like rentacoder.com. If you think anyone will care about this then you are mistaken, plus, it's a waste of your time as you'll get paid peanuts and end up providing free support to the idiots that gave you the work in the first place.
If you're fresh out of education and will not be landing a role with Google (or the likes of) and you're struggling to get work at a good company then you should take the first job that comes along that works with the technology you want to specialise in.
It's also extremely difficult to build a strong portfolio working at a bad company, because bad companies by their nature rarely get anything done, and even if they do, they'll pigeonhole you into the most monotonous tasks and you'll get 0 experience making architectural decisions or working on anything outside whatever little gutter they throw you in.
On the contrary, doing your own projects or contracting (ideally with startups or small companies) will force you to learn every level of the tech-business stack, from feature planning to architecture to coding to design to deployment to launching and promotion. You can work on many projects in a short timespan, and you'll be left with numerous portfolio pieces that are all your own.
"Most companies wouldn't even consider you as a contractor unless you have several years of solid experience. I can only assume you mean the kind of 'contracting' that happens at places like rentacoder.com."
This simply isn't true. You just need to sell yourself and show that you have good ideas and get things done. I got paid $60 per hour on my first rails project with no experience whatsoever in rails. The client never asked. She just saw that I had several strong pieces of work in my portfolio (half of them personal projects), and told me to use whatever tools I thought best for the job. If you're considering rent-a-coder you're definitely doing it wrong.
Don't settle for mediocrity. Take the initiative and start building a portfolio any way you can. The sky's the limit once you have a solid body of work to point to. You can make good money contracting or you can have your pick of awesome jobs. Having experience in some crappy job isn't what matters, it's showing that you can build great software.
Most of the contracting positions available in London (where I live) are only available to experienced professionals. There's no way anyone is going to hire a nobody for £500 per day. Good luck finding much work available below this level, I used to contract myself at £200 per day but this only because I personally knew the manager on the project and I had worked with him as an engineer as an intern one year previously.
Showing you have good ideas and that you get things done means NOTHING. The other guy applying for the same job who has 6 years of experience will beat you every time. Maybe things are different where ever you are from but where I am from you don't get to work on anything that anyone cares about unless you have solid experience.
If you want to land a role at some small web dev shop where you will be stuck working on crappy rails or other nonsense things then go make your portfolio out of $60 a day "contracts" and have a great life. This does not exist in the UK and when people say 'contracting' they mean real work earning real money.
The best thing you can do is get an awesome internship then leverage that to get a good perm role somewhere else. This is exactly what I did. I didn't return to the place where I did my internship as I landed a better package elsewhere.
If you can afford to work for $60 a day and you are lucky to live in the Valley or somewhere where these roles are available, then lucky you. I prefer something a little more rigorous where I'm not a slave working on crap.
The web startups with rockstar job ads may wish they had John Carmack or Bill Gates sending them resumes but I doubt it happens much. Bill Gates doesn't need to work at a little company somewhere -- he made his own company and is now a billionaire. A skilled, motivated recent CS grad is probably a great candidate for most companies.
Contact this man.
Straight out of college, I got accepted by an outsourcing sweatshop early on, with whom I interviewed because I was bored and not necessarily because I wanted the job. I went ahead and took it anyway, thinking I'll learn do something for 6 months that I can put on my resume and move on.
During my spare time I made minor contributions to a couple of open source projects, then got an offer to hack on open-source software at Novell. I eventually turned it down to go work for a smaller company, which is where I am now, for the last 7 years.
Hell, I got an internship last year by cold-emailing someone from the HN Who's Hiring thread and asking what they were running this year. Just put yourself out there and you'll have no problem.
I also don't know rails, and I'm just now getting into web technologies, trying to decide what to really dig into (between node and rails really) . Is rails really that hot? Just starting out with rails now I feel like I'm really late to the party. I'm mostly interested in Clojure, but that's not exactly the hottest job market.
It's nice to hear that it really is that good though, It's hard to really get a feel from it living so far from any tech hubs, without many developer friends.
BTW, your HN email isn't visible unless you put it in the about section. You might get some more interest if you put it there with a webpage url.
I do believe he used words like "changing the world", etc. These are more about results than ego. Huge difference.
I'm going to apply for and get a job at a company advertising for "ninjas," then not let my boss know when I'm taking vacation or a sick day - just so when he calls to ask where I am, I can reply with "Well, you did say you wanted a ninja programmer..."
will add it to my reading list, needed some new manga to get into anyways, thanks for that :)
I want to work on products that I consider meaningful and work with good and serious engineers. It is nice to hang out with colleagues, have drinks, saying jokes, etc. I am a big fan of classic rock. But calling engineers as rock stars, ninjas, etc, or engineers labeling themselves as such personalities, really convey a somewhat negative impression to me.
Ninja: that guy who's never at his desk and never says anything in meetings.
It's kind of "friend-of-a-friend", but I had a boss who told me about working with a developer who actually did that, I think at a game company in the late 80s.
At best it has an HR person who never managed to stop being 17years old, typically it's a bunch of trend following losers, at worst it's a bunch of creeps who think they can under-pay and over-work you in return for having a pinball table in the corner.
Not really. The situations are asymmetric -- an employer seeking a talented programmer needs to be rejecting potential employees on as few arbitrary criteria as possible, to maximize their chance at finding just a single qualified candidate.
A talented programmer, on the other hand, has Berty Wooster's time-management problem; there are far more people desperate to hire than he or she could possibly could ever hope to give attention to. You need to winnow out any opportunity that is even the slightest bit unappealing just to get the flood down to a manageable level.
This is precisely what the article was talking about but in reverse, like the GP said. You're implying that job ads that rub you the wrong way on a minor point are ads that are at the bottom of the desirability list -- this is the exactly the correlation/causation fallacy the article discussed.
In other words, that vast list of companies looking to hire the talented programmer is comprised of 1) companies that suck 2) companies that are OK, and 3) companies that rock. The occurrence of the word "ninja" or "rockstar" in their ad isn't an indicator of which group the company falls into. What you're advocating is no more scientific than throwing away unlucky resumes.
The employer faces the problem of there being too few really good programmers, and so must do nothing that would prevent them from possibly seeing one in their candidate pool. It's like panning for gold; you need to get as much crap as possible going through your pan to find anything of value.
The good programmer has an entirely different problem. There are a ton of jobs out there that I would find stimulating, engaging, and fun. Finding them isn't hard at all. They show up on HN, they show up in my inbox, they show up in conversations at conferences and events, they show up in unsolicited offers from friends, acquaintances, headhunters, etc. They show up on a weekly basis.
If I'm in the market for a job, I don't need to carefully grovel through every opportunity to find the one good one. I couldn't possibly, even if I wanted to, because my attention isn't infinite. Talking with every potentially interesting employer would take more hours than I have in the day.
Instead I need to, like Berty Wooster, somehow winnow down the 100 equally plausible opportunities to something small enough that I can reasonably give my time and attention to picking between. That the heuristics for doing so are arbitrary is irrelevant; my only concern is grossly reducing the numbers I'm dealing with, because I have no reason to fear I won't find a good one among those that are left.
In the same regards just because there are more jobs than candidates doesn't mean there isn't just a high ratio of crap jobs. So the same 100 job ads will likely have 1 or 2 great opportunities and 98-99 posers. The candidate's job is just as tough as the recruiter.
I've had this on my chest since I saw that advert. Just needed to vent :)
Looking for: Leonardo da Vinci 2.0, Einstein reincarnated
Compensation: We cannot afford to pay you now but we promise equity
Looking for: the lovechild of Richard Feynman and the second coming of Jesus
Compensation: small salary with some equity
Actual work: it's like Craigslist, but for social mobile
1. An analysis of factors which make someone in your organisation successful, and be critical, an example in being critical may be 'manage explicitly conflicting goals'
2. Map candidates both to the 'now' of what is needed, and the factors of success needed in your organisation short medium and long term.
It is quite easy to find great people through technical questions. It is bad for all when great people don't fit. This is not behavioural interviewing stuff or psychological surveys, simply match proven success and/or evidenced motivation.
I was pretty glad to see "anyone who uses rockstar as an adjective" on the list of people take out in the God Bless America trailer.
Someone who enthusiastically engages in RDD (resume driven development). Someone who knows whatever is currently fashionable in the blogowhatever...
I could have done without all the fake (or seemingly fake anyway) dialogue between the Wooster/Oscar etc and would have preferred a straightforward "This is what I(Reginald) think" mode.
Imagine pg writing his essays in the form of "Paul wrote an ecommerce site in Lisp while Peter used C++. When Paul met Peter's wife Rosa in a coffee shop he asked her why Peter was looking so haggard and she said 'he is working through the night fixing bugs and not getting enough sleep. Would you mind talking to him? ..' "
Again, this is a very minor nitpick, just consider this feedback from one reader. I am probably considerably outnumbered by the people who like this "story" form better (and that is perfectly fine). Of course it is completely Reginald's prerogative to pick any style he wants.
However, the main benefit of the story format (to me at least) is that the underlying message is so much more memorable. I'll probably forget the names of the characters and some of the detail but I'll certainly remember the point.
More importantly perhaps, is that I'll be able to re-tell the story to others (in some form). Expecially if I'm trying to convince them of this view point.
Stories are easier to remember and share (and it's one reason that telling stories about your products is better than, say, a feature list).
The ending of raganwald's post especially was similar in tone with "You belong here. We'll do great things together".
edit: "they slowly go through the idea of putting people in boxes and what to do about it" Hmm, this sounds kind of odd when you don't know the book I guess :) To clarify: in the book, you put people "in a box" basically when you have prejudices about them and look at things through that angle only. Or something like that.
The story is much more convincing, because it invokes empathy from the audience. The trick is to tell a good story. That means understanding plot, characters, tempo, your audience, and so on.
Not saying it's the be-all and end-all, but when done right stories have their place.
Respectfully, no it doesn’t. Try showing the story to one hundred randomly selected people and ask whether they think this really happened. I think you will find that there are a few people who have a certain type of extremely literal brain who don’t take well to parables, to satire, or anything else that isn’t a direct recitation of facts.
The fact that such people are in a minority doesn’t invalidate their (or your) feelings, but it is important to recognize that the feelings you have are not universal, just as I must recognize that not everybody likes the format.
> The fact that such people are in a minority doesn’t invalidate their (or your) feelings
Well, we don't know if they are the minority or not. No one has really taken a poll. I'll say I've found the same lineage in your articles. They tend to play on the emotionally-binding do the right thing narrative - which is fine, but the articles always conclude with this overall "so that's why you have to do it this way" feeling. Morals aside, there's really no validation to these ideas. It's one thing to tell a story and have a happy ending, but the subject matter is often timely and succinct to current events - making it (in perspective of the moment) newsworthy. I understand it is easy to talk around that, so I guess one would have to ask "Why do you write in this way?". If your articles are politically-driven, then why write fiction? If story-telling is your angle, why the call to arms narrative?
This isn't to say your writing isn't good - to the contrary. But if we're talking about whether your articles could be confusing to some – I'd say I agree.
I read a bestselling short story once about two mice, one of whom ventured out into the world to find a new place to live, while the other stayed put. The one who abandoned everything came out of it better in the end, and so the moral of the story was that we should all abandon what works in hopes of stumbling on to something better.
I detested the book, and will instantly have a lower opinion of someone if I see it in their bookshelf. It seems to me that it was written as a short story to avoid arguing for the decisions the characters make. raganwald's story was better, but still vulnerable to the story format, where dei ex machina reign supreme.
That said, story formats have strong advantages as well, such as capturing attention – but they don't come for free.
As for glancing at it and knowing that it is fictional, it is fairly obvious in the first paragraph, even without the names, purely by the style of writing.
Apart from that misunderstanding, I do find it plausible that, as you hypothesize, most people need less effort to disbelieve what they read than me.
There are more references to culture as well. See below for a discussion of the Sesame Street (or was that "It's a Wonderful Life") names.
As much as I may dislike the storyteller format of the article, philosophically speaking, I have a practical inability to read other, drier essays. And then there are essays which have no reasonable usage of paragraphs and sentences to encapsulate or describe ideas, etc. Compared to those, I would pick a storyteller format.
Thinking about it a bit more, there is nothing wrong with the story format. It is just that (I think) it doesn't work in this case.
The story with "He who is without sin, let him cast the first stone" in probably better than a bald statement of "don't be a hypocrite" (or whatever the moral of the story is supposed to be). But when you are hearing the story for the first time, you are drawn into it and held there till it ends and then you snap out of it and you are back in the real world.
It is just that in this case, I, the reader, was made aware that he is reading a story while I was reading it (vs being sucked into it) and every time a point came up I felt like I was being bludgeoned with it.
But then again, I thought "Godel, Escher, Bach" was pretentious and wordy, so it is highly probable that I just have weird tastes.
Again, I don't want to harp on this too much. Just offering some feedback which may (or may not ) be useful to Reginald.
Or maybe it is just a matter of better technique. There may be a way of telling a story to make the same points without the reader being jerked out of his involvement with the material,and being made aware he is reading a story. I don't know.
Here are some interesting ideas I have.
TwitchTV is more attractive for programmers than Justin.tv ever was. There is something to be said for appealing to a smaller group of people more strongly.
There is a difference between narrowing the pool of applicants by being specific about things directly relevant for the job and narrowing the pool of applicants by being specific about things only indirectly related to the job.
“We’re looking for Haskell Programmers” is not the same thing as, “We like to hire MIT Graduates."
If you need to filter the applicants more then ask them to answer a question on their approach to a common problem or provide a code sample whichever makes more sense for the particular scenario.
Providing accurate information about the company allows job seekers to self-select, increasing the signal, and offering an interesting application is far more likely to attract top talent than advertising for code monkeys.
The hiring manager went back to the recruiter asking for somebody else "just like" my wife.
(Loved the conversational format. "Bertie Wooster" is an inspired choice for that style of hiring...)
And lots of fun little bits like Mark Fidrych http://en.wikipedia.org/wiki/Mark_Fidrych.
Love it when lucid, articulate writers take my mess of a brain and put the right words to it.
* Most of the really good devs I know and hire do not bother with easy metrics like number of tweets, followers, or StackOverflow points. They are perfect to paste together on summary reports and look "complete," but their absolute values or essence don't mean anything.
* The high numbers on public sites seem to be for two classes of devs -- celebrities, who you already know are celebrities -- and people with way too much time on their hands (if they don't work for an open source company, which most people don't). Most people have average values. If someone is on LinkedIn, I'm more interested to see if they have X hundred followers per years in industry up to some maximum lifetime value. I generally ignore recommendations.
* See http://news.ycombinator.com/item?id=3771286 for the discussion about what the number of points actually measures on SO, for example. It's a great site, but it's struggling to handle both breadth and depth of material well. High numbers does not necessarily correlate with expertise, just dedication. Maybe I want that skillset for a customer service rep, but I haven't yet wanted it for an engineer.
* I have shipped 20M loc in my career in 32 regions, and none of it is available on github or sourceforge. Most engineers are like that -- again, the public numbers are biased to certain individuals. Maybe there is a way for candidates to quantify the projects they have worked on?
* What I would love is a way to automatically assess FizzBuzz on candidates. I know there are some sites like interviewstreet.com that try to do this, but they don't yet have the critical mass like linkedin. And I fear, the moment they get critical mass then they'll become a new SAT or other standardized test that becomes too easy to game.
We've thought about automated coding assessments but for where we are right now, it doesn't feel like the right direction to swim in to get to viability. Any kind of exam this early in the hiring process will sour the best candidates on applying. If you are a solid developer with a good track record, chances are that you wouldn't want to work with a company that can't figure that out about you with a brief googling. Anybody using that sort of tool to replace resumes is locking themselves out of the top talent.
Finally,mwe've definitely been thinking a lot recently about moving to a model without any kind of scores—just visualizations of data that help you figure out who a person is, maybe get a little bit of other personality in a way that resumes will never give you, and help you make that quick move-forward-or-not decision. We're not sure if scores really contribute something to that, and we'd love to hear what you think.
We don't think number of tweets or followers is a relevant means of assessment at all—quite the opposite. Ashton Kutcher is not an interesting candidate for a rails job, and that should be reflected in our report for him (were he ever to apply for such a position.)
We obviously gather a lot of metrics (hey, storage is cheap) but the ones we actually use in our scoring mix right now are tied to two simple concepts: does this person care about their craft, and do they enjoy any amount of professional respect for what they do.
Skills isn't for everyone and every industry; it's for one industry and a very specific breed of candidates that has this kind of publicly-visible track record. We think there are enough companies that are hiring in this space that there's a business to be built here now, and the Internet trends towards more public data. Do we really think that we'll still be using resumes in ten years to assess whether to spend more time on engineering candidate X?
We're still trying to find the best approach to this, but in essence, our mission is making sense of this data. Some of this will have nothing to do with popularity - say, we might give you a concise overview of someone's code or professional thoughts. Other metrics will use social activity only as a rough validation. For example, if someone has 20 watchers on GitHub, they're definitely not a celebrity, but they have crossed a very meaningful threshold of "someone cares about this person's work".
Does that sound like a good direction to you?
Want to post your personal hacking online under your real name? Nope, sorry--"everything you do belongs to the company, and we can't take the chance that you might accidentally post some uber-valuable trade secret." So rather than risk losing the job, you just find some other, not-publicly-visible way to spend your time.
Maybe this group of developers isn't viewed as interesting to many employers, and if that's the case my argument isn't worth much.
Our goal is to look at any kind of professional activity online, not only code. What do you think?
I don't really get into the social media aspect of development even when I'm allowed to contribute to open projects, so I doubt I'd be very visible (or very attractive if I were) via any social media outlets. Whether I'm the norm or not, I don't know.
Edited to add: By the way, I do appreciate that somebody's out there trying to help developers be more easily visible for doing such things, so don't take my comments the wrong way. :)
If all you care about is that subset of developers, I'm sure your approach is fine.
Perhaps speaking more practically, the market for developers is segmented. Not all companies want to hire all developers, and some companies specifically look for developers who do take their work online. It's those companies we want to help right now.
Take us for example. We just hired Yuval Adam (http://y3xz.com/) for a project, and his online activity had a huge part in raising our interest.
Check out his site. It's essentially a collection of links to professionally relevant online content. Sure, these are no guarantees. If you were hiring a developer though, wouldn't your interest be raised?
I'm not on GitHub because I code for my employers. That work doesn't get put out there like that.
I don't tweet much at all about the languages I code in or cool bits of code I just wrote or any of that. I'm one of those weirdos that tweets pictures of my lunch and funny crap my 4yr old says.
I'm "on" StackOverflow since I have a log in... but I rarely comment on stuff and have never posted a question. I probably should I suppose but I don't.
I don't think my candidate brief on Skills would be a very accurate indicator of my actual skills.
(1) It's not our goal to make candidates like you look bad, not at all. When candidates have professional stuff online, we think employers should be interested in getting a good view of it. That's all we try to do. We wouldn't give you a bad score - we'd give you no score at all. Essentially, we're telling employers: "we can't know anything about this candidate, you should look at other stuff".
(2) I checked out your HN profile, and you have a ton of comments up. So, you do interact professionally online, at least in some way. I'm curious to hear your thoughts - say you applied for a job, and we did our best (algorithmic) job to make your HN footprint interesting to employers - what would that do for your attractiveness as a candidate?
To be quite honest, if I found a job post that wanted me to go fill out a profile on Skills I would probably not do it unless I was getting desperate or I really wanted to work for that particular company. I would move on to the next job post.
One thing to consider: I read that you're geared to employers at the moment and that they would be funneling candidates to the site as a way to apply. I would be more inclined to fill something out if it was just me doing it as a way to make a summary of me disconnected from any particular job app. I don't know how your system works right now, but I would be hesitant to just fill in the info and hope the results are in my favor. I'd want to see my brief and have an opportunity to adjust it before letting employers see it. But I imagine that dilutes the meaningfulness of it. Obviously if a person entered all that info and found their Twitter presence is not as good as they thought it would be, they would just remove that. But you can probably see where I'm coming from.
There are many using social channels very rarely or in read-only mode. They don't because they just don't have time to tweet or their project is just confidential to be public on Github. Rather they work 12 months non-stop and quietly on a project and at the end of this period they raise with their work 2 million or got millions of user or whatever. And THAT are the relevant achievements and signals a recruiter has to identify—real achievements and no social streams full of "buzzword spam and unverified claims" (using your own words).
When you say "there's so much noise in social channels and generally you find many people there who look rather for attention than real long-sighted achievements and it's hard to recognize the real gems in that noise.", could that not make room for a company that aims to do just that - recognize the real gems?
Right now, you sign up, creat one or more positions. Each has a unique landing URL, and anyplace you'd normally publicize "send us your resumes," put that link—job boards, advertisements, recruiters, etc.
Candidates go through a very, very (sub-five-minute) short form to collect their personal contact details, their recant social networks and a 500-char-max tell-us-about-yourself and why-are-you-a-good-fit-for-this-job. You get a brief, and the rest is up to you.
We don't publish the details of the algorithm but in effects it would be fairly difficult to game. Either you have a solid history of consuming and contributing relevant content or you don't. If you are able to manufacture that fraudulently, well, chances are that you're somebody interesting to talk to.
We're thinking about allowing some form of "self indexing" but we aren't there yet.
Our mission it to extract the most meaningful data from someone's professional activity online, and we're currently exploring how to best do that. If you're a job seeker, it's our goal to show employers the best version of you.
Question: do you think your current activity online can make you look good to employers? If so, what would you most like to show them?
Twitter tags are based on lists, but with some amount of tokenization and stemming so we count "djangonauts" and "Django" as contributing towards the same tag.
i also know a few other people running software shops, who don't participate in the local meetup community. none of the best local developers even know who these other employers are. i'm sort of sick of hearing them complain about how hard it is to find talent.
the flip side of this, is that if I as an engineer want to have a steady stream of future opportunities with the best employers, I need to make myself known to them, by, you guessed it! making myself visible in the meetup community, and internet community at large.
However, he apparently has no shortage of suitable talent available when using this method.
The problem, of course, is that the odds are good he's hiring people who are less skilled than some people he's filtered out. In a perfect market his product would get beaten by whoever hired those better candidates he ignored, but we live in an incredibly imperfect market and it probably won't make a difference.
When you apply for CS in Britain (and I'm talking about Oxbridge), they care only about your experience with computers and mathematics.
However, in HYPMS  the qualification is based on your irrelevant grades and your extracurriculars. You might be the most active guy and get a place but a poor programmer.
 Harvard, Yale, Princeton, MIT, Stanford
That being said, HYPMS do want you to have good grades overall and solid extracurriculars, it's immensely helpful to be world-class in some activity; the particular activity doesn't matter as much.
The reason I asked is that CS enrollment changed dramatically after the .com bubble burst. When I applied to CS a little more than 10 years ago the bubble was in full swing, and only the top 1/4 of applicants to the program had a hope of getting in. Transferring in was a no-go.
2 years later enrollment had dropped so low that the quotas were gone and transferring in was easy. Application numbers, as far as I know, still haven't recovered to bubble levels.
You do not declare it officially and yes you have the flexibility to change it but every application asks you what major you want to study.
Besides by nature if you are already decided and experienced on the subject it is ridiculous to me to consider another applicant. Let's consider two candidates:
1) Super social kid with strong grades in all subjects and a good debater and organized few charity projects (at least on the paper) but no real programming or above average math experience.
2) Kid with good social skills with top grades in mathematics, physics, chemistry, cs etc. but slightly lower secondary language or history grades. This kid also has a Github account with quite a few commits and is hacking for few years now.
Now my recent observation is that (and not only for CS but for all other subjects too) if these two candidates declare that they want to study CS, then the first one is preferred in US and definitely the second one in Britain.
Now I understand not declaring your major at the beginning and being undecided but how can one eliminates the ones who already demonstrate work and passion on their subject but accepts the ones who are undecided and have not done on any specific subject.
As a result, American universities basically depend on "luck". They think the kid might be good based on generic projects, charity work and conferences.
By the way this is not a personal issue. I am accepted to the school I wanted to be in at the beginning but this is an observation through my high school years for over 200-300 well suited candidates for top ranking universities.
This is a very high bar, and there are many talented programmers that don't do well in classes they don't enjoy and don't participate in competitions; unfortunately, college admissions officers don't have the expertise to look at a student's github account and judge the quality of their commits.
I mean why aren't they qualified? Cambridge is getting more applications than each of the top schools in US every year. They interview almost all of them (80% to be precise) and still announce the results in January (though you apply earlier). It is certainly doable and it is more accurate.
I do not get this admission officer business not even a tiny bit. I mean if you are undecided and do not fit in any criteria then fine let an admission officer decide on your fate but if you specifically insist on a subject then why not be judged by your future professors. These professors can certainly have half an hour interview with the candidate take a look at your candidate's account.
If professors are super busy let graduate students do it or researchers do it. These three groups of people will have a better understanding of a well suited candidate. Think about it this way: You're hiring programmers and you have one of these two options: As a programmer consider their applications yourself or just tell a nonprogrammer to do it. You'd argue this analogy does not work because one does not have to declare his major and you are right if you think about it that way but if you consider a huge corporate structure and a policy, which each and every department should obey then you will see why this makes sense for a university too.
Obviously there are criteria that MUST be considered during application process other than your skills and I am all for that but let candidates be filtered by actual graduate students or professors or researchers first. Why? It is because in any case they will have a better intuitive understanding of being a student in "X University" compared to admission officers who are "told" what should the students be like plus they have the degree of expertise to judge the student on their specific subject.
And for the first part, you do not have to have olympic medals to get a place in undergraduate division of these universities. Maybe a projet or two but the competition is not THAT intense. I mean there aren't hundreds of olympic students (relevant olypics) applying to subjects every year anyhow AND believe it or not few years of hacking can be more useful than an olympic medal. This is another discussion what I want to point out is my observation strongly disagrees with your interpretation. I tell you 90% of the time first kid is preferred over the second kid one.
 Please don't say it takes too long, again, in Oxbirdge, each candidate has two interviews for AT LEAST 30 minutes with four professors in total.
The quoted parts are actual quotes from the individual application processes, for what it's worth.
The best chance companies that would like to hire me now had was seven years ago when my resume was thin and unconventional but my code was solid. Now that my background conventional (except for the lack of a related degree) they are falling all over themselves, and I am quite content in a brilliant job making more than most of them are willing to pay. I'm more skilled now, sure, but I was a good junior developer then. The fringe company that took a risk and hired me despite my resume got more than their money's worth.
You are welcome to be less nice to candidates. Let us know how that goes for you.
If I understood your comment, basically, "treating candidates with respect - especially inexperienced/unconventional candidates - allows hiring if you already know how to find great candidates"
I've seen a ton of benefits to treating candidates _and_ employees well.
• Many employees will prefer to stay in a job where they are treated well (despite taking a hit in lifestyle / pay) 
• Establishing a "social contract" with your employees provides some protection against managers who might drive away high-value candidates / employees
• During tough pivots (the current economic climate tends to produce this), a core of effective employees can execute while mediocre employees will flounder
My email is in my profile.
Given a lack of time, or someone in HR who knows nothing about programmers, this approach may not turn out as well.
It’s also harsh because the best source of good candidates are personal contacts, which violate just about everything in the post. Which suggests that the post is really only about one very specific thing, managing the inbound funnel generated by ads, email@example.com, and so on.
Your recommendations are sensible. It's curious that they seem to suggest that coding ability is close to a one-dimensional measurement of the candidate. Do you think we could measure the largest principal component of coding ability with a standardized exam, like IQ? That would save everyone the hassle of interviewing, and also ensure non-discrimination as a nice bonus.
(Warning: Heavy on the subject of Race, IQ, Reverse Discrimination, and other pet topics).
Interestingly, I have observed this to be true in few other situations as well, where established conventions and processes are actually an hindrance rather than help.
As a tangent, I find it astonishing that no one ever mentions that all these arguments are true for the guy or gal sitting across the table. She is using heuristics to find an employer based on much less information and in many cases is wrong in accepting an offer. This too has a real cost: low morale, productivity, and high turn over. I find this problem rarely discussed.
So when I look through resumes and interview people, I look for signals that tell me this person can (or has the potential to) either emulate my most demanded virtues, or provide wished-for aptitudes onboard. So, if I read a resume with spelling mistakes, I think "I would never allow me to be this sloppy" -- I think it sends a message of carelessness that may put in question the quality of the work being done -- and I throw the resume away. On the other hand, when I meet a person that shows me a code sample with a well-organized and thoroughly commented api class hierarchy, I think "I wish I was like that!" -- and that's a keeper.
Hence I don't agree with the article when it says to "ignore little theories". Since I believe there's no universally-accepted, truly objective way to effectively spot strangers that will make your enterprise succeed, I choose to clone myself: me who is undeniably the right person for the job, otherwise this company would never launched in the first place. Then, bit-by-bit, I "genetically engineer" the selection process to create this better super-self (the team) that will take us to the next level.
I mean, it's okay for you to keep on doing what you're comfortable with. But do you understand what you're missing out on? You're missing out on great developers, and you're giving people like Reginald & I an advantage.
And like I said, sometimes the second string does end up having the one. But if I already found the one in the first stack, then I'm still getting a great developer... just not the one with spelling mistakes. Plus, I'm not even a hiring manager. I review resumes of would-be peers.
Whenever I read/type I often forget shorter length conjunction words, and a lot of grammer checkers won't detect it as a mistake. In fact, once I proof-read an entire email over multiple times on gmail, only to realize that I forgot a 'the' in one sentence after it was sent. Gmail showed no squiggly lines for that error. Grammer checkers often don't go off when you accidentally interchange singular/plural as well.
My resume still got picked up by a lot of places, so either it was impressive, or a lot more people read as quickly/carelessly as I do.
I don't know how exactly I developed this habit, but it could be a by-product of skimming code very quickly, or generally skimming things when perusing through articles/comments.
This assumes getting hired by you was a lucky event in their life. In fact, it could very well be unlucky.
Perhaps if they hadn't been hired by you, they would have gotten a much better job elsewhere. Or any number of other things in their life might have turned out better had they not landed this particular job. Or maybe they'll wind up hating the job, and wish they'd have gone to work somewhere else.
Considering someone to be lucky to work for you is very self-centered. Perhaps it is you who are the lucky one to have someone like them working for you, and they the unlucky one.
Namely that finding the only candidate who can possibly do the job at all requires a very different approach to selection, compared to when it is sufficient to eliminate applicants any of whom could do the job well.
Raising the talent bar tends to transform the latter situation to the former and thus the advice given in this article is right and valuable.
Can I even call total bullshit?
Perhaps I could suggest a further that all this 99% unqualified noise is mostly a bureaucrat ideology epiphany, based on intensifying the usual "I want a Perl-programmer with five years Rails experience who can start yesterday while riding a bicycle under water".
You know the link post debunks that canard rather than supporting?
Edit: And you wrote the original blog post and you're always on hn. I would suggest reading closely the link you posted.
Therefore, 1/2 of one percent of the applicants for every programming job are qualified and the rest are not. That doesn’t mean that 1/2 of one percent of working programmers are qualified or that you are being especially picky when you reject so many candidates, just that the dynamics of the market ensure that you get a lot of crap resumes when you advertise.
Now, what did YOU think Joel’s article said?
Some things are obvious: if you use words like "ninja" and "rockstar" you are communicating that you want young Rails programmers or something like that.
Likewise if you posted flyers inside a museum, or hid a puzzle in a Superbowl TV ad, or wrote "Programmer needed!!! immediate openings!must be comfortable with WordPerfect" on Craigslist, each of those is going to signal something about your firm and attract a different type of person.
Someday I would love to see something on HN that goes much deeper into those issues: how to pitch your culture appropriately and improve the resume stack before it even gets to you.
They believe by using some kind of systems, techniques and tricks they can find "best talents" and avoid "miserable candidates".
But the real problem lies somewhere else: People have the wrong expectation of people—expectations are always too high and aim for perfection. You can expect perfection from systems, programs, products, services but not from people and thus, you should treat them like this. Of course real talents often deliver this expected perfection but they are rare and usually if you got one it was a lucky hit.
Also, when Ernestine says "...I have a much lower signal-to-noise ratio?" She had it backwards, she actually has the HIGHER signal-to-noise ratio. Whereby the one guy has a large group of qualified candidates and can afford to throw some away, she has a one in a hundred group of qualified candidates, thus, she has the higher signal-to-noise ratio.
they both signal the same thing: “I meticulously went over my presentation to ensure that it meets your expectations.”
Let’s be clear: I think that everyone looking for a job should present the best possible face, including the appropriate spelling and grammar. It’s just that when hiring, I can easily overlook a spelling mistake if I think the candidate may be that one in one hundred.
ANOTHER THOUGHT: To be fair, spelling mistakes are a lot closer to the line than cultural fit or politics or things like gender and race. You can’t change your race to suit the job. Things like your politics are changeable, but unless you have a strong ethical objection to the company’s line of business (I have declined to work on contract with a Tobacco company), it’s in society’s best interests for you to be able to keep your political views without being swayed by your employer.
Spelling on a cover letter is a different matter. Most people don’t have a disability that prevents them from getting it right, and there is no greater benefit to society in forcing employers to ignore spelling. It’s a matter that is narrowly restricted to your interaction together, so it isn’t asking a great deal of a candidate to get the spelling correct.
So, I guess I don’t have a violent objection to your point of view, even if I’m espousing a different one in this post.
After this you end up with great people. Btw - we were hiring creative interns for copy-writing job (nothing fashionable like programming). So there you go my experience on this and your article strikes a high resonance with me for this reason.
I came to the realization that I'm not hiring writers, PR people, or salesmen.
All things being equal, I prefer someone that can spell, but at the end of the day - my best performers bring a much bigger skillset to the table.
Minor spelling is a nuisance, but no longer a show stopper for me... with that said, maybe I'm just looking for more people like me. you will notice my disregard for proper formatting and spelling in some areas as I honestly have better places to waste my time.
If you want someone who can rapidly prototype, fix bugs, optimise stuff, and work on a team; perfectionism might not be so important.
- excellent communication skills blablabla
- 'team player'
- able to work in a fast-paced environment
- bunch of other generic 'skills'
Of course those things are important to varying degrees in different jobs, but having on the ad is pointless since every other ad asks for the exact same thing. I find it off-putting straight away because it suggests the company is happy to stick to idiotic norms.
Is it to screen out people who have some self doubt? “Hmm, I think I'm pretty smart, but I don't know if I'm a rock star. I think I better avoid potential embarrassment and look elsewhere”.
Is it code for “seeking brogrammers”?
Now I'm glad I didn't.
From now on, I won't ignore unlucky headlines.
What if there was a website where you could download a metrics app, which would take the measurements, then upload the data to a web app, where someone could login and see how well their shop stacks up in comparison to the general population of shops using the same language and library?
This would give hiring shops some way to quantify the maturity of the shops a prospective hire has worked.
Metrics are not so much for code quality as to flag widespread code suckage. I still think this could benefit hiring.
Lower lines of code definitely correlates with lower defect count.