Hacker News new | ask | show | jobs
by silisili 1411 days ago
I agree in principle, but not in experience.

I've interviewed a few people lately, Senior Eng somehow, who have impressive resumes.

I ask basic coding tasks just to make sure they actually know the language claimed - just something like converting numbers to strings, and you'd be amazed how many people had no idea where to start.

4 comments

My team once needed to hire someone from the outside. I posted a C++ job saying we expect people to know C++11 and to be comfortable working with a C++20 codebase

Literally more than half the applicants couldn't figure out how to update/install clang/gcc to compile our test. It wasn't timed or anything it was essentially change the lambda so it's by reference instead of by value (or the other way around idr) and send us back the one or two line change

Doesnt sound like you disagree. That falls under the "give me a task" part.
Yeah not sure if it was edited or my brain completely skipped it, but I totally didn't see that when starting my reply - sorry.
> just something like converting numbers to strings

Isn't that the kind of thing that someone senior would typically look up? Do you think that whether or not they have that part of the language API stored in their working memory is a good predictor of their ability to do a good job as a senior eng?

We allow them to use Godoc, of course. That said

> Isn't that the kind of thing that someone senior would typically look up?

Not at all. There's at least two ways to do this very easily in Go(one line, no errors to worry about even), and I'd expect someone who claims to use it daily to know one of them offhand.

While I think languages are just tools, in our instance we're very clear we need people versed and ready to start.

I don't think people are dumb here, I think they just blatantly lie on their resumes.

That skill has nothing specifically to do with Go. Most languages have some "ParseInt" function or so. And of all the languages I use for daily work I could not 100% tell you what that function is exactly called.

By doing that you are wasting a potentially good developper because they didn't happen to remember some languages exact syntax.

It's also just straight up insulting. If someone worked for x years in a related role... do you just assume that they were a fraud at that job, and they just leeched of that companies money?!

Converting ints to strings isn't a 'skill'. It's a simple task to see if they are well versed enough in Go to get started.

And no the question isn't 'convert a number to a string', it's a small function tasked with doing something along those lines.

I don't get why you feel that's insulting. If I were applying for a job speaking French, was asked to translate a simple sentence, and couldn't...I wouldn't expect to be hired. I don't see this much differently.

> And of all the languages I use for daily work I could not 100% tell you what that function is exactly called.

And see, that would be fine. In this example, if one would say 'oh it's in strconv let me look that up' or 'oh can I look up the string formatting symbols' this would be perfectly acceptable, to me.

Writing things like string(i) or i + "x", not so much.

It's insulting because you automatically assume the candidate is a fraud. What if the candidate asked to see your financial bookkeeping to make sure that you always pay salary on time? Would that be cool with you? They just want to make sure that your company isn't a fraud and does actually pay their staff... right?
If you were applying to be a doctor would the interviewer giving you an orange and a dull knife and asking you to cutout a seed without spilling any juice on the table be helpful as a hiring filter? Because that is what you are doing.

Just hire a few people part time and the one(s) that can deliver offer full time roles.

This analogy doesn't hold water.

It's more like hiring for a podiatrist, the candidate claiming to be a podiatrist for 5 years, then not being able to answer what to do for a sprained ankle... because they can just google it.

Over 15 years in the industry, shitloads of code shipped in a dozen plus languages, repeatedly taken an idea all the way to being a functioning product, usually get great feedback from peers and managers, often taken point on architectural matters, et c., et c.

Yeah, I'd probably google that in any language I've written, including ones I've worked in in the last couple weeks. Even if I thought I knew what to do, and even if I tried it and it seemed to do the right thing, I'd google it (or use in-IDE docs, or similar) because I wouldn't trust that I was entirely correct.

... however, narrow the question and give me some resources ("the input will be a positive, unsigned 32-bit integer; the string should be ascii and use digits, not words, to represent the number; do insert commas every third digit [and we're working exclusively in English, so commas are all we need and you can ignore system locale preferences—one of many subtle ways one might screw this up]; here's a printout of an ascii table for reference") and I can probably do something like what's requested, without the aid of Google. As long as you don't expect the syntax to be completely perfect.

Honestly while I would agree for a lot of obscure methods, I can't imagine a senior engineer not knowing how to convert an integer to a string.
You are testing if they have how to convert a number to string in working memory. Is that really helpful.. in real life they would look it up refresh themselves. You just filtered people who can look up answers and learn things. Aren't those skills more inline with what most positions need?
Converting a simple type to a string is pretty basic, though. How else would you display things to the user?