Live data from Hacker News

Ask HN: Shouldn't a recent CS grad know how to throw an exception?

news.ycombinator.com

31–40 of 41 posts

Re: Ask HN: Shouldn't a recent CS grad know how to throw an exception?

#31
post #30
post #28

Earlier quoted context omitted.

> 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 t…

Are you saying that exception handling is trivial and so old that it's irrelevant to know how to do it?

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.

Re: Ask HN: Shouldn't a recent CS grad know how to throw an exception?

#32
post #22

Earlier quoted context omitted.

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? Should I expect them to be knowledgeable of complicated concepts if they are not knowledgeable of simple concepts? I'm sorry, I know I'm being obtuse here. I just didn't think that being able to code `throw new Exception();` in an interview for a Java de…

That they don't know how to throw an exception in Java doesn't mean they don't know what an exception is and how it can be used to control program flow -- why not ask them about it? All it tells you is that they have no professional experience as a Java programmer... which you already knew before interviewing them. Well, why didn't they look that up before the interview? Because they didn't know that'd be the one det…

I would venture to guess that you have not done much hiring and, thus, have not been burned by taking on developers, spending time and money to get them up to speed on application architecture, domain knowledge, and team processes, only to find out that they don't know how to write code.

A developer that cannot take basic requirements and codify them into working software is not a developer. A logician, scientist, or mathematician, maybe, but not a developer. And our hiring process is designed to help distinguish the developers from the non-developers.

Re: Ask HN: Shouldn't a recent CS grad know how to throw an exception?

#33
post #32

Earlier quoted context omitted.

That they don't know how to throw an exception in Java doesn't mean they don't know what an exception is and how it can be used to control program flow -- why not ask them about it? All it tells you is that they have no professional experience as a Java programmer... which you already knew before interviewing them. Well, why didn't they look that up before the interview? Because they didn't know that'd be the one det…

I would venture to guess that you have not done much hiring and, thus, have not been burned by taking on developers, spending time and money to get them up to speed on application architecture, domain knowledge, and team processes, only to find out that they don't know how to write code. A developer that cannot take basic requirements and codify them into working software is not a developer. A logician, scientist, or…

That's what you think your hiring process is designed to do. Instead it's screening for particular pieces of trivia instead of knowledge and competency. It's only going to get worse as vanilla Java becomes more and more relegated to maintenance of old codebases. It's not a language most CS programs use to teach at this point.

You can test whether someone can turn requirements into working code without testing for specific bits of trivia. Simply saying "solve this in the language you're most comfortable with" does away with that flaw in your process, while still allowing you to see whether they can code, whether they write tests, whether they think of edge/corner cases, whether they handle errors or malformed inputs, how they think about problem solving, etc.

There are plenty of companies that hire developers without finding out they hired people who can't code only after investing in them. They don't do it by adding language trivia to the interviews. If it's too difficult for you, you can outsource that part: https://www.interviewstreet.com/recruit2/

Re: Ask HN: Shouldn't a recent CS grad know how to throw an exception?

#34
post #10

Granted, I know how to throw an exception, but the large majority of my undergrad career was about solving problems that were evaluated on 'well-formed' data. It was rare for the code to need to be able to handle exceptions. Perhaps this is the culprit.

Agree, sad reality of most CS courses taught at school, the hw problems do not resemble real world professional problems.

Agree, sad reality of most CS courses taught at school, the hw problems do not resemble real world professional problems.

Google doesn't use exceptions at all, at least in C++ code (http://google-styleguide.googlecode.com/svn/trunk/cppguide.x...), so according to you, their problems don't "resemble real world professional problems"? (Whatever "real world" and "professional" means - whenever I see these terms, it's red warning lights all over for me.)

Re: Ask HN: Shouldn't a recent CS grad know how to throw an exception?

#35
Having just graduated from a UK degree in CS i can im not surprised some people cannot do simple tasks like that. University doesn't really prepare you for a certain language or skill, its up to the individual to take that bit of knowledge and apply it further - (in there own time)

Personally i gained more in my own time / placement however university gave me the tools and direction.

I would recommend finding grads that have completed time in industry, the difference between those that did and those that didnt shocked even myself on returning for my final year.

I *would expect to grad to be able to throw and exception and catch them tbh.

Re: Ask HN: Shouldn't a recent CS grad know how to throw an exception?

#37
post #18
post #3

My CS program focused strongly on OO and our core language was Java. Exceptions were a regular subject and part of assignments. It seems insane that someone could have a CS degree and not know something so simple and fundamental.

Sadly, you seem to have spent a lot of time and money on subjects you could have taught yourself in a few weeks of light reading. Java is not computer science. Exception handling is not computer science. "Something so simple and fundamental" yes, but again, completely unrelated to computer science. Anyone with half a brain can learn a new language via self study. I would be royally pissed if that's what I was taught…

All of CS can be learnt from books.

Re: Ask HN: Shouldn't a recent CS grad know how to throw an exception?

#38
post #18

Earlier quoted context omitted.

Sadly, you seem to have spent a lot of time and money on subjects you could have taught yourself in a few weeks of light reading. Java is not computer science. Exception handling is not computer science. "Something so simple and fundamental" yes, but again, completely unrelated to computer science. Anyone with half a brain can learn a new language via self study. I would be royally pissed if that's what I was taught…

All of CS can be learnt from books.

True, but not all of them are as easily learned as a new language is. This is coming from someone who didn't go to college and has been working in the industry for almost ten years now.

Re: Ask HN: Shouldn't a recent CS grad know how to throw an exception?

#39
I'd say it depends. If they consider Java to be their primary language and they haven't spent enough time coding in it to have ever encountered exceptions, then they haven't spent enough time coding, period (I'm assuming exceptions weren't the only gap in their knowledge, and this was just an example?). If they consider something else to be their primary language, and are otherwise solid on their CS fundamentals, then by all means, cut them some slack.

Re: Ask HN: Shouldn't a recent CS grad know how to throw an exception?

#40
post #38

Earlier quoted context omitted.

All of CS can be learnt from books.

True, but not all of them are as easily learned as a new language is. This is coming from someone who didn't go to college and has been working in the industry for almost ten years now.

Agreed.
Post reply on HN