4 ms·
Ask HN: Are dev interviews hard or am I just incompetent?
Went to a few interviews. 1 was with amazon... ok I was expecting the interview to be quite hard.
Then went to some small companies and had the same complexity of technical tests with amazon. One of them asked me to code on a board.
Should I just look to change my occupation completely? Am I incompetent or people are asking way too much nowadays?
- dredmorbius 10y agoThey're hard, quality assessment (on both sides of the table) is hard, there are many incompetent managers (as there are many incompetant techies), and it's a frequently-visited topic on HN. https://hn.algolia.com/?query=interviews&sort=byPopularity&prefix&page=0&dateRange=all&type=story https://hn.algolia.com/?query=interviews&sort=byPopularity&p... https://hn.algolia.com/?query=recruiting&sort=byPopularity&prefix&page=0&dateRange=all&type=story https://hn.algolia.com/?query=recruiting&sort=byPopularity&p... More generally, quality assessments of tacit knowledge are intrinsically hard.
- svennek 10y agoI think that potential employers always wanna stress you a little to see, what you really can and what is bravado. Good companies might still press to hard (but not give you penalties for failing way-too-hard questions). Also it can be a tactic to see, how you handle stressful and unknown situations (which might occur often depending of your specific line of work and industry). I have made interviews (as the employers' helper) with live coding exercises on a computer, and even if they technically failed I recommended hiring them anyways as I was obvious that their skills where okay but their performance "issue" was stress-related.. That said, I know nothing of your skill level, so YMMV... Btw. small companies have similar problems, often just on a much smaller scale (not that it necessarily makes them easier to handle, especially because they have much tighter ressource constraints (less money))
- itamarst 10y agoWhiteboard coding is nothing at all like real work. In your real job you never code on a whiteboard with an arbitrarily short timeline, without access to the Internet while stressing about getting a job. It's just a hazing ritual.
- davelnewton 10y agoWhiteboard coding is one way to understand how a person thinks about a problem. Regarding arbitrarily-short deadlines--the only difference is that IRL it wouldn't be on a whiteboard. Deadlines are still arbitrarily short, and people will be watching you work. I've never asked someone to code on a whiteboard (I tend towards paper anyway) as anything remotely approaching hazing, which is specifically designed to humiliate, demean, or over-stress.
- bsvalley 10y agoI'm just curious, how do you evaluate stress during an interview? It's usually a 1-1 situation between 2 developers. How do you describe stress during a 1-1 chat? If the candidate has a shaky voice? Or shaky hands? How do you put this on paper as a valid rejection point? Most of the people would actually mix a few things all together. If I have troubles answering your questions you might think i'm stressed? If I miss something obvious while writing code on a whiteboard, is this due to stress? I think it's total BS... Being stressed in a professional environment is triggered by a thousand things, the people, colleagues, personal life events, traffic on the way to work, etc. People are really coming with all sort of fancy evaluation techniques... I think we really need a standard evaluation like GMAT for software engineers. It's getting a little crazy.
- davelnewton 10y agoSo far all you've said is that they asked you to code on a board and that they were "hard". Without knowing why you found them hard it's impossible to provide any meaningful input.
- morbidhawk 10y agoExactly this! To improve a more critical thinking approach is needed. Learning to interview better is a separate issue from whether the interviewer or interviewee should be assumed incompentent. Asking "Am I incompetent" is a question that you can't control (right now you can only do something to change your future competence as the past is behind you) and it might be a passive-aggressive mechanism to protect yourself rather than addressing issues directly. OP, asking better questions will help focus your mind on achieving what you want. "What did I struggle with in the interview?", "Ok I struggled with x topic, what is x?", "What are different ways x is implemented?". You need to focus on content and start learning to ask productive questions to help you become really interested in the content you are learning about, rather than treating it like some quiz you just study for. Be honest with yourself and with the interviewers. You don't need to prove your competence to yourself or overstress about looking competent to your interviewers, care about the content and they'll be able to see that you are good
- muse900 10y agoSorry about that and the late response. I was asked to balance a binary tree on a whiteboard! I walked out of there instantly, but generally all the interviews I went to had very similar questions.
- davelnewton 10y agoBut what's the specific issue with a question like that? I agree that it's rare that we have to write low-level functionality like this any more (I have had to write such things, however). I argue that basic CS knowledge isn't useless and actually does matter in the long run.
- itamarst 10y agoWhiteboard coding puzzles, and interviewing in general, are a distinct skill that usually has nothing to do with actual job performance. You can be bad at interviewing and still be a great employee, and vice versa you can be a great at interviewing and a bad employee. You should treat it as a new skill to acquire, however annoying and pointless that is... or figure out ways to get a job without going through that. Some companies have better interview processes. Re coding on a board, here's how I deal with those: https://codewithoutrules.com/2016/04/04/interview-puzzles/ https://codewithoutrules.com/2016/04/04/interview-puzzles/
- sevilo 10y agoI very much second this. I remember I had so much trouble landing my first internship that I was near the point of dropping out my CS degree to switch major. After a few internships and also landing full time positions, I realize interviewing is really a distinct skill that's apart from your ability to perform on the job. Especially with companies that make you do coding puzzles, you have to treat it as a standardized test and put some effort into studying for it. With more interview iterations, you'll also become better at presenting yourself and showing confidence (which I believe will have a major impact on people's first impression on you).
- nickpeterson 10y agoI think it's cultural. Many developers lack traditional credentials. Others have credentials but didn't really learn the material. Companies know that hiring bad developers can really hurt performance, morale, culture. So big tech firms that do lots of hiring decided to invent tests to screen applicants. Smaller firms decided to follow suit since large companies were doing it. If you truly want the jobs on offer, you probably need to cram a bit to pass interview tests. This is easier than it sounds, remember that it's likely going to be tests about the basics of well-known structures and operations (tree traversals, hashing, et cetera). I know it's annoying since it rarely comes up day-to-day, but the worst case is you learn your craft better than you need to. Another route, go into parts of the field that don't have this requirement. I've noticed that certain areas (ERP Development, SQL DBA, etc) don't tend to focus on this and are more concept oriented in interviews. I think it's because you don't really build the tooling, but rather use it solve problems. Also, the job usually isn't for a company that makes its money from software. No judgement (I'm a former ERP developer turned SQL DBA, so I'd probably fail most of these interviews spectacularly).
- telebone_man 10y agoI would say you need to incorporate a mix of honesty and ingenuity into your response to these situations. If you're asked to 'code a solution to this problem on the whiteboard', the honest answer would probably be that you normally use google for reference, old code etc. and the ingenuity would be for you to write some psuedo-code on the board, anyway. I think this applies to lots of questions.. "Can you tell me how you would sort this data set?". "(honesty) I don't know how, off the top of my head but (ingenuity) I know I could utilise an algorithm and I would probably google/research which would be most appropriate". I'll finish with an anecdote.. in my first IT interview (server builder) I was asked to tell the interviewer what RAID stood for, and which type I would use to ensure my data was safe if one drive blew up. In my inexperienced state of mind, I murmured and was clearly distressed. The interview interrupted and said "If you don't know the answer.. just tell me you don't know, and that you'll find out and tell me later". The lesson there is, sometimes there isn't one clear answer to an interviewers question. Good luck :)
- bsvalley 10y agoWelcome to the job market :) you should run a quick search on HN people have been talking about that a lot lately. Long story short - all the tech companies have adopted the google model in order to evaluate candidates. In other words, generalists are in high demand right now and of course in early 2017 there's a higher supply than demand. Companies, small, medium and large can pretty much do whathever the heck they want.
- Avalaxy 10y agoSo... You couldn't get hired by a top company so now you think you're incompetent...? I think I miss the logic here. You know, try interviewing at companies that do not belong to the top 5%.