tags:

views:

963

answers:

16

My organization has been looking for software developers and developer/managers for quite a while now. We have outsourced HR searching and screening for us and we've posted on craigslist in the area we are searching.

I do the technical interview. The technical requirements are ASP.NET/C#/SQL and the interviewees that make it through the initial filter look very promising on paper, but over 90% of them do not get it... There are people with 10+ years of experience and masters degrees in comp sci that cannot answer simple questions...

  • describe the collections primitives/classes in your language (of choice when they don't know c#) and when each might be appropriately used
  • what's an interface and why are they important?
  • what's normalization and why would you normalize (and why would you denormalize)?

So, to those who can answer these questions without looking anything up or even giving a second thought - where do you post your resume?

Please don't actually answer the questions or ask for clarifications. We've got a small shop and I want to create a strong team with no dead weight. The funny thing is that one of the hires we've made was an auto mechanic with no college degree and less than 4 years of development experience. He got all the questions right, had a great attitude. I had to reach pretty deep to find the question that made him say - I don't know. BTW - this is a trick some of us interviewers use to make sure we don't have a BSer. There is so much to know in our field, even if we are highly specialized, that there will always be things we don't know. Over 80% of people try to BS when they don't know, versus admitting that they don't know...

Resolved:

It doesn't look like there is an answer to this question. It's somewhat comforting to know that we are not alone, it's a bit disheartening that the pool of talent available is not what one would expect... I wonder if MSFT/GOOG/AMZN snap up all the good young ones.

As a sidenote - we found the talent from outsourcing to other countries (India/Ukraine) is comparable with the U.S. in that you get what you pay for... I've rewritten 2 applications that have been outsourced to India. The programming was cheap, but the work that we paid for was comparable to what I imagine an evil genie would give you. They never questioned specs or asked for clarification and gave you exactly what was specified - especially when it was wrong. The strong developers from overseas were more expensive than local developers when you factor in the fact that you need a fulltime P.M. to manage the time/language/culture differentials.

I'd like to thank everyone for sharing their experiences.

A: 

Here's mine, though we'd have to do "off site" and we're not really interested in "jobs"...

Thomas Hansen
Thomas you are the worst spammer in this website, no one really want to work with you I guess. You so annoying, can't you just stop being such weirdo with you Ajax library and your website that no one care?
Daok
@daok c'mon, what is hansen supposed to do since he and his brothers aren't selling as many cds as before ;)
mson
Wow...!Excuse me...?What did I do wrong?I kind of like figured I answered the poor guys question in fact...?Migt be equestion was *bad* but don't blame that on ME!
Thomas Hansen
I think all the downvoting is a little harsh. It may not be particularly helpful, but it's relevant and does technically answer the question.
Draemon
+1  A: 

Sir, You're hitting the nail on the head regarding the entire tech community. Microsoft has done a lot of work to help businesses recognize able-bodied developers through testing and certification. The problem with that, as you've seen with your mechanic-developer, is that good developers usually don't fit the test/cert model. Businesses want clear metrics for cost/benefit of people on paper, but developers largely can't be quantified on paper.

The short answer is that development is still more of an art, than a science. No amount of schooling can create a painter. Likewise, no amount of schooling can make a developer.

Look to previous work the developer has done in the community. People who are out there, doing stuff in local circles, are usually the folks who can back it up. Those are the people that care, and because they care, they're most likely better.

Cory Collier
"Microsoft has done a lot of work to help businesses recognize able-bodied developers through testing and certification" LOL!
Steven A. Lowe
A: 

This probably isn't your issue, but maybe you should be careful with your wording.

I know nothing about databases, but I've heard the term, "database normalization" thrown around, so I'm assuming that's what you're talking about. However, I just finished reading up on IEEE floating point number normalization (exam on Monday!), and could have easily answered your question with regard to that. Or I could have just assumed you meant dividing a set of numbers by the largest number in the set.

As for the classes question, I don't think it makes sense to test someone on something they could easily look up if they needed to know about it. Though, I suppose it's better than asking questions about crossing bridges in the dark with only one flashlight...

Ryan Fox
When they start to look confused or look like they are on the wrong path, I guide them to what I was looking for.Anyone who codes should have mastered collections in at least 1 language. I look for people who don't need to research trivial things. Almost everything can be looked up now.
mson
+2  A: 

I couldn't answer all the questions without looking a bit... but

  • computerjobs.com
  • dice.com
  • monster.com
botty
+5  A: 

We get a bunch of people who can't answer simple questions where I am as well. E.g. "What is the asp.net page lifecycle?"

It's almost depressing.

If you're not doing so already, I'd add a simple question that required them to think up an algorithmic solution on the spot, kind of like the one in this question:

http://stackoverflow.com/questions/344901/

As for my resume... Well, I'm trying to make sure that I don't need to have it out there right now... I don't want to be looking for new contracts in a recession!

EDIT: To clarify, because I don't want to sound elitist... The people coming in and failing to answer these questions are applying for mid-level to senior positions and claiming anything from 3-7 years of relevant experience. To see them struggle to answer simple foundation level questions about their supposed area of expertise is an almost embarrassing experience.

Andrew Rollings
elitist? your question is excellent and fair.
mson
you only sound elitist when you're talking, not when you're typing ;-)
Steven A. Lowe
You're confusing "English" and "Elitist" again, Steven :) Don't make me come over there!
Andrew Rollings
do you mean they don't know what it is / aren't aware of it, or do you mean they just can't name the entire lifecycle method names off the top of their head in the right order, heh. There's a huge difference between the two, obviously someone who isn't even aware of the lifecycle itself is not that experienced.
Allen
+3  A: 

The great, and often good developers do not have their resumes posted ... most are happily employed. That is what makes this process most difficult.

You have to find these developers ... they hang out at the universities, local user groups, and online communities.

My experience has been that most job boards will get you mediocre developers, the ones that can't even answer the simplest question.

mattruma
Someone who can't answer a simple question is _not_ a mediocre developer.
gnud
I think spending time in the communities where the good developers lurk is the key (+1 for you, sir). My own experience reflects this - I was employed, and I wasn't broadcasting my resume everywhere - I wasn't sure what I wanted to do, so I just passively looked for job opportunities for about 18 months or so before finding about 4 I wanted to pursue, half of which eventually came from personal contacts anyway. I have found job posting sites to be utterly useless for anything other than generating solicitations from recruiters, which are most unwelcome.
Ben Collins
+5  A: 

Don't filter your applicants through HR or Recruiters. They don't know crap about what makes a good developer and will actually end up filtering out the good ones. All they do is look for a set of keywords to match, and they even fail at that task -- I can't count the number of times I've had to explain that MySQL is NOT Microsoft SQL experience...

So my advice, as a developer who was recently looking for work, is to post ads and do screening yourself. You can find out alot from a phone interview before you have to spend the time to bring them in for an in-person talk. I used Craigslist, Dice, Monster, HotJobs, python.org and Joel's software jobs page to look.

Brian C. Lane
i'd like to not use the recruiter, but there is too much junk that you have to read otherwise.
mson
Understood. If you have to use them, try to find one that really knows their stuff -- most of the ones I run into are no better than a strstr() check.
Brian C. Lane
in the UK at least the agencies have swamped the marketplace - it's hard to find a job without them
annakata
There are lots of recruiters in Australia too - decent job search sites are swamped with recruitment agencies over direct listing about 20:1. However, despite dozens of applications and interviews, **I've never obtained a job through a recruiter, and I've never seen a hire-able candidate from one either.** (I once came close to accepting a job offer through a recruiter, but the recruiter was taking such a huge fee from the employer that they couldn't afford to pay me enough and another employer outbid them).
MGOwen
A: 

I think you really need to read Spolsky's posts on finding good/great programmers. The gist of it is that the best really never need to find a job. There is no magic place where all the best and the brightest post their resume. Why, because they don't need to. Generally, the best are in a place where they don't want to leave. They get to pick any job they want. That's the perk of being the best. The question you have to ask yourself is, why haven't you found any? What do you offer that is attractive?

As far as people who you've met with 10+ years experience, that don't get it, you have to ask yourself, "What do they know that I don't?" (I will admit, some people just don't get it you're right and you'll run into them). I can think of people who probably wouldn't be able to answer all of those questions, but I would still hire them in a heart beat. Why, because they can think circles around everyone else. It goes back to what tech companies did in the 90's. They hired programmers with masters degrees in Philosophy or some other non-cs related discipline. You can teach a smart person what normalization is. You can't teach someone to be smart.

Kevin
I agree with your sentiment about forgiving ignorance about a specific item, but the job actually requires experience and expertise that the questions pose.btw - i'm a trained biologist with philosophy minor
mson
I think the question you need to ask is, "How hard is it to gain the expertise needed?" I would expect the best to be able to pick up concepts like these quickly, like, "we need you to know this when you start." I do understand though, sometimes you just need to hire someone with expertise.
Kevin
The code written by those "philosophy majors" in the 90's is garbage. IT shops trying to maintain these code lines are still drowning in the weight of their own code stink. These people weren't hired for their "smarts" or analytic problem solving skills, rather, the market demanded warm bodies.
jonathan.cone
You must have worked with the wrong philosophers. Most of the ones I knew were also, Chemists, Physicists, Mathematicians, etc. What I'm saying is that normally the really good programmers have other interests that lie outside of basic programming skills.
Kevin
+3  A: 
genehack
You didn't mention whether you finally managed to find anyone competent, but feel free to look me up if you're still looking and interested in 100% remote freelancers. I mostly do Perl work and my site is linked from my profile.
Dave Sherohman
+1  A: 

My resume was never posted anywhere other than my personal site and I just took the link to it down a couple months ago because all it was getting was mail from recruiters looking to fill full-time positions, most of which were, at best, only tangentially related to my skills or interests.

I'm quite happily self-employed as a freelancer, thankyouverymuch, so I now tend to operate based on a portfolio of completed projects and client testimonials while my resume largely just gathers (virtual) dust.

Dave Sherohman
+2  A: 

It is surprisingly difficult to fill positions in our market right now. It has not been for lack of applicants, but what you are seeing in a lack of quality applicants. After almost ten months, we filled the open position that we had. Here are some "lessons learned":

  • Stay Involved - Do not assume that Human Resources is doing their job in screening resumes. You should take a first look at all resumes for the position to determine if they are worth screening.
  • Perform a Legitimate Screening - While questions about page lifecycle are staple questions, make sure to create screening questions built around your application architecture and the daily problems you encounter.
  • Do Not Hesitate - This was the number one problem I had. By the time the resumes "trickled down" to me for review, the most qualified candidates had already found positions. Be involved early and often.
  • Be Your Own Recruiter - If you actively participate in a community - a SIG, for example, find out if it is okay to network within that group. If you are looking to fill a position on your own behalf, chances are that you can make good progress. Still, don't join a SIG with the intent of recruiting - bad etiquette.
  • Network. LinkedIn is a great site. The larger your network, the more chances are that you might have a 2nd or 3rd level contact that is looking for a career change.

My resume is not currently active, but when it is, I put it on my own site, and reference that wherever I post my resume to, as well. Craigslist has actually gotten me the most recognition for my resume when I was looking for work.

joseph.ferris
Sorry.. A SIG is a "special interest group" - like a User Group, or mailing list, etc.
joseph.ferris
+1  A: 

Short answer: I don't - I like my job and am not looking to move.

Long answer: I have an account on notchup.com that is reasonably up to date. You can pay me to come interview with you if you want, though, like I said, I like my job, and am not looking to move. I also have posted my resume on my website at various points, though I'm not sure it's actually linked from the homepage (or anywhere else) right now.

It's really, really hard to find good people. At Ooyala, we've relied mainly on insanely good recruiters and personal networking to get most of the people we've ended up hiring.

Scotty Allen
+1  A: 

For what it's worth, I think this was a good question, at least in the "feedback repository" sense, if not in the classic SO "specific programming question" sense. My company is in the same position, going through the same process, and having roughly the same experience. I'm considering applying some of the techniques discussed in our company (such as getting the "raw" resume feed and doing ruthless phone screening), so this question was helpful for me.

Nick
+1  A: 

(UK centric)

I'm actually going through the mill of being a jobseeker right now, and it's just awful. I had forgotten how much so.

Being in full-time employment with a bitch of a commute as it is I have precious little time to do my own research and jobhunting really. I try, but sometimes I just have to not be staring depressed in front of the laptop.

The one place not inundated with agency postings is the newspapers but I'm at a point in my career where I'm not yet hitting the senior architect, CTO kind of postings nor the graduate/trainee ones typical of the broadsheets.

So I'm reduced to monster (which is spam heavy) and jobsearch (less so, but...) where you suffer the pros and cons of the agent horde - they can be very proactive, but of course they can be misleading lying fools and they'll drop you as soon as you miss a phone call. And they will insist on phoning at all hours of your work day.

I've had to let a number of great contracting opportunities because of my notice period, and in a normal time I'd have quit ages ago and been able to jump on them. Bloody credit crunch.

annakata
A: 

go to selectcandidates.com and send your resume

A: 

Have you tried StackOverflow itself?

careers.stackoverflow.com?

Or finding relevant tags, clicking "stats" and browsing profiles of the top answerers? Those guys are smart and probably available (not too busy to answer questions on SO anyway).

MGOwen