Hacker News new | ask | show | jobs
by gaius 3427 days ago
The only way to evaluate someone for a software engineer position is to assign a mini coding project. The result should be a working product, packaged and ready to be shipped. It will tell you how fast someone can deliver a solution

This works if your goal is to hire only the currently-unemployed. You will never hire anyone who is currently employed like this. You will probably not even get students who have other options jumping through your hoops.

And think about it, no other industry works like this. You don't give a lawyer a case to win or a doctor a patient to cure to assess hiring them...

3 comments

Like I said - we need to stop lying to ourselves about software engineering. Reality is the complete opposite of what you're talking about. The hiring process in our field is perfectly designed for people fresh out of college. It is not relevant for experienced engineers.

It would take an experienced Software Engineer a while to get up and running on CS exercises before applying for a new job. If I were to apply for a job tomorrow, I'd have to re-learn all the CS crap I did in college 10 years ago. Why? Because for the last 10 years I built products.

They recommend (companies, blogs, etc.) to study CS and practice for at least one month, 3 hours a day, before applying to jobs. This is designed for someone who doesn't have a job or someone fresh out of college.

If you're a Web engineer and if I ask you to write a little app that would pull out data from our test API (in a few hours), it would utilize your current skills. Meaning, you wouldn't have to put extra time in studying CS. Again, if you went to college and ended up with a degree in CS, there is no reason why I'd want to test you on this stuff. What I'd love to know is if you've learned something since college!

Does it make sense?

> You don't give a lawyer a case to win or a doctor a patient to cure to assess hiring them

Both of those industries have accreditation standards and post graduate education requirements. Doctors have on the job requirements. Comparing software development, which is miles less sophisticated in its approach to those doesn't seem like a way to argue for any type of developer interview process.

Doctors' and lawyers' experiences are not gained purely in school. Realistically, a comp sci major gains immediately usable skills during a degree as compared to either of those professions.

In fact, all your argument points to, logically, is that there is a far stronger case for "more sophisticated professions" to have more gruelling interviewing standards than software developers.

Employed candidates have no problem taking a day off (or two when they live far) for a full round of on-site interviews.

Personally I'd much rather work on a 4~5 hours long assignment in my own time. Sadly in my experience, companies that use this approach use it as a way to eliminate phone screenings rather than to make the in person interviews more relevant.

"Employed candidates have no problem taking a day off (or two when they live far) for a full round of on-site interviews."

Oh. I thought I was an employed candidate who had a problem taking a day or two off for an interview. I must have imagined it.

He meant, it is a common phenomenon in our industry to have full or multi-day interviews and people don't say "you'll only be able to hire unemployed people for that".

Programming assignments are usually more flexible for employed people than interview days.

But they aren't a panacea. They are hard to design and if you haven't switched to an objective rubric for measuring them, they can be just as subjective as interviews.

That said, I whole heartily agree with using programing projects instead of interviews.