TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Should we change the way we do software interviews? What's stopping us?

51 pointsby d0pawareabout 7 years ago

24 comments

kwilletsabout 7 years ago
It&#x27;s entirely bullshit, and I regret being on both sides. I used to do coding screens, but I feel like some moderate knowledge of syntax and a decent education is enough to skip the rest. The whole cargo cult of coding screens came up during the 00&#x27;s when Google made it look important, and you&#x27;re correct that it&#x27;s largely an exercise to convince the team that they&#x27;re special.<p>Software engineering is the science of avoiding coding! And the code that these elite teams produce is often pure shit anyways.
评论 #16673955 未加载
评论 #16677239 未加载
评论 #16673851 未加载
rootusrootusabout 7 years ago
I would fail utterly at a real coding interview. I&#x27;ve been out of school too long for that crap. And also, my tolerance for it has dropped as well.<p>But, I&#x27;m now a dev manager so I get to sit on the other side. I&#x27;ve been doing interviews in the last week for a dev position and I don&#x27;t subject candidates to coding. I talk with them about what they work on, one of my senior devs sits in and goes even deeper -- learning what they know without even really asking formal questions, for the most part. Past that I care more about them being smart enough and willing to learn new things, and easygoing enough to get along with the rest of the team. Hell, that&#x27;s at least half of what I care about to be honest.
评论 #16673787 未加载
评论 #16673806 未加载
slap_shotabout 7 years ago
We absolutely should. Here&#x27;s what I&#x27;m doing to help change it:<p>I&#x27;m launching a new venture that will try to help connect great engineers with great companies. Companies with great teams, competitive benefits, and the belief that engineers shouldn&#x27;t have to go through bullshit interview practices and shouldn&#x27;t have to study 150 hours for a round of interviews.<p>The flow is pretty simple: a quick Skype&#x2F;Hang out call to learn about you, what&#x27;ve you done, what you want, and what you like&#x2F;don&#x27;t like.<p>Next, you&#x27;ll get access to a git repo. In that git repo is a project with real code and a few features&#x2F;bug fixes for you to implement. You commit against that repo just like you would at work. After a certain amount of time, you&#x27;ll lose access to that repo.<p>One or more engineers will review the repo with no knowledge of your age, gender, work history, etc. Based on that engineer&#x27;s feedback, we match you with companies that we think there will be a good fit. If there is mutual interest, you meet the companies in person for a final round where you can&#x27;t get rail-roaded with bullshit questions.<p>Email me @ interviewingisbroken@gmail.com if any of these are you:<p>1. You&#x27;re in the Bay Area or NYC and interested in fair interviews with great companies<p>2. You&#x27;re in the Bay Area or NYC and work for a company that wants to offer fair interviews to get great engineers<p>3. You&#x27;re a great engineer who would like to get paid to help create interview projects or perform reviews of candidates code - we&#x27;re paying up to $100&#x2F;hr. Great side hustle opportunity.<p>I wasn&#x27;t planning on announcing anything about this yet but this post got me so fired up.
评论 #16673704 未加载
评论 #16673850 未加载
评论 #16673759 未加载
评论 #16673691 未加载
评论 #16673762 未加载
评论 #16673752 未加载
评论 #16674587 未加载
grepthisababout 7 years ago
I personally like the way we currently do software interviews. I got a nearly perfect SAT&#x2F;GMAT through rote preparation (despite not doing so well in school generally), and brought this skill to bear on software engineering interviews. As such, I’ve had job offers at some of the best companies in the world, something my pedigree otherwise wouldn’t have allowed. I’m not able to get a job at McKinsey or BCG, no matter how well I do in case interviews, because they weight academics and prestige of school highly.<p>I get that many people, especially seniors, are annoyed by the general software engineering process because they feel entitled to certain positions. But for the most part it seems to make things as meritocratic as possible (aside from holding back certain populations because of bias, something people seem to be working on fixing).<p>So yeah I agree several day-long interviews for a company is draining and a huge time suck, but aside from that relatively minor inconvenience it puts everyone on a level playing field, and those who are “too good” for the game are free to opt out.
评论 #16674416 未加载
arenaninjaabout 7 years ago
Absolutely. I&#x27;ve seen companies send an intern to do a technical interview for someone with over 10 years of experience. The intern&#x27;s feedback was that the guy had a lot of experience, but made some syntactic error on a whiteboard exercise so it was a pass. I don&#x27;t know who gets to dictate shit like that, but it&#x27;s absolutely broken. For reference two days later I overheard the same intern saying that JavaScript was fully synchronous.<p>As a fun aside, I&#x27;ve seen people send out HackerRank evaluations for entry level positions and I think that&#x27;s ludicrous.<p>The best interview I have had was me Skyping with one of the devs and he gave me a link where we were able to share a browser session (for the life of me I can&#x27;t remember the name of the site), but he described the problem and as I typed he could see what I typed. There was no emphasis on result that I can remember, just the process of writing code, talking it out loud and seeing code evolve and asking whether certain edge cases should be considered.<p>What&#x27;s most broken, I think, is the fact that interviewing is an uneven, broken experience that&#x27;s different everywhere you go because no one really knows how to interview. I haven&#x27;t seen any company take metrics on whether their process is good or helpful or filters out too many people or not enough.
评论 #16673744 未加载
评论 #16674035 未加载
ben_jonesabout 7 years ago
Personally I&#x27;m very defensive against more academic interview processes (like Google&#x27;s) because I&#x27;m a college drop-out and feel some amount of insecurity being ranked among peers with better academic backgrounds who might excel at such tests. In truth it is a personal failure of mine, and something i&#x27;ll eventually get over through study&#x2F;training the next time I&#x27;m looking for a job (hopefully years from now).<p>Sure it would be great if we found some super-magical process that didn&#x27;t irritate or inconvenience incumbent and new developers alike. But you probably can&#x27;t please everyone, and in the meantime we need to do the best we can because hiring still has to happen. Companies with slightly better processes will be rewarded (hopefully) and companies with more painful processes will face some penalty from losing candidates that would move their company forward. Hopefully this is enough of an incentive to keep companies continually working towards better hiring practices. But I kind of doubt it.
评论 #16673639 未加载
taurathabout 7 years ago
Most thinking people hate them. Everyone at my job believes they wouldn’t would be able to pass the interview again for a job they’ve held for years.
BlackjackCFabout 7 years ago
I actually really like the way that my company does software interviews. We do an initial resume check and screener phone call. After that, we send prospectives a take-home code sample that they can work on. The problems are very small and well-scoped and they can take as long as they want to work on it.<p>We do an initial code review. If we have notes for improvement, we give the candidate feedback and ask if they&#x27;d like to do one more pass at it. If they don&#x27;t want to, but we think that the general thinking and instincts behind the logic is sound, we bring them in for an in-person where we ask them to go over their code review on where the pitfalls are and where they think they could potentially improve.<p>That gives us the most realistic sense of how well a candidate is going to do at the company, since this is essentially our process.
评论 #16673760 未加载
jonexabout 7 years ago
My impression of the big 4 interview process I went trough for my current position wasn&#x27;t at all that it was all about having done a lot of preparation in the form of hackerrank problems etc. On the one question that most closely looked like something from my preparations, I did worse than the others. This was because I didn&#x27;t actually think the solution trough properly and mostly repeated what I &quot;knew&quot; was the answer.<p>My conclusion was that it&#x27;s mostly about being able to solve novel (which means preparation matters less) problems in code and explain the reasoning behind the solution. It is of course possible that I was just lucky in having good interviewers, in which case I guess that would answer the question, more of that and less of syntax checks or finding the one true answer-type of questions.
alexandercrohdeabout 7 years ago
Most people hate them when they get rejected, consider them fair when they pass. Like anything, they are mostly subjective and very gameable (compare it to getting accepted at a college)<p>It&#x27;s not remotely scientifically-objective, but most things in life aren&#x27;t. I&#x27;d liken it more to dating. Both parties are evaluating each other on innumerable criteria through their own subjective lenses, and trying to reduce it a scientifically-quantifiable measure is dubious.
评论 #16673682 未加载
futurixabout 7 years ago
I especially love being asked questions from university CS courses that I completely forgot in the 20 years since I graduated - because they were completely irrelevant in the real world. It&#x27;s like reliving the exam nightmare throughout your entire life.
fdwabout 7 years ago
I&#x27;m getting a bit frustrated with the talk about interviews, as we repeat the basic message every now and then, but nothing changes. I feel we all agree that the current status quo is not good, but so far there has not been any good alternative:<p>- Whiteboards are unnatural. Besides, you don&#x27;t want to check their knowledge of university-grade algorithms or data structures.<p>- Problems to take home are an artificial setting - you can&#x27;t be absolutely sure that they did the work themselves, and you have no idea how the mesh with other people. And you probably get some false negatives because they&#x27;re stuck and can&#x27;t ask their colleague.<p>- On the other hand, if you&#x27;re using real code from your project, you&#x27;re just asking for unpaid work. And paying every candidate is a significant expense.<p>- Using a proxy measure like HackerRank or a Github portfolio excludes people from minorities or who only want a job and not a mission.<p>- Not doing any coding opens you up for people who can talk, but not code.<p>Have I missed anything? Is there a good alternative to find the right people? I&#x27;d love to improve my company&#x27;s interviewing process, but sooner or later we always hit one of the mentioned problems.
评论 #16677235 未加载
TrinaryWorksTooabout 7 years ago
My opinion is we need to have more variety of interview options. Everyone has their strengths and weaknesses and any given Dev has to have some kind of idea of what they excel at. Some people are really good at tough algorithms.<p>I recently went through a job search and I ended some coding tests because they took too much time and the questions I was asked seemed more like a random candidate filter rather than a test of developer knowledge.<p>My personal opinion is to make an easy coding exam similar to triplebyte or other apply once talk to many companies and randomly accept a portion of candidates.<p>That way people will know it&#x27;s not their skill and can optimize for market exposure rather than arbitrary coding problems.<p>Then have an in person where you see if communication can happen. Ask them to walk you through the code used on the entrance test.<p>Can the industry move towards something like match day for doctors, but more ongoing?
ShabbosGoyabout 7 years ago
Whiteboarding is a waste of time in my opinion. The problems are recycled anyway (reverse singly linked list, needle in haystack search, etc). It doesn’t give you a useful signal about the person’s coding ability when they can just do rote memorization on a toy problem.
评论 #16673688 未加载
评论 #16673798 未加载
评论 #16674062 未加载
sheeshkebababout 7 years ago
These two below resonate after hiring dozens of engineers:<p>&gt; – What kind of quality work does this person produce in a normal work environment where someone isn’t breathing down their neck?<p>&gt; – Can I work with this person on projects that span weeks, months, or years?<p>No matter how well they anwser questions, how they whiteboard, how high is their IQ, or how well they do homework - none of it would tell you anything about their work quality or actual on the job performance.<p>Just ask them a for loop question and give them a contract to work on something. If it works, maybe hire them.
评论 #16679331 未加载
ashwinajabout 7 years ago
I&#x27;ve thought a lot about this (and I&#x27;m sure others have to); I think candidates generally fall in two buckets:<p>1. Can code:<p><pre><code> a. Gifted: </code></pre> These have a natural talent for coding and can crank out code at the drop of a hat<p><pre><code> b. Persistent: </code></pre> Have moderate-good talent for coding, they make up the gap with gifted coders with sheer persistence and relentless pursuit for making themselves better<p>2. Cannot code&#x2F;haven&#x27;t coded in a long time<p>How can you test for coding? In my view it&#x27;s certainly not some academic question or the in-vogue programming interviews book. This is clearly proven to be red herring. Also at least in the bay area, there are set questions that FANG and other companies have which are shared all over the internet and amongst friends who work there. So an interview becomes a casting process for a role, where the script is the questions you have &quot;rehearsed&quot;. This is an absolute facade and needs to stop!<p>I ask simple programming questions and look for &quot;naturalness&quot; in the way they answer and talk through the solutions. No complicated brain teasers or the smug &quot;look at me, I know this obscure&#x2F;complicated algorithm invented before I was born&quot; questions.<p>Coding is one facet, the other one is design. No matter how good a coder you are if you have bad design skills it doesn&#x27;t matter. How do you test for design?<p>1. Resume experience: Talk through technical issues&#x2F;challenges, pros&#x2F;cons etc. of projects they&#x27;ve done before<p>2. A simple-moderate design question: If someone lists distributed systems as one of their skills, ask them a question on it. A decent amount of determination can be made about a candidate they way he&#x2F;she answers.<p>I&#x27;m refining my process after each interview I take and would love feedback.
评论 #16681448 未加载
praterabout 7 years ago
I&#x27;ve been through and used several different styles of interview and the one that stands out as being &quot;the best&quot; at predicting whether a person will fit on the team is just to bring them in and work with them for a day on <i>your actual product</i><p>1) You don&#x27;t do problems you&#x27;ve already solved that they have to come up with same answer to.<p>2) You don&#x27;t do algorithm &#x2F; problem testing that they&#x27;re never going to use on the job.<p>3) You don&#x27;t do whiteboarding except as you would in real life.<p>Engineering teams are people working collaboratively to solve complicated problems where nobody knows the &quot;right&quot; answer. Any interview that&#x27;s going to tell you something is going to measure along those metrics, and not &quot;can you invert this b-tree on a whiteboard.&quot;
评论 #16673864 未加载
dominotwabout 7 years ago
There are tons of threads on HackerNews on this and they all usually follow the same exact pattern of discussion.<p>Everyone hates interviews and how they are useless but in the the end we settle for the status quo.
AndrewKemendoabout 7 years ago
There is no right answer to this. Every company is different, so there is no right way to do software interviews.<p>Enterprise SaaS, Consumer Social and ML API companies will all have different working environments. Add on to that options of remote vs on-prem, CI&#x2F;CD vs TDD, customer integration requirements, staff numbers, perks etc... and you have completely different needs for workers and teams.<p>A team earns their hires, and people will naturally gravitate to environments that suit their work styles.
评论 #16674206 未加载
mikeytown2about 7 years ago
I always ask them to read code and tell me what it does. 100% better than whiteboard coding because you can hear them working through it.
thurnabout 7 years ago
I conduct this style of interviews. It&#x27;s easy to complain, but much hard to propose better options. Most alternative hiring proposals do not meet the fundamental criteria of Big 4 hiring: they must reject approximately 99% of applicants while consuming an average of two hours of engineer-time per candidate.
评论 #16673730 未加载
ytersabout 7 years ago
I enjoy the coding interviews. I would interview just to do them.
tchaffeeabout 7 years ago
I would like to offer a partial list of practical ways to make software engineering interviews better.<p>1. As a candidate, if you are in a strong enough position to refuse the job, then refuse to do white board exercises with no resources. No one codes like this in real life so refuse to do it in an interview. Be willing to walk out. I just say &quot;I&#x27;m a good programmer and your interview process is broken. If you want to hire good programmers it&#x27;s your interview that needs to change. We can start that right now and talk shop as programmer to programmer about coding, or I can leave. I&#x27;m happy with either option but I&#x27;m not going to waste your time or my time with whiteboard exercises that don&#x27;t find the best programmers. How often do you use composition over inheritance here? I&#x27;ve been learning a lot about that and it&#x27;s really helping me write better code. Can I show you some of my recent code where I&#x27;ve been doing that and get your opinion on where it could be improved?&quot; Remember that your job on the interview is not to follow their script. It&#x27;s to prove to them that you are the best candidate for the job. Go off script and take control if they are bad at interviewing. If good programmers are regularly walking away from these types of interviews, the interview process <i>will</i> change.<p>2. Unless you&#x27;ve been trained to interview people, you are probably really bad at it. Think about how bad someone is at <i>coding</i> who never did it before and has no training. Interviewing people is no different: it is a skill that takes time and effort to learn. Get trained up, and practice with role playing with colleagues. As much training as you have time for. Educate yourself in your free time on a regular basis with articles about best practice. Adding more words won&#x27;t make this sink in more, but I will end by saying I can&#x27;t stress this point enough. You are bad at interviewing. You need to fix that before anything else if you want to hire good devs.<p>3. How are you measuring success as an interviewer? This is a really difficult thing to measure because how can you find out that your interview process is rejecting candidates who would make great employees? I&#x27;m not going to try to answer this here, but it&#x27;s an excellent question to think about. One thing that might help is the next point.<p>4. Whatever your first impression is of the candidate, spend a good part of the interview trying to prove yourself wrong. Candidate seems like a perfect fit for the team and a great coder? Instead of relaxing because you&#x27;re sure you already found the right person, see if you can figure out why they might be a bad fit or if their coding skills aren&#x27;t as good as first impressions. Same for someone who seems weak at coding. Maybe they are just nervous. Can you make them relaxed enough so their awesome skills can come through? Maybe in both cases your first impressions will be proven correct. But if not you might have just found a diamond in the rough that other companies are skipping over.<p>I hope this very incomplete list is enough to get folks interested in following up on point 2.
评论 #16677210 未加载
avipabout 7 years ago
Isn&#x27;t this obvious blog traffic generation against HN guidelines? I&#x27;m flagging it.
评论 #16673880 未加载
评论 #16673770 未加载
评论 #16673867 未加载