7 ms·
It's not just you :) A much more realistic way to test people is to tell them to bring their laptop, point to a problem on the whiteboard and say "here, solve i
by blisterpeanuts 6y ago
It's not just you :)
A much more realistic way to test people is to tell them to bring their laptop, point to a problem on the whiteboard and say "here, solve it, and use whatever resources you need."
I'm somewhat like you; I do a wide variety of tasks every day and simply can't keep all the different rules and syntaxes in my head. I'm terrible at tests anyway and would probably bomb a FAANG interview badly because of my lousy memory.
As an interviewer, I would rather someone be generally smart, have a good work ethic and lots of experience solving problems. In the long run that seems more useful than being able to write computer programs on a piece of paper in a conference room.
- AnHonestComment 6y agoI see a lot of people impose constraints on themselves that aren’t there. I’ve said, at multiple interviews, “there’s a library function something like this — normally I’d google it” and made up some syntax. The point is to write something while being pleasant to work with — not memorize a bunch of syntax. My experience is that candidates would be better served by practicing being personable over coffee than leetcode — but that could be sampling bias or whatever.
- cactus2093 6y agoThis has actually not been my experience. I generally agree with your reasoning and have tried to run coding interviews this way, thinking that it is most similar to doing real work. Candidates can use their own computer, their own editor and plugins, whatever framework and language they prefer, can google anything they need, etc. It causes a surprising number of problems. A lot of candidates come in with their environments just very poorly configured, run into weird dependency errors, mismatched installed versions, no linting or syntax highlighting set up in their editor because they don't actually ever code on their personal computer, etc. It's not uncommon to spend half the interview watching someone debug their dev environment, or struggle to remember the basic syntax of their favorite framework since they aren't working on the same codebase that they're used to. I've mostly come around again at this point and decided that even if I like this type of interview best in theory, focusing on standalone problems that can be done in coderpad with no dependencies is a more reliable approach.
- xapata 6y agoI use repl.it for interviews. I preconfigure the environment and sometimes fix typos if I think they're getting stuck.
- C1sc0cat 6y agoA lot of developers wont use their personal computer to develop on but as a terminal. Its actually bad practice in a lot of peoples opinion you should develop and test on an identical system hw/sw to the system you will deploy on.
- pdonis 6y ago> A lot of candidates come in with their environments just very poorly configured, run into weird dependency errors, mismatched installed versions, no linting or syntax highlighting set up in their editor because they don't actually ever code on their personal computer, etc. Isn't that a useful way to filter out candidates that you don't want to hire? Presumably they know in advance what kind of code you're going to ask them to write, so they have time to set things up beforehand.
- cactus2093 6y agoYeah, you could argue that this means these people aren't that serious about us, and we should be looking for people who are dying to work for our company specifically. Those people will surely spend hours preparing specifically for our interview, and triple-check they have followed all of our preparation instructions. The reality is that for the past few years at least in SF, hiring engineers has just gotten more and more competitive. Most people who pass our interview will have multiple other offers, often some from companies with a bigger name brand than our own. At least in my opinion, most companies in this environment can't afford to have such strict purity tests. It's supply and demand. This balance may be changing now given the current recession, it seems even in tech things have cooled off a bit the past few months.
- jimbokun 6y ago> A lot of candidates come in with their environments just very poorly configured, run into weird dependency errors, mismatched installed versions, no linting or syntax highlighting set up in their editor because they don't actually ever code on their personal computer, etc. It's not uncommon to spend half the interview watching someone debug their dev environment, or struggle to remember the basic syntax of their favorite framework since they aren't working on the same codebase that they're used to. Now THAT reflects the actual daily experience of working programmers. All the maddening little configuration options to get things working correctly, and seem to take up far more time than actually writing code to solve customers problems.
- drdrey 6y agoI don't even have a personal laptop, seems like bringing the employer provided laptop to interviews is not the most sensible.
- IggleSniggle 6y agoI have a personal laptop but I haven't used it in a few years. I spend every productive moment deep in the weeds on my employers laptop! I'm not sure I would even look like a proficient computer users on my personal laptop. It runs Windows, and at this point my macos work environment is so heavily customized that I'd be bound to get tripped up just by the sudden unexpected need to use a mouse.
- bryanrasmussen 6y agoone time I went to an interview and they had a laptop ready with something for me to do. This guy had some insanely powerful glasses to have the font so small on his computer (considering he was also quite old) and a few other things combined with it being a Windows machine and I'd been off of windows for a couple years made it almost impossible to make it work.
- Cthulhu_ 6y agoI'm glad my (former) employer has a scheme where after two years you can take over your "old" laptop for just €200. I'm at my new job right now with a 2017 MBP, which their current laptop budget just wouldn't even come near to. Oh and I got it revised just before leaving, the speakers were broken but there was a recall / extended warranty about that problem, it got the whole top replaced.
- bananaface 6y agoWait, your employer makes you pay to get a new work laptop, or they have a scheme where you can buy your old work laptop for $200? If they make you pay to work on up-to-date hardware, that's insane.
- rusticpenn 6y ago
- mark-r 6y agoI once brought a laptop to an interview. Completely bombed it, because when asked to connect it to a projector I couldn't do it - I'd never used the video output on that laptop before and it was hidden behind a flip-down door that I didn't know about.
- joelbluminator 6y agoAnd that's it? Interviewer saw that as reason enough for you to fail the interview? Be glad you didn't get in!
- michaelt 6y agoMore likely it's a time issue: Every minute spent fiddling with your laptop is a minute not spent on the coding problem that's being used to evaluate you.
- mark-r 6y agoIn this case I was being asked to supply an example of a GUI I had worked on in the past, and the relevant program was installed on my laptop and there was no publicly installable version. I don't blame them at all, the problem was entirely mine.
- rikroots 6y agoI completely bombed an interview because they gave me a laptop but refused to supply a mouse. Plus the laptop touchpad scrolled in the opposite direction to what I was used to. I felt quite sorry for the interviewers who had to sit silent for ten minutes watching me try to copy a function from one file to another.
- cutemonster 6y agoMark and rikroots, I'm curious about how long it took for you to travel to the interview and back
- mark-r 6y ago
- stormbrew 6y agoAs the replies to this are getting at, it's really important that if you do this you don't require the candidate to use their own laptop. You need to provide a laptop or like, a mac mini or something you know you can plug in and has baseline requirements for working on the problem you're giving them. And you need to make sure that the problem isn't complex enough that they can't do it in the allotted time if they struggle a bit with an editor they're not used to (including like, vim without their usual barrage of scripts). Otherwise you're just trading one bias for another: winners will be people who have personal laptops set up for coding, which is not a universal trait of good employees who code. Let them use a laptop they bring if they want, but be ready to supply them with something they can use if it doesn't work out.
- blisterpeanuts 6y agoHm, maybe. I was thinking, work in an environment you're familiar with, since that's a more realistic measure. For example, I'm an Emacs kind of guy, so if they hand me a Windows laptop, do I limp along with Notepad? or some IDE that happens to be installed? Generally, as soon as I've settled in at a new job, I've customized my work environment with something as close to Linux and Emacs as possible -- if Windows, I'll install Cygwin if allowed, and/or Emacs and GNU utilities.
- vonseel 6y agoIt sounds like definitely an opportunity at the minimum for the existing online interviewing sites to provide a service which installs a candidate's vim configuration (or emacs, not sure how that one works) from a public Github (or other host) git repository URL. They've already gone through the trouble of sandboxing the runtimes somehow so it can't be that difficult to also sandbox the editor. Not sure how it would work for other IDEs but that should at least support vim, maybe others like VS Code and IntelliJ too.
- pmontra 6y agoGive me a Mac and I'll spend half of the time asking you how to do X on a Mac, keyboard, mouse, touchpad, menus and unfamiliar software. Do you really have to test for the ability to use tools instead of the ability of reasoning? A whiteboard doesn't seem bad for that. I would like to understand how the candidates reason, how they interact with colleagues and yes, also how they handle stress. Example from yesterday: I had to fix a problem on a software in production before the end of the day (it must be available today) and before a reasonable hour (I wanted to go out at night.) That means working fast, debug, find solutions, possibly develop workarounds that leave the system working even if the problem is still not fully understood and solved and, most important, don't panic.
- perl4ever 6y agoI like take home tests. Unfortunately, the one time I applied to a place that gave them, and apparently aced it, they wanted to validate it in the interview, by having me program in an environment and language I'd never used before. I get that everybody cheats at everything, but since some employers (all the ones that have ever hired me) hire without any coding demonstration, why can't you just take the risk and trust that a regular interview is enough?
- fendy3002 6y agoIt feels like that the company is lacking a programmer who is decent at communication. It can be easily solved by asking what is a parts of code do, or how it works and why.
- bananaface 6y agoI mean, every other company having a giant hole in hiring policy is not a good reason for them to have it. But them not letting you use tech you're comfortable with is a stupid way to verify.
- bregma 6y agoNo company should trust their employees. The risk of a type II error is too great. To certain kinds of people a type II error is the worst kind of error you can make.
- wtetzner 6y agoWhy not give the take home test in advance, and then have the candidate explain their solution in the interview?