5 ms·
I have zero desire to play these silly games. Sorry, I'm much more than a 40 minute probability puzzle! The only way to win is stop playing. Give me a proble
by RA_Fisher 13y ago
I have zero desire to play these silly games. Sorry, I'm much more than a 40 minute probability puzzle! The only way to win is stop playing. Give me a problem to take home, and think about. Or, how about asking me about my skills (and having a conversation about a piece of code). How about pair-programming? TDD abilities count for nothing, whaaaa?
These types of tests do little more than reinforce stale ideas and turn away unconventional well-rounded candidates. Used to play the game, now I win because I don't play.
- RA_Fisher 13y agoLike one of their examples, "I have an array stockPricesYesterday where the keys are the number of minutes into the day (starting with midnight) and the values are the price of Apple stock at that time" My response would just be, "you generally shouldn't store data in keys". Their response, "Okay, just solve the problem." No real discussion.
- WoodenChair 13y agoI'd give you brownie points but still expect you to answer the question. These questions are not THAT hard - they are definitely fair game and help screen out the people who only know how to use APIs and not how to think about things at a lower level. But I agree an array would be a more efficient data structure for this :)
- RA_Fisher 13y agoAnother problem I have is that I get terrible anxiety in the interviews and my brain shuts down. I've made a personal decision for my own well-being not to participate in these types of interviews, no matter the circumstances. At that point, it's in the company's court. I will happily demonstrate in many ways that I've solved these problems and more complex problems before. Including narrating my code, papers, articles, body of work, speaking of my aspirations as a data scientist / developer. Talk about learning JavaScript from Crockford and what I've learned. Opinions on DHH's Agile v4 and convention over configuration. The truth is, I research every problem I have (at least a little bit). I never sit down and blindly program or do math problems. I'll never forget my former Bell Labs-theoretical statistican advisor (American. Stat Association decorated!) telling me about accidentally helping his high school-age daughter fail on a take-home probability problem for school.
- pmiller2 13y agoI have this same problem. Unfortunately, I'm not currently employed, so it's quite a handicap in the interview process.
- RA_Fisher 13y agoYou should look at smaller companies, most of them seem to have figured out the whole package counts. If you're a hacker like I am, it's a dream. Little bit of everything across your domain (but quality). Plus, you might even learn what's necessary to run the show!
- pmiller2 13y agoThat's where I'm currently looking. My biggest problem is identifying the companies. Being in the Bay Area, it's more a problem of how and where to search than limited number of companies, though. I think I'd fit in with a company far enough along to have built its MVP (so they're not always in that perpetual crunch mode), but which has fewer than 10 engineers. I really value work-life balance, so I don't want to work insane amounts of overtime all the time, but I could totally live on a below market salary if the other aspects of the job were right. I'm considering working with a recruiter. Anyone know any technical recruiters in the Bay Area who are worth working with? Oh, and as always, my email is in my profile if anyone wants to take this discussion offline.
- alttab 13y agoPretty picky for a guy without a job.
- joe_the_user 13y agoAbsolutely, Interview questions should hinge on, like, the experience and competence that I already have from having worked a substantial period of time as a professional computer programmer. Not on how cleverly I do on BS. And I actually generally do very well on this crap but I still hate being impelled to take part in this kind of circus. In fact, it's annoying that I jump to being a top candidate based on this stuff and only then does an employer come up with some mundane requirement that should have been the initial qualifier/disqualifier.
- 02 13y agoIt is amazing to me to see computer science fundamentals hand-waved away as 'crap' and 'BS'.
- Delmania 13y agoI don't think anyone would claim these things are crap or BS, I think it's that these silly problem are irrelevant. These questions are like high school or college coursework, artificial questions designed to reinforce the instruction, but not something that would be encountered in a business setting. Additionally, they tend to gloss over a person's experience. I may not be able to solve your silly little stock trading problem by myself in a short amount of time, but I am sure that within the normal development environment, I could, especially since I would be working with a team. Or could I? Since this question doesn't look into my ability to communicate or work within a team, you don't know. Also, while I may not be able to solve the problem in 45 minutes, maybe I should talk about the time I dove into an application written in a foreign technology and managed to solve a critical production bug before it could cost the company millions of dollar. But again, you don't know that because you're obsessed with my ability to solve a high school computer science problem. Different jobs require different skills. Having the ability to code is important, but not nearly as important as teamwork, communication, and the willingness to learn something new. That's the problem with these questions, they are nothing more than smoke screen.
- gameguy43 13y agoI think there's some truth to this. Companies should weigh past work more heavily, and let candidates do real work with the team as part of the interview process, IMO. That being said, I think these whiteboard problems can be useful when you think of them as "trying out what it feels like to brainstorm with the candidate about how to solve a problem." That's how I think of them. There are plenty of people I just can't get on the same page with when trying to whiteboard together (different communication styles/speeds/whatever), and it's helpful to know that ahead of time.
- bulatb 13y agoThe problem is these interviews aren't brainstorms. They're exams, where you don't even know the range of topics in advance. No matter much interviewers claim it's just a conversation, the reality is they have standard questions with specific optimal solutions, chosen for their ease of grading rather than their relevance or what they actually reveal. When no one knows the answer and the object of the meeting is to find it, it might really be a brainstorm. When the interviewer knows the answer and expects the candidate to get it, where a real discussion isn't possible because suggesting things that aren't The Answer (or asking stupid questions) could significantly hurt your chances, it's a test.
- xsmasher 13y agoThere exist too-clever "gotcha" questions that are obvious if you've seen them before, and near impossible if you haven't. Those are terrible, and they fall to your "They're exams" criticism. Other questions have layers, like an onion. Those are the good questions. They should divide the candidates into STRATA. I think the stock question is one of those. Strata 1: Everyone should be able to produce a brute-force, inefficient solution, and avoid the obvious+wrong solution. If not, they should have been weeded earlier by your phone screening. Strata 2: Better candidates should be able to produce a more efficient and readable solution, sometimes with prodding. Some candidates never get here, even with prodding ("Have you considered x,y,z?") Strata 3: Candidate skips straight to the correct solution, sometimes provides more than was required ("You shouldn't store data as keys; you probably want to return the time and buy/sell prices, not just the profit".) Interviewer needs to prod and ask questions here ("what's wrong with solution x? why did you do y? What if I want a list of possible trades?") to make sure it's not a memorized answer. You shouldn't expect that, in ten minutes, your candidate can come up with the optimal solution that took you three hours. But they should be able to understand and recognize that solution if you lead them to it. Anyone using these questions as pass/fail is doing it wrong, but that's not the question's fault.
- nerfhammer 13y agoThink of it this way: Take 20 developers. If you give them a test with 200 difficult problems they would all score about the same. Instead, give them 4 difficult problems in a limited time frame. Now some of them will look much smarter than others. Only hire these candidates. Now you can believe you are part of a very selective group.
- deleted 13y ago[deleted]
- xsmasher 13y ago"Having a conversation about a piece of code" sounds good, it proves you can read code and not just write it. Everything else you mention should have been taken care of on your resume or you wouldn't be in the interview, BUT plenty of people can talk a good game. As an employer, do you really want to find out AFTER hiring that the candidate is incapable of understanding a problem based on an oral or written description; incapable of capturing requirements, asking the right questions, and forming an attack plan without thinking about it overnight? Testing someone's ability to follow along and contribute in real-time is part of the test, IMO. It does penalize "deep thinkers" and still waters, though. I've had candidates email me a supremely perfect solution the next day, and that's a positive data point too.