Live data from Hacker News

Getting a job in software development: A Reddit discussion round-up

reddit.com

31–40 of 50 posts

Re: Getting a job in software development: A Reddit discussion round-up

#31
post #9

Earlier quoted context omitted.

Knowledge on these subjects is easy to pick up, taking you a few days of study at the most. I doubt you can pick up a solid understanding of just the first 15 or so chapters of CLRS in a few months, let alone days.

You could learn it well enough to answer interview questions on it. I have my copy of CLRS here and none of the first 15 chapters are exceptionally dense.

Sure. If the questions are stuff like define O(n) notation, you can. I suspect any company worth working for will ask you a bit more than that, though.

Re: Getting a job in software development: A Reddit discussion round-up

#32
post #27

Earlier quoted context omitted.

Do you have a citation for this? I can't imagine that it could ever be the case. The employer can set whatever job requirements they want as long as they do not discriminate against protected classes. Non-degree holders are not a protected class. I'm far from an expert, but I have had to take classes in Employment Law and interviewing practices. This is not the kind of thing they would forget to mention!

I think he might be suggesting that with hiring coders-in-general, it's not necessary that the employer must only hire degree-holders. This is in contrast to hiring an elementary school teacher, where by law the applicant must possess credentials x/y/z even if the school thinks the applicant is fine without those.

Exactly. There are lots of jobs for which a degree or certification is absolutely required.

Re: Getting a job in software development: A Reddit discussion round-up

#33

Earlier quoted context omitted.

Coming from a pure math background, I find CLRS to be very easy to read. YMMV based on prior experience, but it's not at all unreasonable to learn the basics in a week or two if you're studying it full-time.

I'm not talking about "picking up the basics". I doubt that level of knowledge will get you a job offer from Google. I'm extremely skeptical about your claim. Just reading through the chapters will take the better part of a day. Working through the exercises and thinking about what each of these algorithms will take much longer.

Maybe everybody's assuming people smarter than you.

Re: Getting a job in software development: A Reddit discussion round-up

#34
I love this comment:

" At the end of a whiteboarding interview whenever the interviewer asks "do you have any questions for me?" I'm always tempted to hand them the marker and say "Imagine you are given a binary tree with elements containing linked lists ..." "

Have any of you guys ever done this? How did it play out?

Re: Getting a job in software development: A Reddit discussion round-up

#35
I recently interviewed a master's student for a job at our company. I asked him a very traditional question, and then was going to follow up on it with increasingly more difficult questions to see how deep his knowledge was. I wasn't out to "get" him at all, I hate interviewers that ask super-hard questions, I'm more interested in having a good conversation with the person to try to get a feel for what they really know, not just what they've memorized.

My question was easy: how would you iterate through a binary search tree.

He immediately asked me "should I do it recursively, or iteratively? Can I use a stack if I do it iteratively?" It was obvious he had studied for this question, and he banged out a solution in 2 mins. Iterating through a binary tree is a bit tricky if you've never done it before, and I wasn't even going to ask him this, but since he brought it up, I knew he knew the answer. The fact he could come to an answer immediately only indicated to me that he had memorized the answer and was essentially gaming the system.

So I asked him an even simpler question: Given a binary search tree, write code to find a particular value. If you can't find the value, then return me the next smallest value. For example, if the tree contains 1, 2, 3, and 5, and I ask for 4, then return 3.

He couldn't answer this, even though it's easier than the previous question. He had no clue how to solve it, and even worse, he couldn't recognize the simple bugs in the code, and the fact that he was dereferencing NULL pointers, etc. So I passed on him.

Personally, I think the best way to advertise for a job is to have a portfolio of code, as dpritchett says. I'm tired of testing people on whiteboards, and seeing if they can memorize solutions to every single program on glassdoor.com. I'd rather just have them point to a github repository, so that I can see their coding style, and see if they can produce quality code. Having an indepth conversation about their project, and quizzing them on their code, to me, is a more real-world determination of whether or not they're a good programmer.

Then, the onsite interview would be limited to determining if their personality is a good fit for the team, instead of trying to come up with 10 different variations on "iterate through a binary tree".

Re: Getting a job in software development: A Reddit discussion round-up

#36

I recently interviewed a master's student for a job at our company. I asked him a very traditional question, and then was going to follow up on it with increasingly more difficult questions to see how deep his knowledge was. I wasn't out to "get" him at all, I hate interviewers that ask super-hard questions, I'm more interested in having a good conversation with the person to try to get a feel for what they really kn…

So I asked him an even simpler question: Given a binary search tree, write code to find a particular value. If you can't find the value, then return me the next smallest value. For example, if the tree contains 1, 2, 3, and 5, and I ask for 4, then return 3.

Out of curiosity, what is the solution?

I would imagine something like keeping a variable of the highest found value under 4 and if you don't find 4 then you use this variable.

Re: Getting a job in software development: A Reddit discussion round-up

#37

Earlier quoted context omitted.

Placing a particularly high value on undergraduate-level CS theory as a pre-employment hurdle provides a market advantage to people with fresh undergraduate training. This coincidentally depresses the marketability (for a certain class of job) of older workers and demographics less likely to achieve a degree from a top N computer science program. Certainly you could read between the lines and say that observably favo…

This coincidentally depresses the marketability (for a certain class of job) of older workers and demographics less likely to achieve a degree from a top N computer science program. If those older workers and others are equally or more skilled than the younger ones implied by your question, smart companies will realize the discrepancy and hire them. In addition, if older workers know that firms place a "high value on…

If those older workers and others are equally or more skilled than the younger ones implied by your question, smart companies will realize the discrepancy and hire them.

The invisible hand of self-interest only works if smarter contenders actually appear in the marketplace. If there is some invisible hand of stupidity (and groupthink) that affects all companies above a certain size, then we are hosed.

Why is it that all big organizations are almost universally dilbertesque? There must be some anti-nootropic effect that occurs above a certain threshold of organizational complexity.

Re: Getting a job in software development: A Reddit discussion round-up

#39
post #36

I recently interviewed a master's student for a job at our company. I asked him a very traditional question, and then was going to follow up on it with increasingly more difficult questions to see how deep his knowledge was. I wasn't out to "get" him at all, I hate interviewers that ask super-hard questions, I'm more interested in having a good conversation with the person to try to get a feel for what they really kn…

So I asked him an even simpler question: Given a binary search tree, write code to find a particular value. If you can't find the value, then return me the next smallest value. For example, if the tree contains 1, 2, 3, and 5, and I ask for 4, then return 3. Out of curiosity, what is the solution? I would imagine something like keeping a variable of the highest found value under 4 and if you don't find 4 then you use…

[deleted]
Post reply on HN