Live data from Hacker News

Stanford CS9: Problem-Solving for the CS Technical Interview

web.stanford.edu

91–100 of 292 posts

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#91
post #54

Earlier quoted context omitted.

Take home assignments are easy to cheat on? What does that mean (in the context of a take-home problem as an interview method)? Are candidates expected to derive solutions to coding or engineering problems themselves from first principles as their day to day? The answer is "no" almost without exception, even in serious research or hard core low level systems programming jobs.

It means that you have a friend or someone you pay solve the challenge and prep you very well on the solution. This isn't about creating the universe before you bake an apple pie, it's about preventing a mediocre software engineer who can understand a great solution, but has a hard time writing one from being assessed the same was as a great software engineer.

Okay, allowing for that, nothing this class teaches does the job of allowing you to assess someone as a great software engineer either.

In fact, if you want to hire a great software engineer, you can't do that reliably with any of these interview techniques. If your interview can be studied for, you aren't going to fight great software engineers. At best, you can find someone who will do the job.

A mediocre software engineer.

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#92

Earlier quoted context omitted.

It's been my experience that any industry that * Is attractive enough (compensation, lifestyle, etc.) * and has a larger supply of qualified applicants than desirable positions Will result in applicants preparing for however they are interviewed, tested, etc. This isn't unique to software engineering interviews. People prepare for interviews or exams in finance, law, medicine, etc. They all have a system that is game…

The funny thing is that software engineering does this while also complaining of labor shortages . Or, if we're being a bit more honest, it's not funny, it's cynically self-serving.

I'd be willing to take either side of a debate for "is there a shortage of people who, when given tight specifications for a piece of software (write a function that takes X as input and provides Y as output) that enumerates all of the corner conditions can produce a program in a language that they are familiar with."

At the same time, the "person who can work with the business user on the software, think about the architecture of it, identify the design necessary, come up with the estimate that actually matches the time frame that it will be done in with a reasonable error... and produce software that takes X as input and provides Y as output while being aware of where the edge conditions may exist and ask for clarification on how it should work"... I believe there is a distinct lack of that portion of labor.

Furthermore, there is also a lack of people who are able to move from the first labor pool to the second, and a lack of mentors who have the time and ability to help that group move to the second.

I don't think its incredibly difficult to hire an entry level person as long as one sets the bar low enough and has people within the origination who are capable of providing the design. On the other hand, it is very difficult to find the people who can give the necessary instruction to the entry level people to allow them to become productive within their ability.

As an aside, I also find that within the entry level group... there are a sizable portion that have the attitude of "I learned language X and that was hard enough, I'm going to stick with it and not learn anything else." That X can be found for all languages and none have the monopoly on it. However, it is disconcerting for me to see those individuals... I started out as a C programmer, and then Perl (full stack web - some JavaScript in there) and then Java (enterprise), and then Java stand alone (swing application)... and while I'm still a Java programmer, I can see other languages looming on the horizon. Java will become the COBOL, and while there are still COBOL programmers out there, its not something that one wants to get stuck in for another two or three decades waiting for that last app server to be turned off before they can retire.

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#93

What a joke, but I'm completely unsurprised. Prep for the SAT, prep for jobs, prep on the job - minus the whizkids, Stanford grads make great corporate drones.

Corporate drones that are paid $50-$100k more than me total comp their first year, yes.

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#96
post #75

Earlier quoted context omitted.

One can argue that this is the same thing.

Sure, you could argue that, but you'd lose the argument every single time. Interviewers don't share the questions they are expecting you to prepare for.

? In the act of preparation you learn (hopefully) how to abstractly solve problems. So I’m confused as to your point?

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#97
post #3

This is what I was afraid of. I always thought interviews were something where you present your abilities, experience and knowledge. It should not be something you "prepare" for because then you're not showing off your skills, instead you're just regurgitating what you are trained to do. I do somewhat blame the whiteboard culture, but I guess that's the one that has given the best results so far. I've no doubt that i…

FWIW, preparing for interviews is standard practice irrespective of the industry.

Is there any other industry where it's common practice to give job seekers homework during an interview?

Or to have job seekers complete an online test proving their skills?

https://www.indeed.com/forum/gen/Job-Interviews/Has-anyone-h...

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#98
post #3

This is what I was afraid of. I always thought interviews were something where you present your abilities, experience and knowledge. It should not be something you "prepare" for because then you're not showing off your skills, instead you're just regurgitating what you are trained to do. I do somewhat blame the whiteboard culture, but I guess that's the one that has given the best results so far. I've no doubt that i…

Preparation is a huuuuuuge part of being successful in the workplace[1]. Simply showing up just doesn’t cut it. Part of interviews aren’t even testing skills, but testing prep. Of course, you want to test for innate genetic talent as well. Good interviews do that, but as with gattaca, we see that desire and sincere interest counts too over genes. Preparation, sincerity, and genes. That’s what I like to see in potenti…

Software engineering does not consist of preparing for and then giving short/intense performances.

Plenty of fields do - performing arts, film, trading, etc. all involve some form of short, intense, expensive activity to which you show up prepared and work in a burst of superhuman activity. But software isn’t like that at all - you get a problem and you dig into it, mull it over, research, etc. at your leisure until it’s done. We’re novelists, not actors.

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#99

I kinda like the idea of having an intense data structures and algorithms class for hands-on problem solving. If a candidate has shown an ability to solve several hundred medium+ DS & Algo questions on the spot, that gives him an edge up in day to day to programming. Not everybody can do that. You can supplement that with other areas (concurrency; distributed systems; execution latency, memory management etc; quirks…

I hate the interviews as much as anybody... but really I wish that kind of instruction had been a bigger part of my college curriculum. Yea, we had data structures classes, algorithm classes - but none of them really made me good at any of them. Not like how math classes makes you good at the math, by forcing you to solve problems over and over, until it becomes nearly instinctual.

I've actually become a better programmer by practicing interview problems, because they ultimately are a bit like the arithmetic involved in solving more large scale problems.

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#100
The last two places I've interviewed and was turned away would have loved a "software engineer" who had taken this class. I am a typical developer, I can get shit done but there are rough edges I have because I'm human. I think, interviewing in general is tough for me and when there's a set way of showing your abilities comes up, I'm not great at presenting that.

My github is active, I work on things that a potential employer as well as fellow developers would be interested in and I also am trying to grow by showing bad, good, and some code that I'm very proud of on my github. But, the thing I noticed at the two aforementioned interviews was that they hadn't even taken a look at my github.

Post reply on HN