Live data from Hacker News

Ask YC: Does interviewing developers leave you depressed?

news.ycombinator.com

91–100 of 127 posts

Re: Ask YC: Does interviewing developers leave you depressed?

#91
post #31

Part of it may be your questions, and part may be HOW you're asking (e.g. over the phone, or putting someone on the spot). 2) Not a lot of people write SQL by hand anymore. I used MySQL for years, long ago, and never wrote a join. Then ORMs came along and handle joins automatically, so I've still never written one. So not being able to do it without looking it up doesn't really tell you anything. I've written far, fa…

"A lot of people use languages where recursion is unusual (i.e. NOT Lisp). Even a senior developer (especially of something like PHP) might not recall this, not having actually written a recursive function for years."

There are tons of languages that support recursion. Whether or not you use it is a function of the problem, not the language. (I'm not counting tail recursion since I consider tail recursion to be a functional way of expressing iteration.)

"Representing a car as an object: A lot of software people don't know hardware, so the confounding part might be recalling various attributes of cars and how they relate to each other."

Well, if I was given this question in an interview, I would ask, "are we building a CAD program or a car-racing game"? CAD programs (I've never written one) would probably have a CADObject class for all drafted objects that the car parts and the car itself would inherit from, and you'd have to discuss not only what was in the car but where it was connected, so just saying that it's a composition of "engine, body, brakes, air filter, etc." would be insufficient. A car-racing game would just have a car object with a shape, performance characteristics, and be able to hold states for its physical motion at a given time, as well as being able to take messages/method calls for things like "pressing the turbo button" or "emergency brake" or "shoot a missile" (depending on the racing game). You can build an entirely sensible object model for a car and be totally wrong if you don't know what you're building it for.

Re: Ask YC: Does interviewing developers leave you depressed?

#93
post #69
post #31

Part of it may be your questions, and part may be HOW you're asking (e.g. over the phone, or putting someone on the spot). 2) Not a lot of people write SQL by hand anymore. I used MySQL for years, long ago, and never wrote a join. Then ORMs came along and handle joins automatically, so I've still never written one. So not being able to do it without looking it up doesn't really tell you anything. I've written far, fa…

"PG, RTM, and TLB would probably fail your test -- they don't use SQL, they use flat files." Well, then they likely wouldn't be a good fit for the position the OP is hiring for, since it requires using SQL, not flat files.

It would be nice to see who's upvoting this so I could add them to an IDIOTS file.

Any of the above people could obviously EASILY pick up whatever SQL you happened to be using. RTM could wipe the floor with you, the OP, and everyone else on your team.

If your interview process filters out people like RTM, your filtering is broken.

Re: Ask YC: Does interviewing developers leave you depressed?

#94

Just out of personal curiosity, you should try to find out if any of these failed candidates are actually skilled developers but there's something about the questions or interview that's messing them up? For example I consider myself a reasonable programmer, I can certainly do any project put in front of me. But I failed a YouTube phone interview because they asked me to "say" a function for finding the longest commo…

We are currently going through the same daunting process trying to hire a PHP developer at CollegeHumor. I would say 70% of the applicants we interview cant answer basic computer science questions. We don't give a written technical test. We don't expect a developer to be able to code on paper. In a real environment they have access to tools, compilers, docs, etc. It's an unfair and unnecessarily stressful test.

Good luck with your search.

Shameless plug: If your interested in a development position at CollegeHumor in New York City... Email techjobs@connectedventures.com.

Re: Ask YC: Does interviewing developers leave you depressed?

#95

Earlier quoted context omitted.

"I used MySQL for years, long ago, and never wrote a join." Scary! I wonder about your definition of "used", if you used an RDBMS in a non trivial app "for years" and never wrote a join! The database design must be very ... unusual :-). And this was in the days before ORMs :-D. " Then ORMs came along and handle joins automatically, so I've still never written one. " I've never yet seen a non trivial RDBMS based app w…

"I used MySQL for years, long ago, and never wrote a join." Wow. Note to self: start asking candidates to write SQL in interviews. It had just never occurred to me that people who spend their entire lives talking to databases wouldn't know how to talk to them directly. And really, you can get pretty much any piece of information out of a database using just four keywords . It's the least memorization of any language…

> It had just never occurred to me that people who spend their entire lives talking to databases wouldn't know how to talk to them directly.

You're begging the question. Most people who use databases don't "spend their entire lives" talking to them.

Of course I've talked to databases "directly", tuned them, "alter"ed them, indexed them, replicated them, and so forth, but just happened to use logic at the application level instead of the SQL level for JOIN functionality.

Re: Ask YC: Does interviewing developers leave you depressed?

#96
post #31

Part of it may be your questions, and part may be HOW you're asking (e.g. over the phone, or putting someone on the spot). 2) Not a lot of people write SQL by hand anymore. I used MySQL for years, long ago, and never wrote a join. Then ORMs came along and handle joins automatically, so I've still never written one. So not being able to do it without looking it up doesn't really tell you anything. I've written far, fa…

"A lot of people use languages where recursion is unusual (i.e. NOT Lisp). Even a senior developer (especially of something like PHP) might not recall this, not having actually written a recursive function for years." There are tons of languages that support recursion. Whether or not you use it is a function of the problem, not the language. (I'm not counting tail recursion since I consider tail recursion to be a fun…

> There are tons of languages that support recursion

Obviously. But I don't remember ever writing a recursive function in PHP for a website.

Re: Ask YC: Does interviewing developers leave you depressed?

#97
post #90

Earlier quoted context omitted.

"I used MySQL for years, long ago, and never wrote a join." Scary! I wonder about your definition of "used", if you used an RDBMS in a non trivial app "for years" and never wrote a join! The database design must be very ... unusual :-). And this was in the days before ORMs :-D. " Then ORMs came along and handle joins automatically, so I've still never written one. " I've never yet seen a non trivial RDBMS based app w…

> if you used an RDBMS in a non trivial app Depends on what you mean by "trivial". You can use a database for most of the things most websites use them for without ever using a JOIN. It just takes application logic instead of SQL. Sites like this aren't exactly heavy on the SQL. This site doesn't even use SQL. Something like Reddit or Slashdot would, but still wouldn't need JOINs. > I've never yet seen a non trivial…

"Depends on what you mean by "trivial". "

Anything that has more than say, 2 tables, is what I meant by "non trivial" ;-)

"Sites like this aren't exactly heavy on the SQL."

Invalid refutation, I said "if you used an RDBMS and ". That "and" was a boolean and.

I never said you had to use an RDBMS to make a useful website. But if I was hiring for an RDBMS backed website , and you claimed to have used an RDBMS "for years" you'd better damned well know the basics. No "I don't know how to do a join across two tables because I did it in the application layer" doesn't cut it. That is a really stupid explanation of your ignorance and blows a big hole in your supposed "experience" with RDBMS.

"You don't have to drop below it; you can go "above" it into the application layer."

Sure you don't have to drop below the ORM. But you'd better know how to and when to . I wouldn't trust a developer with an ORM who didn't know ultra basic SQL. And a join in an RDBMS is ultra basic - someone claiming knowledge of an RDBMS and not knowing how to do a simple join across two tables (the OP's question was aa simple join across two tables) is like someone claiming to be an expert in c and not knowing how to write a for loop (let alone use pointers). Is that possible? I guess, Is it probable? Not at all.

Besides, using an ORM and doing a join in the application layer (without knowing how to do a SQL join) is ... unusual ;-).

"Let's consider the case of someone with a PhD who ISN'T famous, and then you give him some kind of SQL test and he fails. "Man, what a load of bullcrap his PhD is! He can't even do a simple JOIN!""

Well if the PhD applied for a job that needs SQL he'd better know how to use SQL (or learn - it would take what, one day of reading a basic book on SQL to understand what a join is and formulate a query? If the PhD couldn't do that and claimed he had lots of experience with RDBMS and then said he didn't know how to write a join, then I'd write him off as incompetent (and possibly a liar) for this job, irrespective of his degree, sure) .

" A lot of them don't write joins."

as long as they can write a join after claiming to have worked with RDBMS for ages ;-)

"So, once again, the danger of using any litmus test is you can end up filtering out extremely capable people who don't do X (but could obviously pick it up quickly), while passing minimally-capable people who CAN do X."'

The danger of NOT using a quick and easy litmus test is that all kinds of idiots get through to your personal interview stage and you end up wasting a lot of time talking to incompetent people.

Re: Ask YC: Does interviewing developers leave you depressed?

#98
post #56

Earlier quoted context omitted.

I would fail if this was a 'live' screening. It's rare that I write SQL by hand, and remembering the syntax for a JOIN is something I pretty much always look up. I just don't do it by hand very anymore. I'm a very good developer (my track record would suggest as such), but I would fail at least one part of this test due to the simple inability to remember elementary SQL syntax. The interesting thing about this statem…

"That's just not true, particularly at the larger companies out there. Amazon, for instance, has a rigorous process that you can't (more or less) circumvent. " "more or less" is key. If someone at the level of PG or RTM (or Linus or Hejlsberg, say) were to apply to Amazon (or Google or Yahoo), I am sure they aren't going to be asked to code "subsequence of a string" on the phone! They'd no doubt get a good interview…

> I was specifically responding to this sentence "PG, RTM, and TLB would probably fail your test". I doubt that somehow!

But you'd be wrong.

Re: Ask YC: Does interviewing developers leave you depressed?

#99

Flemlord, a lot of responses seem based on hypotheses about what a good answer would have been. Could you follow up and give examples of what you'd have considered correct? My hobby-programming experience suggests... simple - int add(int a, int b){int result; result = a + b; return result} recursive - um, I like fibonacci sequences: void fib(int term){if term = 1 return 0; if term = 2 return 1, else return fib(term -…

Your fibonacci algorithm is crap. You're tree-recursively calculating the exact same values over and over and over and over again. Just try running it sometime on a large n if you want to test your computer's ability to stall and ramp up the cooling fans.

"do you make racing games?"

That's a question to ask first, not second. Maybe he's making a "Pimp My Ride" style game where the actual driving part is less important but you need detailed modeling of the seats and the ability to add a bunch of random shit to the interior of the car. Maybe he's making a CAD tool for people to do body design, so you need to be able to do computational fluid dynamics on it and test weight balances, but also be able to visualize it in high resolution to see if it looks cool and to print mockups for focus groups to say "this looks like a kickass car".

Re: Ask YC: Does interviewing developers leave you depressed?

#100
post #73

Earlier quoted context omitted.

Well, if you're using ORMs to handle all your SQL needs (and they literally must be handling all your needs if you're never writing anything with a join) then I don't think that you actually have a working knowledge of SQL in any sense. There are certainly plenty of jobs which require that knowledge, and I'm not sure an employer would want someone who didn't have direct SQL language experience. To be honest, I don't…

> then I don't think that you actually have a working knowledge of SQL in any sense. Of course I have working knowledge of SQL, that's how I used MySQL back when we had to write things by hand. I just don't have a working knowledge of JOINs. I could look up the syntax if I needed to use it. [Looks it up] Looks easy enough. There are numerous SQL commands most users of SQL would probably need to look up. Arbitrarily d…

It had JOINs but a lousy, lousy optimizer, also sub-SELECTs were (are?) a problem. I can't say that having a sort-of knowledge of some (very little)of MySQL is equivalent to having a working knowledge of SQL. Most commands that SQL users would probably need to look up would be the DDL commands, not simple (yes, it really is simple) stuff like LEFT OUTER and INNER JOINs. Also while saying MySQL didn't have SPs is an (fair) indictment of MySQL, you using application logic instead of JOINs is an indictment of you and your supposed 'working SQL knowledge'
Post reply on HN