News for hackers. Stuff that matters.
Re:Ask HN: Shouldn't a recent CS grad know how to throw an e... by chc on Thursday August 01, 2013 @09:55PM (#6144919)
> So it's a simple concept that takes no time to learn, and they haven't yet learned it before showing up for an interview. Doesn't that tell me something right there?

It tells you that it's trivia. There is a world of trivia surrounding any topic, and 100% of the time you will be able to nail somebody on not knowing something that's simple to learn if you just pick the right piece of trivia.

> Should I expect them to be knowledgeable of complicated concepts if they are not knowledgeable of simple concepts?

OK, so Cocoa has this OO IPC technology called Distributed Objects. It's really brain-dead simple (like four lines of code to set up), but it's pretty archaic. I have more than a decade of experience in Objective-C/Cocoa at this point and feel pretty confident saying I have a solid understanding of the language and framework — but if you asked me to write some code using Distributed Objects, I would have to go look it up. I'd have it down in a couple of minutes once I knew it was needed, but I could not produce it on the spot because you can't hold every piece of trivia in your mind all the time, and this particular bit of trivia has never been needed for the things I've done.

Re:Ask HN: Shouldn't a recent CS grad know how to throw an e... by superEb on Thursday August 01, 2013 @10:14PM (#6144971)
Are you saying that exception handling is trivial and so old that it's irrelevant to know how to do it?
Re:Ask HN: Shouldn't a recent CS grad know how to throw an e... by chc on Thursday August 01, 2013 @10:27PM (#6144994)
I'm saying the syntax for throwing an exception in Java is trivial, and that there are many programs you could write where throwing your own exceptions is irrelevant.

Focusing on the precise reason I don't know Distributed Objects is really a red herring. I was trying to give a personal example of where I could be criticized for not knowing something simple. The point is that it's simple to learn, just like the syntax for throwing exceptions. But I don't know it because my experience just hasn't taken me there yet.

Basically, what you're seeing here is just a lack of experience with real-world Java programming. It's like knowing all the cross-browser compatibility gotchas in JavaScript. Not knowing this doesn't indicate a deeper problem with their education, because the point of a computer science education is not to teach every piece of Java trivia. As they gain experience, they will easily pick up all the trivia that's relevant to their job, and the other trivia (like Distributed Objects) will remain unknown.