Hiring sucks: an engineer's perspective on hiring
Posted by skybar-one@reddit | programming | View on Reddit | 358 comments
What can be done to improve hiring in current day?
Posted by skybar-one@reddit | programming | View on Reddit | 358 comments
What can be done to improve hiring in current day?
Enlightenment777@reddit
I don't trust any candidate to do online or take-home coding tests, because of rampant cheating!
Marginal_Games@reddit
I’m a senior engineer who’s been handling interviews for other developers at different levels for a few years. I don’t have any answers to OP’s question at this point because every single other person involved with each of those hiring processes is absolutely paranoid that every candidate is coming in with zero technical knowledge and an omnipotent AI companion.
I hate generative AI and yet I seem to be the least worried? Idk, I honestly think American companies just need to get back in the business of actually training their employees. Then it kinda wouldn’t matter if you hired a good liar.
snotreallyme@reddit
Bottom line is too many people “learned to code” and now there’s a glut of coders looking for work. And then you get idiots playing hazing games in the interview process.
skybar-one@reddit (OP)
I’m sorry but hazing games?
flanger001@reddit
Anything where an interviewer tries to stress you out is essentially a hazing game. Live coding challenges are particularly demonic in this regard.
GreatMacAndCheese@reddit
I agree with you on intentionally stressful challenges just for the sake of hazing, that's dumb and makes for a terrible experience for everyone involved.
How do you feel about driving tests though? That was a little stressful for me, but I know it wasn't done to stress me out, but to make sure I could accomplish follow rules and laws that I'd studied beforehand, and demonstrate that I'd both practiced and was capable of driving safely. Honestly.. sometimes I wish it were harder and had to be repeated.
In terms of interviews.. I think it's silly to need to have been exposed to fibonacci's 5th rule of cartesian slices or you automatically fail. However, I consider live coding or (at the least) live, collaborative problem solving on a whiteboard absolutely necessary in the interview process. You have to see how a person thinks or feels their way through work, talk with them and have them explain their choices, and see how it plays out. Just as important though is to also give them enough slack and time to understand that nervousness is just a natural part of interviews and doing stuff like that, so if answers aren't forthcoming, that doesn't mean they can't, it just may be something that clicks for them while thinking about it in the shower the next day.
flanger001@reddit
A driving test is quite a bit different than a coding challenge because a) cars kill people quite a bit more efficiently than code does, and b) the thing you do in the driving test is the actual thing you will be doing when you drive.
DearChickPeas@reddit
American programmer - irrelevant car analogy.
Never fails.
captainAwesomePants@reddit
I don't think it's intentional hazing, but it does share the "I made it through this, so anyone good should also be able to make it through this" thought process that hazing does.
10113r114m4@reddit
It isn't hazing. Some get anxious, but that doesn't mean it is hazing
Sarashana@reddit
The practice is literally meant to put the applicant under artificial emotional stress to see how they react under it. It has no other purpose. If that isn't hazing I don't know what is.
10113r114m4@reddit
It isnt meant to put the applicant artificial stress. Like that isnt the point. That's the effect of the code interview for some. I dont mind them as I did competitive programming. People viewing you is normal in these environments. So if you are anxious or not confident, then you may view it as hazing
flanger001@reddit
https://en.wikipedia.org/wiki/The_purpose_of_a_system_is_what_it_does
10113r114m4@reddit
Sure, and every interview or any strenuous act can then be considered hazing based on that terrible concept
flanger001@reddit
Cool, this conversation is going nowhere. Enjoy!
10113r114m4@reddit
Again, just cause you are sensitive and anxious doesnt mean it is hazing. Like hazing is deliberate, at least how I think of it. When we are constructing interviews we dont think how can I fuck this person up. Then you posting that wiki link because this system doesnt for you and some others is not a good argument. I found the people who dont like it typically suck at them (let's see if someone responds with the obvious without understanding logic)
flanger001@reddit
Yes, you do. A live coding interview is explicitly intended to challenge a person, and a challenge has an explicit assumption of failure. Individual intent does not matter. These things perpetuate a system. An interview is an inherently unbalanced situation and there are ways to verify a person can code without making that situation worse by tipping the balance further in the interviewer's favor. I posted about this in other comments.
10113r114m4@reddit
It is to see if you can solve a problem. Not to fuck some person up. It's not some grand conspiracy. We aren't throwing wrenches as you interview. We try to help, but you clearly aren't good at them so you have built this odd conspiracy around it
flanger001@reddit
You’re making a lot of assumptions and I’m simply not going to respond to any of them.
10113r114m4@reddit
Yes, but they are probably true :/
brainwad@reddit
The purpose is to a) make sure they are a live human who can code and b) to make it a fair, meritocratic process instead of jobs for the boys.
Sarashana@reddit
I thought I proved to be a live human when I entered the room. And I thought I proved to be able to code when I listed what I did in previous jobs and gave them references to check if they wish. But ok.
Also, the effect is the opposite of what you suggested: People that tend to have an advantage in these situations are... extrovert boys who are good at selling themselves.
brainwad@reddit
Yes, proving you are. Alive human is why the interviews should be live and in person. And having you code during the interview ensure you can code, and not a paid stand-in.
This seems awfully naive - references often can't be checked, and CVs can't be trusted. Unless legally required to (in Germany and Switzerland), my current employer has a policy never to give references for outgoing employees, presumably for liability reasons. I imagine they aren't the only ones.
MatthewMob@reddit
That's depressing. I hope you make it clear upfront to your candidates that you do not care about their future.
brainwad@reddit
It's big tech, they have 1000 applicants for every open position.
MatthewMob@reddit
Fair enough. At least you're honest.
Sarashana@reddit
I do agree that at least the last interview should be in person. I also have no problem getting asked skill-related questions during the interview to demonstrate how I would approach a problem etc. If you don't suck at coding yourself, you will figure out if I am lying about my skills inside 10 mins, and without humiliating me with leetcoding. At least that's how I conducted my own interviews back then (I have been on both sides of that table). And that's how it's done in pretty much any field not called IT.
I do have a problem with people who treat me as liar until proven otherwise. What sort of culture is that? If it turns out I can't write hello world, you will figure that out after 2-3 days. Just fire me for misrepresentation and hire the next-up person. Serves me right for lying, I guess. It's not rocket science.
Not sure if you're in Europe. On our side of the pond, giving and checking references is completely normal. This is how we make sure it's hard(er) to lie on your CV.
brainwad@reddit
Maybe we have different expectations about how coding interviews should go, but I get way more signal from a coding problem than from any amount of "tell me about" open ended questions that can be prepared in advance (nor quiz questions about random facts that could just be googled). I'm not expecting optimal solutions or but free code, but if you can't reason your way through a basic problem and discuss trade-offs with me, you probably won't be able to do the day job.
Waiting until someone arrives, and then having to fire them for incompetence and reopen hiring fucks up the whole pipeline. Now all the alternative candidates you interviewed have moved on after you rejected them, so you might have to start basically at the beginning.
Sarashana@reddit
You assume that everyone lying about their skills left and right. That's not my experience, but maybe it's just me. Sure, not everyone you hire is going to be a super-star. But blatant lying? It's rare. I have seen it once, ever. In the end, hiring is not an exact science. It takes a lot of empathy, asking the right questions, and reading subtle signs. In my opinion and experience, a lot of people conducting interviews are pretty terrible at what they do, so they try to cover up their own shortcomings with endless layers of interviews, stuff like leetcoding, or asking them stupid, meaningless questions like "What's your biggest weakness?"
Uristqwerty@reddit
There's an ancient blog post laying out some reasoning: Good candidates get hired quickly and remain employed; bad candidates either don't pass the interview or get fired quickly and return to the job market. Even if 99% of the individuals entering the market are competent, the ones who aren't become more and more concentrated over time until they're a disproportionate share of the applicants to any given position. An effective hiring process needs to filter out as many such applicants as possible while rejecting few good ones. A bad candidate will apply to nearly every company at least once, while a good one will be hired within their first few attempts, never submitting an application to the vast majority of employers.
That might've been the post that first put forth fizzbuzz as an interview test, not something that requires knowing any algorithm trivia. One of the simplest problems to require a tiny bit of logical reasoning, rather than taking the questioner's sentence and re-writing it directly as code.
Excellent-Cat7128@reddit
Right, and these people fail miserably when asked to do any sort of skills assessment, because they can't actually do the job. But you know what they are good at? Bullshitting on resumes, bullshitting during conversations, all the things that people like you say that we should do instead.
DanLynch@reddit
Asking someone to do computer programming in a job interview for a computer programming job isn't hazing.
Sarashana@reddit
It is, because the situation created is completely unnatural and meant only to observe how easily an applicant breaks under stress, rather than assessing their competency. If you don't believe a person with years of experience being able to solve these silly problems used in leetcoding at least in a comfortable situation, then I don't even know what to say.
I have many, many years of experience in the field, but guess what? People typically didn't look over my shoulder with a stopwatch while I code. This is something that happens only in job interviews, because the vast majority of interviewers are on a power-trip and just love to see people squirm. That's really all there is to it.
Excellent-Cat7128@reddit
As someone who has done coding assessments, it is 100% not about breaking people. It's about getting them to demonstrate core competency. The fact that you interpret it as causing mental breaks means you either have a significant untreated mental health issue (which is not the interviewer's fault) or you are bad at your craft and being about to show off a sliver of it is too much for you.
Sarashana@reddit
You're coming over as so hostile, arrogant and toxic, that I believe right away that you're an interviewer. Good job at taking a neutral discussion, making it about me and insulting me in the process. People like you are the reason why I left behind employment a while ago, really. I haven't missed it for a second. Gosh, I'd absolutely hate to work for you or a company that hires people like you.
PS: Since you made it about me - I have successfully defended a Ph.D. thesis in software engineering. The people on the panel gave their best at roasting me, really. I have no problem with showing what I can do, despite I am an introvert. Difference between that and leetcoding? They didn't assume I was a liar until proven otherwise, and they took me serious as a human being. Most interviewers I met really don't.
Excellent-Cat7128@reddit
I'll also say, I'm most responding to the absurdity in these threads. When I do interviews, I go out of my way to put candidates at ease. When I do exercises, they are simple. I allow them to Google. I allow them (indeed, encourage them) to ask questions. I want to see them think. I want to see them problem solve. You would be surprised how many people could not do this, like at all.
So yeah, I'm pretty hostile to entitled software "engineers" who don't know shit and think they should get a high paying job because they claim they know stuff. Sorry, I'm over it.
Excellent-Cat7128@reddit
You could have just said "I have a PhD" and left out the rest. You think you know everything, but have never had to actually deliver working software. And you think that since you wrote a bunch of academic stuff that that means you are actually capable of doing the job. Good fucking riddance.
Idrialite@reddit
When's the last time you had to do some software engineering in a time-sensitive, high-stakes, high-pressure scenario?
10113r114m4@reddit
No. it is asking you to solve a problem.
Excellent-Cat7128@reddit
That's not generally the point of those. They are skill assessments. The fact that there are a number of software "engineers" who can't bumble their way through live coding exercises because they aren't as good as they think they are (i.e., most folks in threads like these) does not mean they are designed to stress people out. You'll only be stressed out if you are bad at your job, or if you really do have a serious anxiety problem. The latter can be accomodated for with any interviewer that is at all reasonable.
flanger001@reddit
No, they are not skill assessments, they are stress assessments. I have been a professional developer for over 10 years, have shipped millions in value, and I can and have gotten tripped up by basic live Leetcode-style coding questions, and I have seen other developers at levels both above and below mine do the exact same thing. The interviewers do not ever care about your stress. You are blaming people for being unable to perform under stressful, unrealistic conditions when you should be blaming the culture that produces these processes.
And before you say "What would you do instead?" I will preemptively answer the question: the interviewer and interviewee should work collaboratively on a problem of the interviewer's choice. Establish rules, share screens, and talk to each other. Every time I have done an interview like that it has been a positive experience. Every time I have done a Leetcode-style interview where the interviewers say nothing and just watch you type, it has been a miserable waste of time.
Excellent-Cat7128@reddit
That's exactly what I'm talking about! I don't do leetcode. I do exercises that either involve filling in some code or writing a small function, or looking at existing code and making adjustments. It's collaborative.
There are people in this thread and similar threads, who balk at even having to do that and it's infuriating.
flanger001@reddit
All right, I'll release the jaws then. Thank you for clarifying!
Beli_Mawrr@reddit
Yes the current SOP for hiring is basically hazing.
fuckthiscode@reddit
No, this kind of hiring bullshit has been around for much longer and is much more systemic than that. Google was infamous for asking gotcha "brainteaser" questions like "how long would it take you to clean all of the skyscraper windows in Manhattan" 20 years ago when it was still the relative new kid on the block, and much of the rest of the tech industry blindly followed suit. Like all tests, the ones who answer well on that type of question are the ones who have practiced them before, and you can guess which socioeconomic segment performed well on these types of questions (hint: their parents could afford good schools, tutors, etc.). The US tech hiring process has been more about gate keeping than about finding someone competent enough to do the job for a long time now.
Yangoose@reddit
It's frustrating because questions like that have almost nothing to do with your ability to do the job.
It's like interviewing to hire a firefighter and testing them on their ability to scuba dive in the interview.
fuckthiscode@reddit
It's more than that. I choose that particular problem because it underlines how an innocent question can come loaded with a bunch cultural connotations as part of the filtering process. English not your first language? That's now extra, potentially niche, language you'll need to navigate. Not familiar with what the Manhattan skyline looks like because you're not American? You're going to have a harder time conceptualizing the problem. Moreover, the key to the problem is to abstract the unknowns and the human labor involved. If you're from a working class background, this question is nonsense because the practical answer is to just ask the person with a window washing business. Merely asking the question in that context posits that everything can be understood and managed through abstractions, an ideology you'll find much more preset and taught to the upper middle class+.
TinderVeteran@reddit
Not that I defend that as a good interview practice but a ton of engineering work is based on abstraction and interactively sketching out solutions until you go into the specifics of each sub-problem.
I've worked with tens of engineers from poorer backgrounds or developing countries and they would all be able to abstract away the details of the problem and give an answer.
If the interviewer is evaluating the accuracy of the answer then that's just trash but if they are evaluating the methodology and thought process, it's much better.
fragbot2@reddit
That someone would bitch about asking people to do “back of the napkin” estimates is mind-boggling. It’s a great way to understand how someone frames a problem.
LordoftheSynth@reddit
They got that from Microsoft, actually. MSFT was infamous for stupid brainteasers.
fuckthiscode@reddit
Was that a product of the Ballmer era or was it around even before that?
fuckthiscode@reddit
Ok, yea. That tracks from my experience with most MS engineers, esp. if it was from the Ballmer era lol
dalittle@reddit
In my experience good programmers are rare, no matter where in the world they are. Knowing how to write code, especially with AI trash, is not the same as being able to build a system. 80% of coding is maintenance and the difference between coding a good system and just getting something to work is an ocean.
MagicWishMonkey@reddit
I feel like at least part of this is these people are mostly losers who got picked on a lot growing up and this is their way to feel like "the big man".
It's pathetic and sad that HR departments are ok with it, but it is what it is.
TurboGranny@reddit
The glut is only on the popular company/industry side. If you are willing to look elsewhere, is wide open
SwiftySanders@reddit
The companies would tell you right now they don’t have enough engineers to build what needs to be built. So which is it?
sporkpdx@reddit
Who at these companies would tell you this, the engineering teams or the C-suite that just juiced the stock with another round of layoffs?
mpyne@reddit
These discussions are all premised on a company trying to hire an engineer, so clearly there is still a demand at these companies for engineering talent.
But that doesn't invalidate the earlier point that there's a lot of people out there who claim to have learned software development and so companies' hiring process has responded to that.
Excellent-Cat7128@reddit
Not enough qualified people, too many unqualified people. I don't see how that's contradictory.
FarkCookies@reddit
BigTech "run the gauntlet" (mostly leetcode) interviews were a thing maybe even 20 years ago. It predates the glut. Their explanation was always like this, we don't care about specific programming language, we want to find a way to hire high programming-IQ folks. Whether it works for that purpose or not is another question. What started happening recently is that everyone and their grandma's IT department started cargo culting BigTech and this interviewing bs started trickling down. Generally it is very easy to spot "learned to code"-rs if that's a filter you want to use (not saying you should but you could). The thing is that companies set technical hiring bar way higher then the actual person need to perform on the job.
def-pri-pub@reddit
But let’s be honest about one key factor: many of those who learned to code aren’t that good. All the time I’ve had my bosses complain they can’t find anyone who’s qualified.
boowhitie@reddit
When I was interviewing in the UK (with 20 years experience in US tech), it was a fairly low stress environment. No leetcode. No stupid brain teasers that supposedly get insight into how you solve problems. Just talking about your experience and what they were looking for and if you might be a good fit. The big difference, I think, is that it is standard to have a probationary period. I only worked for one company in the UK. They treated me like an adult, who was truthful on my cv, and I received clear goals as to what a successful probationary period looked like. Of the 10 or so people who were peers or that I managed and had some insight into their probation, all accepted a permanent position, with very few concerns along the way. Maybe we were lucky. Maybe we had a low bar for success. Maybe we could have gotten better people with some of the US standard BS. But I don't think any of those are true.
That said, I can't imagine this working in the US. Tech companies would just over hire and turn the probationary period into some hunger games bullshit that kept not the best people, but the most desperate.
Beli_Mawrr@reddit
Low key it's my belief you only get an extra 10% out of even the most hardcore, best hiring practices. Its barely marginal gains for shittons of your and their time.
Imho the hiring practices are there for the prestige and they feel like you need to earn the job.
SnugglyCoderGuy@reddit
I'd argue hardcore hiring practices actually make the people you hire worse than you would get otherwise.
No one can really define what they think a good software engineer actually is, beyond nebulous terms that is.
If you can't define what a good software engineer is, how can you ever hope to find one to hire?
Jiuholar@reddit
The only thing you get as a result of leet code hiring processes is engineers that are really good at memorising shit. You lose all the ones that can think critically.
Additional-Bee1379@reddit
This is a false dichotomy. Being good a memorising does not make you worse at thinking critically. Also asking up follow up questions or requests is a good way to weed out people who just memorise.
Ranra100374@reddit
True, but I'd argue it prioritizes candidates that focus on getting hired and would probably leave for a bigger paycheck, vs the best candidates. Basically Goodhart's law in practice.
https://old.reddit.com/r/programming/comments/1mmmwy8/hiring_sucks_an_engineers_perspective_on_hiring/n81we1a/
sogghee@reddit
I really don't understand the issue with prioritizing getting hired if your goal is to get hired...? Many of the "best" candidates would also leave for bigger paychecks. Skill and loyalty are not correlated
Ranra100374@reddit
The issue isn't with people wanting to get hired - it's that optimizing hiring processes around leetcode creates a selection bias toward candidates who invest time in interview prep rather than job-relevant skills.
You're right that skill and loyalty aren't correlated, but how someone develops skills might be. Someone who spends months drilling Leetcode patterns to maximize offers is displaying different priorities than someone who builds domain expertise. Both are rational strategies, but one suggests they're optimizing for mobility while the other suggests they're optimizing for doing good work.
Early-career engineers especially benefit from job hopping for pay increases, so hiring processes that reward "getting hired" skills may inadvertently select for candidates who view the role as a stepping stone. That's not inherently bad, but it does create a mismatch if you're looking for longer retention.
The real problem is that leetcode performance has little correlation with actual job performance, so you end up filtering based on interview preparation rather than work capability - missing great engineers who didn't gameify the process.
_BreakingGood_@reddit
The biggest companies do have very clear definitions of what the "best" software engineers are. Generally it is based on performance reviews, number of successful projects, and things like that. Which all gets gathered from numerous peers across their engineering coworkers as well as non-engineer peers and feedback from partner teams.
In short, they usually do have pretty clear "We hired this cohort of engineers using this interview process, and out of those, X% of them became highly performing engineers." And then they tune from there.
s-mores@reddit
Ah yes, good old "who does office politics the best"
SnugglyCoderGuy@reddit
That will tell them WHO, according to their criteria, is a good software engineer, but it does say what a good software engineer is.
Microsoft put out a thing that lists several dozen traits.
The process you describe is the long, long road through indirect means.
_BreakingGood_@reddit
Ok well that seems like a pointless distinction. Microsoft wants to hire software engineers whom they consider to be good software engineers based on their own criteria.
Groove-Theory@reddit
And the problem with this is that many of these companies rarely control for any other variables when they do this analysis. Especially when it comes to their teams, their managers, the actual projects worked on, etc. It usually fails to take a lot of context into consideration when mapping back to the interview process.
Rarely have I found these companies to be introspective enough to change the internals. They end up adding more hoops and complexity to the gates of the interview process when these metrics dont go their way, instead of better ways to push back deadlines or better manager accountability, etc.
dalittle@reddit
My experience is that you with hardcore hiring practices you get folks that are only going to stay a short term. First screen is doing some online programming puzzle test? Ok, they did great at some unrealistic online test. So now you have a list of candidates that has prioritized getting hired. I can usually tell when I interview them they are only going to stay for a year or two and not worth hiring, but you have now excluded everyone else and that is all that is left.
Ranra100374@reddit
Goodhart's law in practice.
ProtoJazz@reddit
Some of my best roles have been with places that prioritize how people work together VS the leetcode stuff.
Same idea as the above though as well, all of my jobs but like 1 has had a probationary period. I didn't see many people get let go during it, but definitely saw at least a couple who turned out to have no idea what they were doing.
Some of my best interviews have been ones where they wanted to do a technical coding part, but we had some issue come up and had to just OJ Simpson the project. "I didn't do it, but if I did this is how I would have done it"
Which I think is probably the best way. You can ask very detailed questions if you want, and you should be able to get some great answers. Trust that if they can describe how it would work in a decent way, they either know how to type it up, or at least Google the syntax.
Ranra100374@reddit
Personally I'd love either a good pair programming session (real pair programming with driver and navigator) or a probationary period. Because I'd argue everything else isn't as representative of the job.
Caffeine_Monster@reddit
Whilst I think this is true, I also think companies would have to be far stricter with probation requirements for this to work in practice to out perform leetcode.
Leetcode is inherently designed to be annoyingly grindy to weed out candidates who aren't desperate for the role. This process can also weed "the best" talent though it only really represents an ability to problem solve specific algorithms on demand.
verrius@reddit
This sounds like someone who's never gotten a truly bad hire. I think people misunderstand that most hiring isn't about finding great candidates, as much as its about not hiring awful liars. I'm not going to say most practices are perfect, but we still don't have a better one, or we'd have moved to it.
rantingpug@reddit
Ive hired plenty of people, talked to more. I have yet to directly talk to someone who was straight lying to me. I dont know where people get these ideas that companies are just overflowing with application from people who've never coded in their life...
leixiaotie@reddit
My go-to skill check is sum an array of number. I've found 40% cannot do that. I don't even restrict the language use nor checking the syntax correctness.
fragbot2@reddit
How do people fuck that up? I can only think of integer overflow and off-by-one indexing as common problems.
leixiaotie@reddit
nah they simply cannot make any solution nearing that. I don't even care about off-by-one index issue.
AncientPC@reddit
I elaborated here, but as a Bay Area EM I'll get hundreds of applicants daily, of which 1/3 can't write a function to find the median from an array of integers.
Ranra100374@reddit
Sounds like we need a bar-like exam but for some reason r/programming is really against that because "everyone deserves a chance, even those 'Javascript experts'".
bacmod@reddit
Sounds like a good job opportunity.
rusticarchon@reddit
I had one last week who claimed to have five years of Java experience but had never heard of
assertThrows
.atomic2354@reddit
I have 8 years of professional java experience. I have also never heard of it until now.
Thin_Driver_4596@reddit
Probably worked a startup where quality is compromised for speed of delivery. Doesn't work for long term projects. But usually, these companies don't really make those. It's quantity over quality.
atomic2354@reddit
Not true, its a large company with several thousand employees and the project is >15 years old.
Thin_Driver_4596@reddit
Can happen. If your codebase didn't have one in the starting it becomes increasingly harder to have test cases as you go forward.
Though, the amount of issues can be solved by having a good test suite are massive.
The above mentioned example was anecdotal. And one case where business can get away with not focusing on the code quality.
atomic2354@reddit
We have a pretty decent test suite. We just don't use this one specific JUnit method, that I've never heard of and we haven't needed.
Thin_Driver_4596@reddit
Oh. Pardon my assumption then. My bad.
Milyardo@reddit
Five years of java experience doesn't mean you have to use JUnit. Especially since JUnit isn't good, just popular from being really old.
rusticarchon@reddit
Fair, but he didn't know any alternative way to assert that code would throw an exception either.
quentech@reddit
I've never worked in Java and haven't read about it with the intent to learn in 25 years.
Yet I instantly had a pretty good idea what
assertThrows
would be, and I don't even need to Google it after seeing you mentionJUnit
- that confirms it.verrius@reddit
Have you worked anywhere people actually want to work? Like a FAANG, or a games company? Cause its pretty common, especially since most recruiters these days seem much more oriented towards just shoving candidates through to be filtered by someone else. There's a reason FizzBuzz is actually a serious filter.
LustyLamprey@reddit
Lol companies use things like workday jobs, indeed and zip recruiter entirely so they can save money by avoiding moving to best practices because showing no money spent on the hiring process looks better than spending even a single penny on making it better.
Why set up hiring booths at local colleges when we can just query every single human in India and then complain about receiving 10k applications? Why hold interviews in person when you can have them over zoom and then have to invest time in making sure they aren't using cheat software?
The entire hiring process seems like it's built first and foremost to find someone who is overqualified and unaware they are being underpaid. At this point there are tons of stories of Indian devs getting hired because they requested half the normal market rate for pay and that seems to shoot them through the hiring process faster than anything you can put on your cv
verrius@reddit
Every company that has open recs is spending way more than you realize on the process. Generally just a hiring manager's time to post a rec and filter applicants is a huge cost, since a hiring manager usually literally has better things to do, which is why they're trying to hire help. Job sites are just one part of the equation, as are recruiters/sourcers; both will attract more low-quality applicants the more desirable the job is. There's a reason personal recommendations are golden just about anywhere you go.
Companies do set up hiring booths are locals colleges. Maybe not the exact specific company you care about, but college new-hires are a tiny minority of hiring at most companies. And its pretty clear college applicants are pretty low-quality employees who you still have to filter for being unacceptably awful. "Technically graduated a CS program" doesn't mean someone is even remotely qualified to work developing software; studying computer science isn't the same thing as building working software, even for the people who actually study.
Having a first step be a video call is better for both parties. Most professionals don't have time to constantly travel for on-site interviews for a job that turns out to be either outside their skillset, or has something else they don't want. The process isn't optimized for college students with infinite time, because they're not the main people being recruited; most people will already have a job while they're searching for one.
You seem like you're a new grad, so I'm guessing its new information that sites like GlassDoor exist, that let people compare their salary against people with similar titles and experience. I mean, sure, most companies want to pay the least they can to every employee...but its also the least they can without them moving to another company for more money. Some companies will underpay people, but that will eventually filter them to the lowest quality applicants, since most people in tech areas tend to swap jobs every year or two for a better salary.
florinp@reddit
you presume 2 things :
that the interviews are better than the candidate. Bad hire can be also form the candidate perspective : if the interview is broken that can hyde real problems in the company.
"but we still don't have a better one, or we'd have moved to it." Then why we still have Agile or SAFe Agile run by people with 0 IT knowledge ? Why we don't move on from that ? Why we have not IT managers that runs IT projects ?
verrius@reddit
No? Unless you're going to say literally every major company is broken in the same way, since just about every individual at every company chooses to do this. Individuals choose to do programming exercises, not organizations. If one individual happens to be "better" than an organization, the next organization that doesn't screw up would pick them up. Unless they're not actually better, and just think they are.
...What? It's pretty rare to have a major tech organization where the tech teams aren't run by tech people. Unless by IT you mean tech support, which is how that term tends to be used in NA, in which case, you have no idea what you're talking about. They exist, but there's definitely variation. And I think you don't understand what "better" means; it doesn't always mean more pleasant for the people at the bottom.
florinp@reddit
"Individuals choose to do programming exercises, not organizations" What ? which individuals ?
" It's pretty rare to have a major tech organization where the tech teams aren't run by tech people." Tell that to all managers I've had in my long experience.
Groove-Theory@reddit
Why do you think that would be true?
If we said that the perfect practice was just a standard past-experience talk, COUPLED with better management and senior leadership accountability post-interview process to set candidates up for success (sensible deadlines, high autonomy, etc), would we move towards that process like some sort of evolutionary model?
No. Because thats not the direction businesses want. Businesses just want to make money and profit for themselves and their shareholders. Leadership down the chain may just be looking out for themselves politically. So that could mean just rushing shit out and not giving a fuck about quality or scalability like engineers would. A slop of shit that makes profit is good.
So because political influence remains top heavy in a hierarchical organization, they have less willingness or incentive to change. Those with the least leverage in this regard are those outside the organization and want to get into. Therefore its more likely that any changes to a process would be leveraged AGAINST those with less leverage. I.e... the candidates. Doesn't matter if you could have been a better employee with better company support and accountability. Oh well. Not their problem. Its always your fault, not theirs.
So there definitely could be a perfect process, but hierarchical organizations (i.e companies) won't hover towards that. It'll hover towards a local maxima of its own desires, and therefore a local submaximum of everything else.
Which is why theyre ok with leetcode and dogshit take homes because... well what are you gonna do about it.
verrius@reddit
I say this because just about every person who does interviews has a decent amount of control over what they do. No one's looking over their shoulder making sure they do "leetcode" style problems (which is a weird naming convention, since the site was created off the back of a subset of leaked FAANG interview questions). Almost every interviewer is alone with a candidate in a room for about an hour and can do whatever they want, and no one's suddenly showing significantly better results just by chatting.
Groove-Theory@reddit
I think you’re underestimating how much the system predefines the range of motion for those individual interviewers.
Ok like... an interviewer is "alone in the room" with the candidate sure. But so what? They’re not operating in a vacuum. Thoe interviewers have been selected, trained, and culturally primed to evaluate in ways that align with the company’s defaults. The LC question bank or the shitty Google Sheets rubric an interviewer is side-eyeing during the meeting on their other screen... it all comes from their org.
It's like saying a line cook is "alone in the kitchen" with the steak. They can season it a little differently, but they’re still following the menu, the portion sizes, the plating rules, and the head chef’s expectations.
And even if an individual goes off-script, they still feed into the same post-interview calibration meetings, the same debrief scoring system, the same performance metrics for hiring funnels. Even moreso for those "big companies". So if they try something radically different (like a pure past-experience conversation), they’re either going to get pressure to align, or their outlier hire gets rejected upstream by someone who didn’t see the magic.
That’s why you can walk into Company X, Company Y, or Company Z and get pretty much almost the exact same algorithmic whiteboard puzzle from three different people in three different rooms (the smaller the company, the less likely tho)
Which brings us back to my point: the incentives of the complex hierarchy (keyword) determine the local maxima of the process. You don’t get radically better results from chatting in the current setup because the rest of the system isn’t designed to catch or support the talent that approach would identify. They’d get churned out at onboarding or dinged in performance reviews for not matching the pre-filtered archetype.
zenware@reddit
You may be right, however for an organization that has essentially an unlimited warm candidate pool, they would rather deny most good candidates than allow any less good candidates through.
IMO it’s a bit shortsighted as that’s how those slightly lower performing (in-interview) candidates will grow faster. And basically denying anyone below Sr. Lvl of Skill totally kneecaps the pipeline for people to ever gain that level of skill, and I think it’s a 5-10yr lagging indicator before the industry discovers they totally cooked themselves.
timthetollman@reddit
A lot of software developers have a superiority complex also.
Like our job is so special we need a special test that only we can do or understand. Get fucked. What you described is more than sufficient for an interview it becomes blatantly obvious if someone liked on their CV.
boowhitie@reddit
I think this is particularly true for name people making huge salaries at Big tech companies. It is kind of like the prosperity doctrine: silicon valley edition.
Bigboss537@reddit
Both of the jobs I've had in the US have basically taken this approach as well but while being a permanent employee, so a lot of training in the beginning and if i falter they'd provide a chance to let me improve essentially. Has been working well on my end.
Aromatic-Analysis678@reddit
I recently joined a company like this on the UK. Was fucking glorious and made so much sense looking back.
Like, we just chatted like adults, they asked me some questions about my past experience, I asked them some questions, and then they hired me.
CherryLongjump1989@reddit
I worked with a UK-based engineering team (based in Birmingham) and they were a fucking disaster.
Kinglink@reddit
A bad employee, even a temporary probationary period one is still a huge investment.
I'd rather look through 3-4 times as many employees, then hire one and then let them go after the probationary period.
I'd rather go through more interviews, than get a job and be let go after a probationary period.
On both sides of the board the idea of a probationary period is last line of defense, especially when you consider what a disruption every new employee is to an organization.
The US standard is a bit crazy (At least for the lower end of the pay scale) but a simple fizzbuzz is worth doing because... Yeah some people can't pass them. "Reverse a string" becomes shockingly complicated to the wrong person.
ProfessorPhi@reddit
20 years ago, talent pools were small, salaries were much lower. Chances if someone was in cs, they were in it for the love of the game.
Now everyone is there for the money and unlike other professions like medicine, law, actuarial, there is no real governing body for swes which means that no central certification authority. If anything leetcode replaces the exams of competency.
As you've identified, the hunger games is what happens in investment banking and management consulting.
s-mores@reddit
That was true 40 years ago, 20 years ago is 5 years after the dotcom burst, the talent pool is wide and salaries are climbing.
sturmeh@reddit
Probationary periods are great in theory but they're not ideal for vetting potential employees from a financial perspective due to the significant upfront cost of hiring and onboarding. In most cases even if they aren't what you expected you'll keep them around purely because it makes more sense on the balance sheets.
It's very hard to align with the idea that the company's profits are only 50% of what they could be if the company hired a unicorn when it comes to deciding where to invest in talent.
octnoir@reddit
If we compare career progression and on boarding as a flight of stairs^1 then this program was that necessary 6th step on a stair flight with the 4th, 5th, 6th and 7th steps are usually missing requiring novices to learn how to high jump to reach the 8th step, allowing you and others in your shoes to climb up.
The problem is that American mentorship has completely broken down compared to decades past^2. Tech in particular has become more "disruptive" (read volatile) since even two decades ago when "too many coders cannot get jobs because they are not qualified" was a known trope. It's only gotten worse since then along with the rest of the industries, and the post COVID boom and bust which nuked the tech sector^3 started the free fall.
There isn't a smooth progression anymore from the 1st step to the 10th step^1. We've gotten from 4 steps are missing to 6 steps now. It is so extraordinarily inefficient to have this large labor pool problem because senior engineers having a hard time getting hired are downstream of systemic factors over having this massive flood of entry level employees that cannot get a job because it is neither there or they are unqualified.
Those smooth onboarding steps meant that even if you had people unqualified, those people could pivot out.
Even in this situation if someone couldn't make it, the probation or onboarding process meant that stragglers could be caught early and given guidance, even if that guidance meant moving out of the industry.
There isn't anyone that really benefits from our current situation^4 other executives that want to create artificial scarcity to invoke more control over every employee.
...
Footnotes
[1] - >!Say the 1st step to the 10th step is you transitioning from novice that has no idea what they are doing and wouldn't qualify to any job, to the 10th step where you are now established in skills and can transition to multiple jobs. And maybe after the 11th step to the 25th step to function as a seasoned professional that can pivot to nearly every good opportunity.!<
[2] - >!When the trades were at its height during America's manufacturing boom, even our white collar professions back then copied the trade model of progression where you graduated complete novices to forms of apprenticeship to internships to jobs!<
[3] - >!The https://layoffs.fyi/ website tracks 600,000 job losses since 2022!<
[4] - >!The scarcity for senior engineers isn't as valuable to them as having a smoother career progression curve for others. Whatever salary bump you get in our current reality is minimal compared to the alternate reality, on top of having better organizations, building better jobs and offering more options.!<
boowhitie@reddit
I have a thought rolling around that I haven't had time to fully flesh out, but it is relating the current AI situation and commodification of white collar work in a similar way the industrial revolution commodified blue collar work. Cory Docorow touched on some of it a few months ago talking about the relative power the tech worker so recently enjoyed and that CEOs and venture capital are trying to revoke. I still think this AI boom will come to bite the current companies who are going all in. I don't think LLMs will necessarily lead to AGIs but I do think they will come to be understood as tools for humans and not a replacement for them in all things.
qrcode23@reddit
That’s why they pay low besides Bay Area. Bay Area is still leetcoding.
4444444vr@reddit
How does the pay compare? 1/2? 1/3?
faberkyx@reddit
definitely lower, but depends on the country.. norway, switzerland and maybe ireland too might have salaries that are close to US ones, plus you get to have a life
rcorrear@reddit
How’s that relevant? Development salaries are still much higher than the average in these countries.
Infamous_Ruin6848@reddit
I dare say in these high tax countries it starts to be meh.
There are seniors hired for 50k per year in NL and juniors for 40k. This is a diff topic though. I am struggling to tell to our director that expecting ownership and seniorship level of staff/principal from our new 55k hire is hilarious.
TulipTortoise@reddit
I think because many of us would consider working over there if the pay cut wasn't too painful. The USA is ridiculous but the pay is also ridiculous -- tons of hoops but you're compensated for them.
2this4u@reddit
There's no point to that question without it being relative to local living costs and other salaries, plus perhaps perks like free healthcare and 10x lower murder rates.
glaba3141@reddit
London is on par with major US cities for cost of living, but pay is a fair bit less
boowhitie@reddit
Yeah the reduced odds of our teen kids experiencing a school shooting was a definite plus. The cost of living was fairly expensive (not London, but definitely top 5 in the UK). Healthcare was indeed potentially free, but with multi-year wait lists being common. In our 4 years there we were unable to find a dentist taking NHS patients, so we were basically paying out of pocket, though at rates at or below US insured rates.
Aggressive-Two6479@reddit
Not to mention the quality of the work environment. US salaries are so high because they somehow need to compensate for all the shit
boowhitie@reddit
Tbh, it was significantly less than a US salary, and I was quite shocked to find out it was on the higher end for game dev in the UK. I don't think this was due to hiring practices, and it definitely wasn't because the people I worked with were bad at their jobs. We had a lot of smart talented people. There was also little to no expected crunch time. We did manage live services with worldwide customers, so occasional after hours emergencies happened, but the extra time was always comped and opt-in
I honestly don't know how some of my peers survived with kids and a stay at home spouse. The cost of living there was quite expensive overall. I got hired-on during the pandemic to work remote, and many people did move to cheaper areas.
philipwhiuk@reddit
The US does have probationary. It’s called the USs terrible employment law. And they absolutely do culls regularly. Big Tech always over hire and fire.
boowhitie@reddit
My point is just that it is a very different setup. I only worked at one company, but it was something I talked to a lot of my coworkers about because it interested me. The probationary period was very much set up with the intention of success, while still preparing for either party deciding not to proceed at the end. I think if this was adopted in the US, the big tech employers would enshitify it completely, with the first and most obvious step of hiring way too many people, with knowledge that they will only offer a full time position to some small percent, no matter how good the candidate.
BigOnLogn@reddit
The probationary period of "forever."
AgoAndAnon@reddit
"At-will employment"
gimpwiz@reddit
That's just at-will employment, man.
Stratose@reddit
It sounds like the company you applied for had a process for onboarding new hires. Set you guys up for success, and then allowed you to be successful. Imho hiring is mostly just making sure a person is interested in the field. After that, it's all about how well the company itself sets up people for success. You could be the greatest hire ever, but if your management doesn't put you into positions to succeed, it will not matter.
Opposite_Cancel_8404@reddit
This is the way to go. There's no better test than to actually work with the person in the actual job.
shizzy0@reddit
You could become a licensed profession if you didn’t want to be interviewed or retested for every single job, but you don’t want that so this is what you get.
Mognakor@reddit
Shouldn't this be covered by having a degree?
Ameisen@reddit
I've interviewed people with bachelors/masters in CS, and people with 20 years of experience, who couldn't explain what a move constructor did or how to reverse an array.
Mognakor@reddit
I've had my share of bad candidates, "can't write a FizzBuzz" bad, i just kinda doubt that adding another certification on top is gonna change that.
Lawyers have thar bar exam yet somehow there are plenty of incompetent idiots arguing in courts.
Ameisen@reddit
Oh, I'm not saying certifications are worth it. They're a joke in my field(s).
I care more about actual concrete experience - not even just "I worked here" but actual personal projects to point to that I can look at.
shizzy0@reddit
It’s not sufficient (or strictly speaking necessary) to get a degree to practice law. It’s not sufficient to get a degree to practice civil engineering.
Mognakor@reddit
Thats an US centric answer that doesn't necessarily apply to other countries, e.g. there is no special protection in Germany for calling yourself an engineer if you posseses a sufficient university degree from a german university.
Whats the value of an university degree if we can't trust people to do basic things afterwards?
Beli_Mawrr@reddit
I am convinced by this honestly. If you're serious about it, you should consider starting a licensing organization.
elh0mbre@reddit
Certifications exist.
The problem we have is not: "how do I tell whether X knows Mongo as a technology" ; the problem is: "how do I tell whether X uses Mongo appropriately to solve problems?"
Building software is a weird mix of traditional engineering, research and art and that's why it doesn't fit so well into the traditionally licensed professions.
I won't tell you not to try, but I will say blindly copying the model from other professions isn't helpful.
Beli_Mawrr@reddit
The problem we're trying to solve is that companies don't trust you're able to code at all, that's why they do leetcodes.
elh0mbre@reddit
We're in agreement about leetcodes. I don't give them as interviews and have myself declined interviews that include them.
However, I've worked with plenty people that have lots of certification and experience and yet couldn't really manage to any deliver value... how do you screen for that? or how do you license that?
Beli_Mawrr@reddit
I mean delivering value is a pretty wishy washy concept. What are you asking? If they create code on time that works? Are you talking about if they're able to architect features? You mean bug free code? do you mean are they able to maintain legacy code? Do you mean manage refactors? writing tests? etc.
elh0mbre@reddit
It's kind of wishy washy on purpose... "value" depends on the needs of the team/company.
The folks I'm referring to in my comment don't deliver any value for a variety of reasons: lack of skill, lack of understanding in what they're supposed to be doing (which itself has multiple sources), lack of work ethic, etc.
This is also why my interviews focused on very heavily on how someone likes to work, how the solve problems, etc. I can teach you syntax and technology concepts, I can't really teach you how to think.
shizzy0@reddit
One of the few. :)
ONLY_SAYS_ONLY@reddit
A “licence” for software engineering would be utterly useless.
SolarisBravo@reddit
Plus, that's already what a degree is
shizzy0@reddit
Why?
maizeraider@reddit
Each and every framework/language/domain would need its own license and its own licensing organization to validate said skills
confuseddork24@reddit
Exactly - it's not like law where they have the bar exam which acts as the baseline qualification that provides a licensing mechanism and then they specialize as they grow their careers through experience, education, and certifications but no additional licensing requirements for the specialization they pursue. Wait....
maizeraider@reddit
So which language you choosing? Good luck building consensus on that one
shizzy0@reddit
Yes, and you either do this once with a professional consortium that defines it, tests for it, and licenses it. Or you redo it ad hoc for every company, every job, and every applicant.
ONLY_SAYS_ONLY@reddit
How would that even work? Who would do the licensing? You can’t just certify someone in the abstract. What stack? What domain? What scale? And how are you even going to begin to measure quality?
Beli_Mawrr@reddit
Every other profession has managed to solve those particular complaints. Think about construction, something just as complicated as software engineering. They license each domain and there are unions/authorities that do the licensing. No reason why we couldn't have that in software engineering.
nemec@reddit
Why would I want that? "sorry, I can't fix this bug, you need to talk to the Frontend Union. Once that's done make sure they pass the changes on to the CICD union to get them into staging. Once the QA team is done (can't have automated tests because it destroys jobs) we can finally get the change deployed. How does three weeks from Tuesday sound?"
Beli_Mawrr@reddit
What are you talking about lol.
elh0mbre@reddit
Every other profession has existed for a significantly longer period of time AND does not change at the rate software does.
Beli_Mawrr@reddit
Only the best practices change much in software engineering. Lots of other fields have changed as much or more than we have. software has existed since the 50s.
elh0mbre@reddit
The best practices haven't actually changed much at their core and the general concepts remain pretty constant but the day to day work you're likely licensing people for changes constantly. There's a license for the best practices/general concepts already: a degree in computer science.
Im curious which professionally licensed fields you think have changed as much or more?
Beli_Mawrr@reddit
I mean, even carpentry in the 60s didn't involve power tools.
But like the medical field for sure would be a perfect example.
shizzy0@reddit
I expect it would work like other licensed engineering professions. Who? A professional consortium. What stack and domain? The ones with high demand or high risk, I imagine. Measure? You validate for competence. They must be capable of doing X, Y, and Z as defined by the body. They would probably also have an ethical obligation which if violated would put their license at risk. That may sound onerous but it would actually give engineers more power to say no to their bosses.
ONLY_SAYS_ONLY@reddit
What makes software engineering incredibly challenging to evaluate is the fact that it is not prescriptive work, and shoddy work can take months or years to be revealed. This is in part why a false positive in the hiring process is such an expensive mistake.
I’ve interviewed my fair share of engineers who look great on paper but can’t write even basic code, so some piece of paper saying “trust me, bro” is never going to gain traction.
shizzy0@reddit
I’ve had similar experience. It actually broke my brain when I was confronted with people who could convincingly talk-the-talk but could not code—at all.
What do you do to suss those people out? You give them a coding test probably. What is a licensing body going to do? Give them a much more intensive coding, conceptual, and written test. And if they pass despite their incompetence, you could report them to the body possibly invalidating their license. No more juggling of rotten apples between companies because we have no collective memory.
dbgtboi@reddit
Number of PRs opened per day, number of commits per day, average velocity per sprint
Minimonium@reddit
lmao
ONLY_SAYS_ONLY@reddit
None of those metrics tell you anything useful about a candidate, and that’s to say nothing of them being gamed should they become a measure.
itsdr00@reddit
That's an interesting idea, but the problem is that with all manner of technologies out there, it would be very hard to come up with a relevant, useful set of licensing criteria. I went through a job search recently and there are some very specialized positions out there, where they need like, a backend guy who can do data well, or a cloud guy who's extra-good at scripting in Python, etc. And the ability to get a license wouldn't correlate with ability or drive. If anything, it would let more mediocrity through, as all you have to do is get the license, and ask anyone with a 4 year degree about how different it is to actually work at company vs get a general computer science education.
Sarashana@reddit
You do realize that members of licensed professions still get interviewed for jobs, yes?
Beli_Mawrr@reddit
You don't ask a licensed carpenter to make a square frame before you hire him. There's a little bit more trust when you have a license. Right now we test people if they can do the job because there's next to no trust that they can. We could eliminate that part of the interview process right out of the gate.
Sarashana@reddit
Well, if an interviewer asks somebody with years of relevant job experience to leetcode, this has nothing to do with a lack of a standardized professional licensing regime. It has something to do with many/most interviewers in the field having no clue how to hire and/or how to treat applicants with any resemblance of dignity. I am not aware of any other profession where people who already worked in the field still have to go through such degrading interview practices every single time they apply for a new job.
shizzy0@reddit
Good point. It doesn’t obviate the interview; it obviates the retesting.
AncientPC@reddit
This is a poorly written article.
I was in management for ~10 years and a programmer for 15 before that. I've been in both sides of the interviewing table over a thousand times.
A lot of whining about interviews is from people who dislike the output, but have a misunderstanding of hiring challenges. If I have an open req, it is often with an expiration date and for an open position I will get hundreds of low quality applicants daily.
Here is the ballpark conversion pipeline numbers from my experience:
Hiring a new eng usually involves filtering through 2,000-10,000 candidates.
If you respond with relaxing the hiring requirements, do you know how much it sucks to fire people for the team's morale and wasting everyone's time and money? I hate firing people, but I've had to do it for: underperformance, sexual harassment, not showing up for three weeks after 1 month on the job, starting fights with every single person on the team within two weeks of joining.
People complain about leetcode challenges, which I've had to do myself as well, but have they seen 33% applicants fail to write a function that returns the median from an array of integers? Have they seen applicants that don't know how to define a function/class? Or change random numbers until they get the right solution?
No? Because they're all weeded out during the interview process. Imagine having that dead weight dragging down the team but being unable to fire them until the manager can collect enough evidence to prevent a wrongful termination lawsuit, even for at-will states. If they've been at the company for a while, there's often severance involved as well.
Kinglink@reddit
THIS...
I used to ask "Reverse a string."
Everyone should be able to do that... you'd be SHOCKED how many failed that.
We had 40 year old veteran of the industry, super amazing resume... Dude struggled at that (And a few other things). He hadn't written code in decades, it was obvious (And yeah, we hire people to write code as well as design it).
On the other hand there was a few guys who just how they approached and ask questions about "Reverse a string" they were a shoe in. They passed almost all the other questions too, but there's too many people who go "X isn't good for interviewing" and don't realize "X is there because it IS good for interviewing."
Once you sit on both sides of the desk, you'll understand.
await_yesterday@reddit
There is no well-defined notion of "reversal" for an arbitrary Unicode string.
Kinglink@reddit
I mean if you want to argue they're "Trick questions" I might be impressed by your out of the box thinking, or just knowing that a string of chars isn't always Ascii. But I'd then I'd be clearer "Let's just pretend it's an alpha numeric ASCII string, nothing too strange."
But I also know a couple people who would continue to argue it's a "trick" question. When no.. it's a simple request, but at the same time that does weed out people who would be exhausting to work with.
Identifying limitations or detailing the requirements IS good, being argumentative about it is not, and the people I'm thinking of definitely fall in the later (they want to be the smartest one in the room and fail to realize no one else is playing that game)
await_yesterday@reddit
Non-ASCII characters aren't "strange". I write my name with one.
Kinglink@reddit
Yeah... I'm already getting the argumentative vibe... let's just leave it there.
await_yesterday@reddit
Most pieces of text I read every day have at least one non-ASCII character. Many would be problematic to define "reversal" for (particularly emojis).
Unicode is not some "strange", "out-of-the-box" thing, unless you're from some American suburban monoculture. It is a mundane reality for the >90% of the online population that communicate with non-ASCII character sets. I'm not "argumentative" or a "dick" for defaulting to that interpretation of what a "string" means.
In fact I view it as a minor red flag that any engineer, in this day and age, would assume a string is ASCII by default. It is wrong both on technical grounds and political.
Kinglink@reddit
Strong No Hire
Additional-Bee1379@reddit
I would guess a LOT of them fail on casting a string as a char array don't they?
Kinglink@reddit
It's been about 2 years since I was interviewing (Job change to a different company where I was the last hired guy so far, though I'm on the interview track)
It was a bunch of different issues. One guy really just wanted to use a function to do it and didn't know how to do (had a feeling he was a python programmer) Another one didn't use an intermediate variable (So a = b and b= a)
I believe the char array happened once, but another wasn't sure how to iterate through the list? I ended up being pretty lenient on that question, but after that I Was talking network design, and questions like "What is volatile" and it was a good representation on how the rest would go.
Basically it was intended for a 5 minute question where I was definitely ok with nudging an applicant if they got one thing wrong. (did you do between 0 and strlen, rather than 0 and strlen-1? I'll say there's an issue there and hope you find it.) but I remember one needed 15 minutes for it, and yikes.
psyanara@reddit
I had an interview once where they asked something similar with PHP arrays, and were dumbfounded when I just used array_reverse. Nothing is more amusing and slightly scary then when all your interviewers go silent.
Kinglink@reddit
I usually play it off as "Good answer, but let's not use any other functions for this" (though I allow Strlen so that's a lie).
I mean the correct answer is to use functions already written, tested, and likely optimized, but it's a test of coding ability, not do you know how to call another function.
psyanara@reddit
You're describing the exact reason Imran Ghory started FizzBuzz. When I was on hiring committees, I pushed that we use something similar as our second filter (first being can they legally work in the US, which god, it's on the job description... why apply?!), and everyone else on the committee was absolutely gobsmacked how many "fantastic credentialed" programmers could not write code.
I had someone say it was unrealistic to expect programmers to do that, especially if they haven't touched the language our team used in a while, and for that I had a great comeback. Our CIO was a COBOL programmer in the early 80s, she did her MBA and never looked back. I asked her to do FizzBuzz and even though she hasn't programmed for 40 years, she still knocked it out with a do/while loop.
AncientPC@reddit
I think people get unnecessarily hung up on syntax, but I think it's more about how to break down and work through a problem down based on core concepts/first principles; fundamental have a very long half-life.
Honestly I think we're all extrapolating from our own experiences, myself included. They probably couldn't do fizzbuzz or weren't technical and were trying to be empathetic, while perhaps you and I are less so. For example, one of my biases is to largely ignore GPAs because my own GPA was abhorrent; prioritizing work experience and personal projects (before it was devalued as a green flag).
I set the interview rubric at one company, and one of the things I did was analyze PL preference and questions' effectiveness preferring a bimodal distribution, tossing out questions with unimodal distributions (including Gaussian).
On a related tangent, dynamic PL users (JS/Python) typically had unimodal distribution results while static PL users (C++/Java) had strong bimodal results.
gjosifov@reddit
i have seen people that can solve leetcode challenges, but they don't know how to use SQL joins
People can solve hard leetcode challenges, but when they use ORM it will generate N+1 SQL query
How about questions related to the company tech and company business problems ?
Facebook, Google ... have different problem to solve, not CRUD problems
and that is the problem
Copying what Big tech is doing as interview process is a really big sign that a lot of hiring managers don't know what they are doing, so lets do what google is doing
So every interview process is like interviewing at Google, but your actual job is CRUD application
AncientPC@reddit
This is a perfect solution fallacy. Interviewing is not fully comprehensive since we're restricted by interviewer/candidate time and fatigue.
If SQL is part of the job (backend or DBAs), then I'm sure a SQL portion would be part of their interview panel.
This is the goomba fallacy. I am sure there are plenty of companies that ask unnecessary leetcode questions, but not any of the companies I've worked for. I have also designed my company's interview rubric as well to avoid leetcoded questions. The Bay Area companies I've interviewed for or at have largely used simplified real world problems, including Meta and Netflix. From my anecdotal experience, only Google and Amazon still have leetcode problems.
defunkydrummer@reddit
Good article, i just emailed the author.
juguete_rabioso@reddit
IMO, 70% of the hiring process must lie in your github/gitlab repository and a little in your questions/answers on stackoverflow.
Technical interviews should be used just to verify you have some social skills. I've made many technical interviews and if the candidate made some jokes, his chances to be hired increased a lot.
STN_LP91746@reddit
You make great points about existing interview processes. Code review, coupled with some general off the top of your head Q&A about specific technologies, if the position indeed really requires, along with general software engineer concepts and practices makes for a better process. Live coding and take home is something that wastes everyone’s time. I’ve been through some bad interviews where I wanted to walk out because what was asked was really irrelevant or needed way more time to developed.
Lame_Johnny@reddit
The grass is always greener... tech uses these hiring practices because the industry casts a wide net. Anyone can be a software engineer if they pass the interview. I work at and we have people from all sorts of backgrounds. Some went to ivy league universities, some went to state schools, some didn't go to college at all.
I prefer this system to one where you only get into the pipeline based on credentials or connections, as they do in law and business. The tradeoff is that we have an interview process that feels like a standardized test. Personally I am willing to accept this tradeoff.
gulyman@reddit
I don't think I believe this. Some seniors have worked at companies that never touch the cloud. Or some have only worked in the backend and have no front end experience. I'm sure most people can take a few months and become minimally competent in a new area, but I don't know that I'd call that a generalist.
femio@reddit
why remove a sentence out of its paragraph and deliberately take it out of context?
from a workmanship standpoint, not a technical standpoint.
PR writing, giving and taking feedback, knowing what bad abstractions and premature optimization look like, navigating an unfamiliar codebase, and so on
gulyman@reddit
The phrase is used twice in the post. I didn't read the whole thing, just the sections that seemed interesting.
I also don't think I would refer to being good at those areas like PR review and documentation as being a generalist. I'd expect every dev to be good at those. Usually generalist is used to refer to the different kinds of programming. This is like saying a baker who is good at both measuring precisely and monitoring the dough in the oven is a generalist.
s-mores@reddit
Yeah, this is obviously coming from someone who's getting their first glimpses into the meta of dev and is struggling to put their thoughts into words.
What it's trying to talk about is how engineers with long careers tend to jump around from technology to technology and have no problems picking new ones up. It doesn't refer to cross-phylum changes like from front to back end or from cloud to industrial or from IT to cyber.
SwiftySanders@reddit
There is no such thing as a generalist. The industry needs to own up to it. It’ll save everyone time and help us progress faster if we own our BS rather than wishcast it away. I know backend engineers who say they do frontend and then the best they can do throw some html together with chatGPT.
New_Screen@reddit
I mean full stack engineers exist lol. I write SQL queries, build backend apis, develop react pages, deploy my code and write Azure pipelines lol.
SolarisBravo@reddit
Alternatively, I'd say the only way *not* to be a generalist is to not work on any projects outside of work or by working on the same one all the time. People do eventually learn things, especially when they're engaged
Beli_Mawrr@reddit
That's crazy lol. I've been building full stack apps since 2016.
Every hobbyist is a generalist. You have no choice.
pheonixblade9@reddit
I'm about as close to a generalist as you can get without being superhuman, and I still have blind spots.
RealDeuce@reddit
I mean, they exist, but they're not going to submit themselves to a bullshit hiring gauntlet, so there's no point in looking for them there.
Genesis2001@reddit
Yeah. At least in IT, you start out as a generalist usually and "graduate" into a SME along the way as you obtain more experience and knowledge. Granted, no one's a perfect generalist capable of doing everything even in sequence because that's an insane amount of context switching. But I think the principle is sound.
itsdr00@reddit
I don't think that's the dimension they meant. They seemed to mean more that a good software engineer can do all of the things that are adjacent to coding, like documentation writing, communication, PRs, mentoring, architecting and planning, etc etc.
chhuang@reddit
technical leetcode interviews are useless imo. Vibe check is the way, a good work ethic person is far more compatible than a cracked leetcoder
TimedogGAF@reddit
A lot of the people that really excel at leetcode interview stuff are pretty bad at seeing the forest for the trees, but might be really good when it comes to some individual trees.
Your interview process shouldn't hyper-select for one hyper-specific type of individual. A mono-culture is an inefficiency. Diversity in thought (and there is probably some correlation with DEI-type diversity here, sorry haters) across a team leads to better perspective, and all things being equal, a higher functioning team.
To put it a different way: if I get hired because I'm a certain type, and then I hire new people that are exactly like me, we end up with a group that all have similar blindspots. If clients and or the customer-base aren't all the same type of people that make up the team, we've just created a massive system inefficiency.
hitanthrope@reddit
You make some great points in here and I think I broadly agree with your conclusions. I have found the code review approach to be a pretty good way to assess more senior level skills as well.
Writing style was a little tricky. Allergy to capital letters and tendency for opening paragraphs to follow on the section title, I got a bit lost at times. Friendly, hopefully constructive feedback, but I think you have a good point. I have been in the industry professionally now for almost 27 years and I don't think I have really seen the technical interview process evolve all that much. The leetcode stuff has come along obviously, but is this an improvement? I suspect not.
ProtoJazz@reddit
One of the interviews that pissed me off the most
They give me a take home project. I do it. Submit it. It just one of those usual bullshit kind of projects that doesn't really do anything it's just an abstract concept. Give a list of users and generate them poker hands and every 3 seconds reshuffle and award points or something.
On the follow up call they say they really liked my technical solution. They said it was faster than anything else they'd seen submitted. They really liked it. But they didn't like which folders I'd put my like 4 files into, and they also didn't like that I put one function in a specific file instead of a different one, even though that's what the diagram they gave me asked for.
And I don't know man, that just annoyed me.
The actual hard part that they claim they have a hard time hiring for? Fantastic. But not important I guess.
The part that could be a single PR comment one time? "Oh here we like to organize stuff this way, check out this repo for reference", and I've got it down forever? Fucking huge barrier that can't be overcome.
No wonder they can't hire people.
BrodatyBear@reddit
This is one of few things that turned me from home project lovers to a more skeptical approach.
First ones I really loved. Clear criteria, connected to the field I had to work with, and clear communication about what is this task.
But later... "do a basic server doing X" and a suspiciously long time to make it, and later complains that I under-overengineered it or that I don't think X would be a good fit there. I understand that they have to be nitpicky to see how I think, but sometimes it's visible when they really don't agree with you + ~~sometimes~~ rarely they give info post-interview.
Like, I'm not even a "clean code/ hater", but I've seen enough "CV-driven" projects to think twice before adding new fancy thing.
ProtoJazz@reddit
Worst one I've ever had was early in my career.
It was something to do with scoring poker hands. One of the very first things the assignment said, in big bold letters, was ONLY implement these few types of hands.
So I did exactly that. I figured maybe they wanted to save a few for like a live round or something.
When I submit it and do the follow up interview, they ask why I didn't implement all the possible hands.
I said the assignment was pretty specific about which hands to do, and that I didn't want to mess up any plans they might have had in mind with those instructions
They told me they were looking for people who go above and beyond.
Like God damn, I'd probably be fired if I regularly did extra work beyond what was asked for. There's a whole process for deciding what our road map is. I'd absolutely be fired if I did work I was SPECIFICALLY told not to do.
Additional-Bee1379@reddit
And if you do implement those extra hands you get told you don't pay attention to instructions and are not a good fit...
BrodatyBear@reddit
> They told me they were looking for people who go above and beyond.
Things like that makes me wonder if they have just a stupid recruitment team or if I/you dodged a bullet...
I hope the situation will improve for all of us, because sadly dodging bullets doesn't pay bills.
LordoftheSynth@reddit
Both is a possibility.
Personally I'd interpret it as a job where you will be yelled at because requirements changed on someone's whim, you weren't notified, and how dare you not be a mindreader.
hitanthrope@reddit
Some percentage of the time that happens it's become the organisation is going through some inner struggle about these kinds of standards and the hiring manager doesn't want another opponent hah. Not supporting that by the way, just saying.
For this kind of code submission, I might find it a useful thing to ask about. "Why this structure?", but I can't see any answer giving negative marks except potentially, "who cares?".
ProtoJazz@reddit
Honestly I think anything you're doing as a take home project has do little in it that just about any organization is fine.
Like short of just having everything in one file it is all about the same when it's just a handful of functions and stuff
hitanthrope@reddit
Something I would suggest is that when people look at these code submissions for at least mid+ they are usually looking at a little more than, "does it solve the problem?". Not having tests for example can be a immediate "no pile".
I'd usually say don't fall into the trap of, "it's only a....". In some ways it is better to exhibit *more* of what you might do, so I slightly overkill comments and structure. Maybe with a note that it is a little further than I might ordinarily go but hopefully it is clear and tidy.
I suppose it's a case that if somebody spanks all their files in some big flat structure in a zip, I can't tell for sure if they know they need to be a bit more careful than that on a real project. If they overdo it with all the bells and whistles, I can say, "bit much, but at least they know how to do it".
In any case, I typically just ask them if they have something they want to show me. If somebody has some code they have been working on, I can sit with them and have them explain it to me, and answer my questions and I will know by the end of that how good they are at coding. I don't really need to set an exercise unless they have nothing to bring and need inspiration.
ProtoJazz@reddit
Absolutely. In this case it was more I did a generic kind of MVC set of folders, and they wanted a slightly different set of folders.
636C6F756479@reddit
If putting files into exactly the right folder is such a big deal in an interview imagine what it's like to actually work there! Dodged a bullet.
Jukibom@reddit
I also love the code review style, ever since it was used to interview me I've used it every time the other way round. I think a really big important part of it is it's a relaxed environment, you can have a friendly conversation over it and it's easy to throw in really obvious red flags to find so nobody is left feeling hyper stressed. And the ones that find the subtle ones usually have a good way story to go with it
skybar-one@reddit (OP)
I am not the author of this article. I thought it was interesting and shared it. Though I agree with your feedback to it
hitanthrope@reddit
Oh I see, apologies. I made an ass out of... well, me... :)
skybar-one@reddit (OP)
No worries, it was not unreasonable to assume that. Perhaps I should add a disclaimer that I am not the original author
hitanthrope@reddit
I nearly always assume that, but that might also be because I sometimes think, "when I get off my ass and write down my bile, reddit would be a good place to try to convince some poor shmucks to actually read it", so it could just be a me thing :)
Kevin_Jim@reddit
I loathed that we did leetcode in my new company. We are now switched to actual shit one would expect to do, that’s not good enough either.
I told them to only do paid code interviews. Meaning, you have to do X staff in Y days, and you’ll get paid the average of the salary range.l for your work.
That way you don’t do free labor for nothing and the company will think long and hard who they are interviewing.
IanSan5653@reddit
I think that's challenging to do from a tax/paperwork perspective though. Suddenly the company has to keep track of income reporting for tons of candidates.
Kevin_Jim@reddit
Not really. The tasks are small enough that can and should be done in half a day, at worst. A gift card covers that much.
quentech@reddit
Yep, up to $600 you don't have to file anything for income paid, over that you just 1099 them.
Kevin_Jim@reddit
This is not in the US, though.
quentech@reddit
It's not too bad (we pay when we ask for a candidate to do a take-home).
If it's under I think it's $600 the company doesn't have to file anything on the income side. If it's over $600 it's just a 1099-NEC.
CherryLongjump1989@reddit
I can't take anyone seriously who would write something like this.
How do these dingbats do their live coding interviews? Present a problem and sit back silently for 45 minutes to watch what text pops up on the screen?
Kinglink@reddit
Yeah... maybe I'm judging a book by it's cover but if someone can't capitalize like a normal human being, I'm not interested in the opinion.
Then again I saw this.
I feel like this guy has never interviewed anyone, or is a shit interviewer.
You start writing a function, I ask "Why are you writing using that function?" and I'd be able to tell. Hell it's REALLY obvious when people are writing code themselves, or copying code from Chat GPT. Like EASILY distinguishable.
I'm sick of people telling others how interviewing should work who have never sat in both chairs. I know that dismisses a lot of opinions, but dear god, the minute you start interviewing people you start to understand why some things are there.
(Not that everything is good, but people ACTUALLY fail Fizzbuzzes... Jesus christ)
RddtLeapPuts@reddit
This is true for a take-home test, but not for a live-coding test. You can absolutely tell when a candidate is getting “help” during a coding exercise. I’ve seen candidates struggle to answer a question who, after typing somewhere offscreen, quickly give a flawless answer. It’s obvious. I’ll fail that candidate immediately
Kinglink@reddit
If you ever asked someone a question who used ChatGPT and understood the code, versus someone who asked ChatGPT to work and submitted the first thing that compiles, you can tell INSTANTLY.
Big_Combination9890@reddit
Whenever I see articles like this, they are always about the US job market.
When will it dawn on people that maybe, just maybe, the problem is the country where the presidents reaction to bad job statistics is to fire the guy in charge of statistics? and not
Here's to being glad I don't have to work there 🍻
Enlightenment777@reddit
Assholes & fucktards at various companies are part of the reason why the hiring process sucks for candidates.
If I was hiring in 2025 or later, I sure the fuck wouldn't trust any online coding or take home coding tests.
For regionally local, after a phone or video interview, I would require the best candidates to meet face-to-face.
I would ask them to leave all of their electronic items in a locker, then wand them down with a metal detector, then take them to an almost empty room that has a laptop that is NOT connected to the internet. The laptop would be preconfigured with compilers / editors / debuggers. I would show them how to compiler and run a simple "hello world" program, then make them do it themselves. I would hand them a piece of paper with what they need to code from scratch. I would give them X amount of time to write the software, then check back with them from time to time.
Maykey@reddit
I see no reason to leave my smartphone in a locker of some company I visit for the first time. Being in a room is enough to see if someone is cheating.
50-100 questions is redundant and excessive considering the coding part. At this amount lots of them will be in categories of "have you learned UB of the week that compilers warn you now about", "we were bit by this shit 10 years ago and now have our own internal lib to never deal with it again" and "do you know the syntax that works even though it's never used by anoyone like
1["ABC"]
in Cserviscope_minor@reddit
Point 2 very much says "my time is worth more than yours", which as a candidate is a pretty red flag. Plus you're making the candidate jump through hoops (no internet) to save your time.
Be in the room. You're there to answer questions, check the candidate isn't cheating and assure them that you value their time as highly as your own.
Also, drop the first test. 100 rapid fie questions? They'll all be weird specifics.
hippydipster@reddit
I turn around and leave at that point. You are telling me the state of trust in your organization, and I choose to believe you.
NaFo_Operator@reddit
main issue is indians spam the hiring process by gaming the system which causes the current bs market. best example...look at linkedin...the amount of low effort crap on there and spamming makes the whole hiring process blow chunks
LordoftheSynth@reddit
LinkedIn messages these days are basically just trying to sell me things.
riley_sc@reddit
I've been using code reviews for screening and it works really well. It takes less time for the applicants, it's much more relevant to the actual work, and you really get a good sense of non-technical skills as well. A lot of people are happy to out themselves as snarky jerks even in a mock code review. You can also use the same test for varying levels of seniority. And LLMs fail it catastrophically.
Biggest issue is there isn't great tools available for it yet. We just send people a zip file some source and ask them to mark it up inline and then use a diff program to view the comments. I think there's a real opportunity for someone to build a polished web based tool for mock code reviews, as I really do think this is the future of hiring programmers.
beer_goblin@reddit
https://www.woventeams.com/ - I interviewed at a company that used this platform. I linked my github account and it shared a private repo with me. From there I went to the PR and reviewed the code, after like 2 hours it pulled my access and the reviewers were able to view it
-alloneword-@reddit
Senior sw engineer who has been on the market for about 6 months now - though I have been quite picky.
My previous day job was iOS and tvOS (Swift) with a focus on streaming media.
I am actually seeing a lot of senior level openings for what I would called hybrid QA / Dev Ops developers. Companies are eager for engineers to create centralized unit testing suites with bonus points if you have experience with CI/CD - i.e., Jenkins.
I consider myself a "product" guy - but am finding it super difficult to find an opening for any "product" positions.
I don't know bash scripts or the first thing about creating a Jenkins job, but it looks like that is what I am going to have to learn.
FeliusSeptimus@reddit
We interview some people for contract positions. I talk to them a bit about the technologies we use to get a sense for whether they actually know it, then tell them about the ~~absolute shitshow~~ code we have to see if that is something they'd be interested in working on.
If they communicate well and seem to know what they're talking about we bring them on as a contractor. If they're pretty good we might open up an FTE position a year or two later and ask them to apply if they are interested.
IME the only reliably way to know if someone is a good fit is to work with them for at least a few months and see how it goes.
ditalos@reddit
As a newbie coming into the tech market (on an internship right now) it feels like I'm being sent to die in a war. There's just a billion angles I need to watch out for in interviews and study and prepare myself all while I need to prepare a super interesting CV with projects and contributions and "real work" (that I can't get without a job) and it goes on and on and on. I keep imagining how less stressed I could be if I just choose another, simpler field that doesn't have all this insanity. I don't even want a high paying job at this point.
maowai@reddit
Exactly. My wife is a nurse and needs just a resume and a 1-hour Q&A interview. It's not a top-tier paying job, but pays pretty well and employment is relatively stable. And there are no circlejerks about how AI might take over or 1,000 articles written per day talking about it. It's a great complement to my career.
serviscope_minor@reddit
On the other hand there are mandatory qualifications for competency that are illegal to fake. This does somewhat limit the pool of applicants to people who can to some extent nurse.
DangerousArt7072@reddit
Only illegal to fake until an indian needs a visa.
Excellent-Cat7128@reddit
They always leave this out. Someone is doing a real assessment.
They also don't mention that there are many jobs where people do have to do some sort of practical exam or assessment. Teachers are asked to teach test classes for other teachers. Welders have to do some sample welds. It absolutely happens.
happyscrappy@reddit
I'm with you there. So many companies have bad (and different) ideas that in order to maximize your changes with what might just be a bunch of people asking questions with trick answers requires more "studying for the test" than anything.
It's unfortunate and there's nothing candidates can do to fix it. Hiring managers and companies setting the policies have to do better.
Well, there's one thing candidates could do to fix it. That would be for them to not flood the market so much that companies have to put additional, poor and often automated screenings in front of live, valuable interviews. But let's face it, the prisoner's dilemma says that will never happen. Each person applying to 100 places at once is maximizing their own outcome even if they hurt the process overall.
Excellent-Cat7128@reddit
Just know how to do the job and be able to show that you know how to do the job, and be able to talk like a halfway normal person about yourself, and you'll be ahead of 95% of applicants. You don't need to learn tricks or prepare for them. If you interview at a place that's clearly trying to assess via tricks, walk the fuck out.
ZombieWoofers48@reddit
Accurate
skybar-one@reddit (OP)
I would advise to prioritize on applying to local in-office or hybrid jobs. Don’t bother with remote positions unless you have some special circumstances. The competition is absolutely brutal - 1000 applications within a day on most remote job posts.
Research companies in your city/nearby places and go to their website and see if they have job postings.
ditalos@reddit
I don't even bother with remote jobs or openings that sound "too good to be true". And yes I do usually check company websites and check with my friends to see if they know good places and openings (and maybe to get an indication too). I'm extremely jaded on the job market at this point so I try to cover my bases on that as best as I can.
prattxxx@reddit
I’m a firmware engineering manager. The biggest thing I focus on is the ability to over communicate, everything else is on the resume.
Excellent-Cat7128@reddit
These threads are often frustrating because people have strong feelings based on very particular experiences that are not universal.
For example, there are companies that do leetcode questions under strict time constraints that are meant to stress people out. Not all companies do that, probably not even the majority. But these stories get conflated with having to do any sort of coding assessment. So some manager says that they do a live coding challenge, and they got dogpiled by people who assume that they are trying to mentally break candidates with trick-based leetcode questions. In all likelihood, said manager is asking people to write something that's not far off from fizzbuzz.
It would be great if people could be much more specific with what their actual problem is and allow for the possibility that similar, but still different, practices may actually work. Asking someone to help debug pre-written code in a conversational environment is very different from "solve leetcode hard 1424 in 12 minutes or interview is over".
AncientPC@reddit
I was in management for ~10 years and a programmer for 15 before that. I've been in both sides of the interviewing table over a thousand times.
A lot of whining about interviews is from people who dislike the output, but have a misunderstanding of hiring challenges. If I have an open req, it is often with an expiration date and for an open position I will get hundreds of low quality applicants daily.
Here is the ballpark conversion pipeline numbers from my experience:
Hiring a new eng usually involves filtering through 2,000-10,000 candidates.
If you respond with relaxing the hiring requirements, do you know how much it sucks to fire people for the team's morale and wasting everyone's time and money? I hate firing people, but I've had to do it for: underperformance, sexual harassment, literally not showing up for two weeks without an emergency or communication, starting fights with every single person on the team within two weeks of joining.
People complain about leetcode challenges, which I've had to do myself as well, but have the seen 33% fail rate to write a function that returns the median from an array of integers? Have they seen applicants that don't know how to define a function/class? Or change random numbers until they get the right solution?
No? Because they're all weeded out during the interview process. Imagine having that dead weight dragging down the team but being unable to fire them until the manager can collect enough evidence to prevent a wrongful termination lawsuit.
Vile2539@reddit
As someone who has given a lot of interviews (and taken a fair few myself), I don't really agree with the generalisations of each interview type, or some of the takeaways.
These are two very different interviews. Leetcode interviews are comprised of questions that you would find on Leetcode - generally ones that are trivial if you know the specific trick, or have studied the particular thing that they're testing. They're terrible interview questions for that reason.
Live coding interviews can be anything - they're just done live. We currently do a quick 45-60min live coding as part of our interview process, and it's a very basic project comprised of a tech stack that is representative of our actual codebase.
I'm also not sure how this fails at the "differentiate" point - if someone was using ChatGPT in a live interview, it'd be really obvious. Our live interviews are also open-book, so the candidate can google whatever they need. We've had people dump the questions into ChatGPT in the past, and it was clear that they had absolutely no idea what they were doing.
As mentioned above, our live coding interview is also representative of our codebase - so "applicability" isn't failed either. It also respects the candidates time, as it's a fairly short and quick interview (though we do have other stages, depending on the role). "Taste" isn't really well defined, but I think you get a good indicator of this in a live interview.
Again, this depends on the interview given. It can be very applicable, and still respect the candidates time. We had take home interviews like that at a previous job. "Differentiating" can be difficult in the current day, but we'd generally chat about the submission in the in-person follow up interview.
I'll focus on the work samples part of this - and I'd argue that it fails the "respect" criteria. The vast majority of my work (and similar for a lot of people) isn't public. I'd have to write new work samples to apply. I also don't like how time efficiency is split out from respect in this category.
There is no silver bullet to the code interview - but different styles of interview all have their place. The key is that the interviewer needs to put effort into the interview process. If they just google "top 10 leetcode interview questions", then it's going to be a miserable experience.
Big-Oil-8812@reddit
Beli_Mawrr@reddit
I haven't been in a position to do interviews in a while, but if I did, my interview would be 2 parts.
1) i ask you to create a new react project and make a button that turns blue after being clicked (or the equivalent for backend or devops). You are scored based time, long story short. the idea is that if you have your dev environment set up already and know how to start new react projects, and know how to work around state, it should be fairly easy. if you don't know how to code and don't know how to spin up a dev environment on your own computer you're not scored as well.
2) especially for roles other than senior, you will then be given some working but bad code and asked to code review it. each detection is worth points and after halfway you're given basic prompts worth half points. asking "why are we doing this, the code works already" is worth minus points.
I'm pretty sure I can tell with a very high degree of specificity how skilled a dev is with those 2 tests alone.
unDroid@reddit
I would suck in that interview format. Knowing that I need to code fast would be ticking against the back of my head the whole time and preventing me from concentraiting on the code.
Beli_Mawrr@reddit
The point of the first part at least is figuring out if you know how to execute stuff via the command line, how to look up documentation, how to put stuff down on a code page, etc. It's about the lowest level coding exercise possible.
unDroid@reddit
I get the point, but I am not sure if I could do it, depending on how the task is orchastrated. I once applied to help develop the backend for a website and the "coding interview" part was a dozen or so different tasks to write, each with a timer. I needed to code the stuff to a textbox and the timer was ticking on the corner of the site. It completely froze me and I wasn't able to do stuff I normally can with my eyes closed.
It is funny because I have ADHD and I am excellent under pressure, but all I could focus on was the timer.
Beli_Mawrr@reddit
That's the way most coding interviews are lol.
unDroid@reddit
Not in my experience. Most are either a technical chat about some code, live coding exercise, take home test and usually a systems design thingy. That was the only one I've seen with a timer like that.
Beli_Mawrr@reddit
What country?
In the US they start with the leetcode. If you're lucky you only get one. For facebook they want you to do 2 leetcodes in 45 min and act like that's somehow a better strategy.
unDroid@reddit
Finland, Netherlands and UK. I haven't seen leetcode in any interviews and if I would I'd skedaddle.
There isn't one good way to do interviews, but I think take home tests combined with PR reviews and technical chitchats are a good way to determine someone's skill level. You won't know for sure until they've worked for a couple of months.
Beli_Mawrr@reddit
Yeah damn that sounds very nice to be a software engineer there.
philipwhiuk@reddit
The problem is massively overfitting.
If they build it in Angular is that okay?
Beli_Mawrr@reddit
You're also attempting to get their ability to rapidly learn stuff on the spot then. I would even give the frontend test to a backend engineer. The goal isn't testing their react, the goal is testing whether they have a dev environment and know how to create a project, know best practices for searching, etc.
Roselia77@reddit
you expect the interviewee to have a specific dev environment already setup on their machine?, I'd leave that interview on the spot
Beli_Mawrr@reddit
Yes. It's a heuristic for how good you are at coding. If you're passionate about it, you do it on your spare time. If you're doing it on your spare time, you probably know how to do it. It's not perfect but it's better than leetcode.
Roselia77@reddit
Jeebus..... from my perspective this is a massive red flag for an employer, the type of place that will expect their staff to be always on, always grinding, zero work life balance and probably high turnaround
I work for money, that's it, I have a life outside of work.
Beli_Mawrr@reddit
I get it, but some people do enjoy the work. I'm sure you can imagine why an employer would want someone who enjoys the work rather than someone who just wants to get out of there as fast as possible.
Roselia77@reddit
So many red flags....
Beli_Mawrr@reddit
Not at all a slacker, but probably not as enthusiastic a coder as someone who does it for fun as well. Think about it. Would you rather be coworkers with someone who hates coding and wants to stop as soon as 5 hits, or someone who's passionate about it?
Roselia77@reddit
You really dont get it.... you're thinking in black and white. One can very much enjoy what they do and be damn good at it, and still stop when the working day is over.... being passionate about something doesn't mean being ready to be taken advantage of, what you want is someone so desperate for work that they'll let themselves be trampled on. I'm glad you're not in a hiring position
Excellent-Cat7128@reddit
When I did these, I gave people wide latitude in what languages and tools they could use, with limits. If someone wasn't familiar with the particular languages we used, they could use something else. I assumed that if they had general problem solving and learning skills, they could pick up a new language on the job with some assistance.
Fermi-4@reddit
2nd point makes sense - drop the 1st
ProtoJazz@reddit
I'd probably need to look up how to create a new project tbh. 99.9% of my work is in an already created project. I do it so rarely, and every language, framework, and even sometimes different versions does it a bit differently.
Beli_Mawrr@reddit
Right well you should be able to start a project, or at least look that up.
I can launch projects in a few different frameworks (Django, Rust, Express, Nextjs, pure react, etc). I do this all the time as part of my hobby development. I dunno if I could do it in front of people but I definitely have node/python on my computer. That's the key. is the dev going to have to install node/python on their computer? Do they know how to edit the path variable on their computer? Do they know how to execute a code file via the command line? That's what's being tested. If the answer is no, they likely did most of their programming on replit or similar, which isn't what we'd want in a company.
ProtoJazz@reddit
Or they use a different computer for work
inkjod@reddit
Please use proper capitalization, like a normal human being.
This is painful to read.
happyscrappy@reddit
Good outline at the top. But author immediately decided to classify live coding as "leetcode". Leetcode is asking question whose answers are more tricks to memorize then tests of coding ability.
Not all live coding is leetcode.
And yes, live coding can tell a senior engineer from a marketer using ChatGPT because you ask them to write it in front of you and you can tell when they are using ChatGPT instead of doing it themselves.
I appreciate this person putting thought into it and wanting better results. But right off the bat he fails to identify the real problems and misrepresents current methods.
Messy-Recipe@reddit
I feel like these somewhat contradict. existing employees are not fungible, but new hires ought to be. so I mostly agree with the final point I quoted; a big problem with hiring right now is companies treating prior experience as non-fungible with regard to hiring new people for their own roles. but the first point shouldn't apply to hiring
this part didn't go in the direction I expected -- with the 'essays' being responses about career goals & stuff. let's be real here being asked questions about career goals in an interview is the lamest shit
was hoping this would be like 'extended essays about actual work' because that actually selects for understanding, & for communications skills. & generally people who can code by not write about their code aren't creating software with much clarity.
also though the whole concept of work samples is a bit odd in itself tho; most people aren't gonna be at liberty to just share code from their actual job, so that just incentivizes rushing out some throwaway public github projects just for the sake of it
anyway, i've always felt an ideal interview project would be like, something with a paper to read, several inter-related things to implement & a non-quite-clear goal. applicant would need to draw together information across several sources (written, existing code, asking questions) & piece together a couple small pieces of code that do different things, but work together to accomplish something
best example I can think of is actually something kinda black-hatty? like have a toy system, & a paper about a vulnerability in it. they would need to read the paper & do some experimenting to write something to gain access to the system, then write a separate thing to accomplish a task afterwards. & there could be incomplete requirements that they have to ask clarifying questions about
nothing too intense but it'd mean they're not just rote code-monkeying some crap together // trying random crap in hope it works, wouldnt be something they can study for either if it was a custom project. & it would show they have not just raw coding skills but the ability to actually comprehend documents, interrelate different parts of a system, take multiple steps to accomplish a goal, & have insight into what they actually need to ask about
levodelellis@reddit
Once a long time ago, a guy sent me a question on google docs, which I couldn't see. He didn't copy paste it, he read it out loud and told me it was a puzzle, then couldn't answer my clarification questions.
Someone else told me he was trying to get a frontend job and the engineer interviewing him couldn't tell the difference between typescript and javascript which made it hard to understand because write it in javascript didn't actually mean write it in javascript
My suggestion is having a clue
paholg@reddit
I think part of the problem is that there are a lot of interesting things you can do (like the code review problem) if you're only hiring for people familiar with your tech stack. But almost no company wants to limit their hiring pool this way, and for his reason.
Beli_Mawrr@reddit
Almost every company I know has their job requirements: "X years of Y".
paholg@reddit
Other than at a very early stage startup, I have never worked anywhere that required specify tech stack knowledge.
DDB-@reddit
I like this article, and agree with a lot of it, especially the goals of an interview stated at the top. As someone who does live coding phone screens (because the company I do interviews for mandates that style), you can still get that differentiation that you reference later in the take home + explain your reasoning style ones.
I've noticed that many candidates seem to blatantly using AI during interviews. They'll pound out a perfectly working solution from top to bottom with no mistakes. I'll ask them simple questions, like "Why do you return early if your array is of size less than 3?", and they won't have an answer. Perfect code with no understanding of what they just wrote. I'll take the person who genuinely tries and doesn't fully complete a solution, because I understand their thought process and why they tried certain solutions, over someone who can just regurgitate an answer they just asked an LLM.
NaFo_Operator@reddit
stop hiring indians
MindCrusader@reddit
Dude you are from Poland (just like me). You are as indian to the foreign market as indians - cheaper labor that will do the same job
light-triad@reddit
That’s why they want US companies to stop hiring Indians, more jobs for Polish people.
What a time to be alive!? “They took our jobs!” has become globalized.
MindCrusader@reddit
My personal take on this:
I am fine if someone does the job at my level or higher takes my job, no matter what nationality. I will be salty, sure
When company decides to cut cost by hiring someone with much lower quality just to cut cost - that's where it is super irritating. I will be mad, but not at the cheap devs, but at the greedy company that doesn't care about the clients, workes and cares only about the money
The biggest issue currently is the second thing imo. Companies are cutting the costs at the expense of quality. It is the same story with some Indians, some Poles and some AI
light-triad@reddit
Sure but I think that’s a much different sentiment than saying “Don’t hire Indians”.
MindCrusader@reddit
Yes, it is :)
NaFo_Operator@reddit
you clearly haven't had the ..."pleasure"...of working with indians..... and no dont compare us to indians... we actually do the work right the first time
Dragon_yum@reddit
I had the pleasure of working with poles and Indians and it might shock you but skill and personality come down to personal level. Now I can’t attest for your skills but casual racism says a lot about your personality.
NaFo_Operator@reddit
damn stating facts is now being racist..... brilliant! i have the "pleasure" of working with indians and every time it's a shitshow: 1. not taking responsibility 2. lying and excuses constantly 3. plagiarism 4. zero initiative 5. if plan says a through d, they will do a and d . if you dont lay it out word for word shit doesnt get done
MindCrusader@reddit
That's literally my experience with SOME poles, yet it is not causing me saying all poles are bad programmers
NaFo_Operator@reddit
well my experience is with MOST indians. also ratios are a bit different you know the whole quantity vs quality thing
untetheredocelot@reddit
Find a better place to work then.
NaFo_Operator@reddit
so i change 4 quarters for a dollar... ok... problem persist everyone is outsourcing looking for a quick buck instead of quality
untetheredocelot@reddit
It's a self correcting issue.
If the quality of output is so bad they'll stop being outsourced. This was a big thing ~15-20 years ago too. People got burnt by the low quality consultancies.
Salaries only got higher, tech jobs kept coming around.
Now if the work is good enough for the price...well then that's capitalism baby.
Unless of course we want software built by racists for racists of course. We should pay a premium for that.
NaFo_Operator@reddit
no its not, again its all about the money. problem is corps caught on people are just really dumb and will accept shit software
untetheredocelot@reddit
If the customer is happy and the cost is worth it then the problem is...? Help me understand where your sensibilities are important here?
If the software is shit and full of holes and unmaintainable it's going to die. If it works for what it was built for, nobody cares.
You compete in the same playing field. Just because you are a different skin color doesn't make you special.
NaFo_Operator@reddit
where my sensibilities are.. i take pride in my work and do not tolerate subpar half-assed products. and yes i got people fired for sabotaging products and brand
you keep bringing race into it, where did i mention skin color anywhere here? simply stating facts
untetheredocelot@reddit
All competent people do. You just work at a place that doesn't value it. So leave instead of being a racist.
An entire nation being tarred with the same brush is just "facts".
Let's look at your "facts".
FAANGs pay 250k + and all the Visa costs to bring over "scammers" to work for them. The tech industry is full of H1Bs in America because all of them got scammed. Not because they provide value.
The BILLIONs invested in opening offices in India are just because they got scammed.
They pay $100k+ in India for devs because they all scammed the companies into compensating them that well.
These are your "facts"? Look up the definition of what a fact is.
The fact here is you work at a shit job hiring shit consultants to do shit work that is not valued highly enough to take pride in it. If Indians didn't exist it would be another nationality doing it.
The other fact is you are lashing out at people for being inadequate yourself. Work on yourself before you worry about what other people are doing.
NaFo_Operator@reddit
all your facts simply call out cheap labour because they dont want to pay proper wages to their own people. they moved from china to india not because of quality or value but because its dirt cheap. he who screams racist the loudest is often the biggest racist... stop projecting. you just dont like white folks but of course you'll deny it
untetheredocelot@reddit
Lol dude it's obvious to anyone here who's the racist.
What cheap labour. I was being paid nearly $100k when I was in India and I am being compensated at market rate for an engineer here in the US. I am not special. I am one of thousands.
Skill issue.
No no, I just don't like YOU. Big difference. I have many colleagues and some friends in Europe too. But they work for a place worth a damn and aren't sad little racists.
NaFo_Operator@reddit
sure you do. which 100s of plagiarised tutorials did you author...
lol "i have many colleagues and friends in Europe..." spoken like a typical racist
oh noez.... some nobody (your words not mine) on reddit doesnt like me... what will i do?!!
untetheredocelot@reddit
Aww jealous that I make more than you? Maybe if you took the time too it would have been helpful.
What was racist in this? I don't judge someone for where they're from.
I know, not work at being a better dev but go on programming forums and be a bigot. Did I get it right?
NaFo_Operator@reddit
making more bullshit , misleading and plagiarised content... no not really
every racist defends their racism by saying "..but..but.. i have friends of such and such ethnicity i cant be racist..." stfu at least be honest about it... oh wait you cant its against your beliefs
nahh ill just go back fixing f-ups made by your buddies... guess i should say thank you its job security lol
untetheredocelot@reddit
It says a lot about you about your employer. Outsourcing to shit consultancies or hiring the cheapest person you can find is the problem. You get what you pay for and the fact that you have to repeatedly work with them means it's a skill issue. I,e you. Get to a better place.
But given your racist comments I can imagine it's hard to compete for you.
NaFo_Operator@reddit
oh im the problem....right.... not the fact everything is spammed with crap applications etc... open your eyes all corps are doing cheapest labour thing
untetheredocelot@reddit
Yeah you are if you can't stand out from someone as you claim is so terrible at their job and can't compete on anything other than price...Well it's a skill issue once again.
It's hard for everyone out there right now. The last problem is people scamming jobs, economics, trend chasing and threat from AI hype is much higher on the list. You have access to the same AI slop tools to pad your resume as the people you're being bigoted to. In fact being from a European nation it's way cheaper and easier for you to immigrate, pay for courses and in general get ahead.
So the only distinction here is you and your employer. Who because they aren't really very good hire poorly and you because you are an unpleasant racist can't move to somewhere smarter people work at. Pity.
NaFo_Operator@reddit
no because i wont stoop to the same level as some scammer. the simple fact you condone resume padding makes the point for me. you fail to understand only thing that matters for corps is the bottom line , least amount spent so profits are higher. has nothing to do with skill its all about money. I actually like my job and why would i give anyone satisfaction for replacing me with some unskilled scammer
untetheredocelot@reddit
Buddy I don't think you can call yourself skilled if you are at risk of being replaced by "scammers". If someone does your job cheaper? Go be angry at your employer.
Am I happy that anyone can lie on their resume? No. But this was possible before too. We've just as a society industrialized it with LLMs but again you have the same tools.
Someone who doesn't even understand that they have to work on themselves to get ahead (of which writing a good resume is one) is someone I don't think should be making assertions on an entire country of people.
NaFo_Operator@reddit
number 1 : aint your buddy
2: im not afraid of being replaced, just fed up of scammers wasting time and money and undermining reputations
3: ai resumes go straight to trash when they hit my desk, and thats the problem just too much garbage and not enough time to triage this bs
4 dont presume you know me or now my experiences, right now india ranks dead last on honesty and quality same as china
untetheredocelot@reddit
So you are just Racist for the love of the game eh?
No arguments there. It is what it is.
Let's ask a Brit about their opinion on Poles. I'm sure I'll get some great input from them yeah?
India and China are countries with a Billion + people each. China is a literal superpower with unmatched industrial capabilities and they are tech leaders.
India is much poorer, but people in India are paid almost as well as they are in Europe (CoL wise more) when they work for reputable companies. Is it the majority ? No. But the software industry in India is vast and you don't have the talented devs working at consultancies.
The Indian consultancies are garbage and bottom of the barrel. But if. your company can only get those candidates that's a you problem not on them. Again coming back to skill issue. Pay more and stop hiring bottom of the barrel consultancies.
NaFo_Operator@reddit
again with the racism... is that the latest word you learned on Duolingo?
which Brits? the inbred well-fare drunks? try again, Brits love working with us because we dont bullshit and can think outside the box and we take responsibility IF we mess up. you are mighty defensive guess i struck a cord
untetheredocelot@reddit
Dude you can't even spell. Maybe duolingo will help. Let you compete better in the market.
It's "Chord" by the way. I will call out what is blatant racism. Beyond that I don't care, I get paid well and do my work. I don't really care about a sad little man in Poland looking at my resume or project because I won't be taking that much of a pay cut to ever cross paths.
Lmao, I spent far too much time arguing with what I thought was a misguided idiot lashing out at the latest boogeyman.
But no I was mistaken it's just a bigot who thinks he shits gold because he's a few shades lighter. Have a good life in your dead end job fighting to compete with trash devs.
NaFo_Operator@reddit
oh noez i made a typo... how many languages can you speak fluently? basic english and hindi? ill repeat you are bringing up racism i just stated facts that you simply cant handle. Again dont presume you know me , you know nothing.
fyi i know 4 languages fluently...and none of them is bs.
sojuz151@reddit
There is the great dividing line between proper engineers and cheating eastern job stealing barbarians right on the polish border.
NaFo_Operator@reddit
what?
sojuz151@reddit
/s ffs
untetheredocelot@reddit
He's not smart enough to understand you are making fun of him.
NaFo_Operator@reddit
ok /s ffs
Personal-Status-3666@reddit
Poles are actually great engeeniers not bullshitters.
Don't compere me to Pajet please.
MindCrusader@reddit
You are still an indian for the foreign market - americans will hate you equally for taking their jobs.
Also one more important thing - not all indians are bad. I worked with some terrible and some really good ones. It is not the rule. The issue is companies that are looking specifically into cheap labor, will hire any indian. That's where you get this bias. Of course they will be bad when the company doesn't care about the training, quality and do everything it can to cut the cost
Personal-Status-3666@reddit
I mean thats fair it in their proragative. I would rather my country hire poles.than indians or anyone else.
But don't compere us Pajet's please. No we are not all equal.
ecethrowaway01@reddit
Why do you want them to hire poles? More job security?
I work with tons of excellent engineers from India
untetheredocelot@reddit
Yeah we get free Racism from you! How awesome would that be in a co-worker! Please tell me more!
MindCrusader@reddit
Sure, say that to the ceo of Google
Dragon_yum@reddit
Hate to break it to you but both countries are considered as a cheap outsourced engineers.
Personal-Status-3666@reddit
Sure i didnt question that did i ?
Ok-Control3088@reddit
A Polish programmer calling himself an engineer and blaming Indians for not being able to find a job ostensibly in the USA is peak 2025 level delusion
NaFo_Operator@reddit
first time on the internet i see.... so nice of you to assume you know me
Ok-Control3088@reddit
I know enough to recognize a racist when I see one tho...
NaFo_Operator@reddit
sure you do...
light-triad@reddit
You didn’t read the article.
NaFo_Operator@reddit
you didnt get my comment... but thats ok this is reddit... thinking outside the box is not something common on here
skybar-one@reddit (OP)
Sure but that doesn’t make any of the core issues listed in the article go away. The issue of differentiating good candidates from bad candidates still remains.
And this is not an US centric issue. Indian companies and devs probably have the same hiring issues as well. You can’t be telling them to “stop hiring Indians” too
NaFo_Operator@reddit
the amount of scammers and posers coming out of there is not as relevant to them they ll just cycle through the next batch
qms78@reddit
Not wrong. If the orange shitgibbon wants to protect American workers, high paying tech jobs and intellectual property, he would end all H1B visas. Then give tax breaks to American companies that hire US talent and don’t ship jobs overseas. Could do this under the flag of Modi getting too close to Putin.
NaFo_Operator@reddit
whoaa whoaa there now you're talking TOO much sense... mods might ban you
itsdr00@reddit
I'm glad the author dedicated so much space to how bad leet code interviews are. I'm two months into a new job where I'm doing really well, getting along great with the team and culture, and (I think) exceeding expectations in a lot of ways. Like I really hit a stride in my career and this job gets the fruit of that momentum at a relative bargain.
And I think back to a rejection I got from a pretty good company that used a tech I liked, and how the leet code interview went like, fine. The two interviewers were socially awkward and the problem wasn't exactly what they told me to prepare for, and I'll take credit for not being at all used to the rhythm of a live coding interview as it was my first in about 12 years. But it was pretty hohum and they passed.
And it feels arrogant to say this, but my goodness, what a terrible interview design if they missed me at this moment. The one I got hired at did an architecture interview that went pretty well and a few conversational interviews that went great, so they snagged me. The company that passed, well, I'm sure they got someone very good at leet code.
ModernRonin@reddit
HR people are clueless, and CEOs are intentionally evil.
99.9% of the problems are all at the top. With the people who are doing the hiring.
As the people being hired, there ain't jack we can do to force them to grow a brain and stop being complete clueless idiots.
https://www.reddit.com/r/ProgrammerHumor/comments/4k994j/if_carpenters_were_hired_like_programmers/
distractedjas@reddit
The only way hiring will improve is if people who actually know what they are looking for decide on who they need to hire and if people who actually know how to interview others do the interviewing. Based on my experience, we will never get there, because almost no one has these skills.
tistalone@reddit
Stop making the devs make any hiring choice. They can veto or strong hire by sticking their reputation on the line but let them collect the data and hand it off to a hiring manager to make the actual hiring decision. If the hire sucks, then that's on the hiring manager for hiring someone who isn't effective.
In a few cycles, someone will notice that the live coding section provides little to no value added from just looking at the candidate's resume and cross reference it with their experience interview. Once that is realized and the math of spending 1 dev hour on a useless interview is understood, changes can be made.
skybar-one@reddit (OP)
Just want to clarify that I am not the author of this post. I found the article to interesting and shared it here.
serviscope_minor@reddit
I disagree about live coding
Well... not about the way most live coding is done but about the line
The key is in the questions you ask. I've been at companies where we had a selection. They're live but all done in person on site, because if you respect the candidates time, you put skin in the game by spending your own time too.
One was basically, discus a design, now here's an API you've never seen before, build the thing. It's not a very big thing, or complicated, but the point is learning to use a new API to solve a task rather than a complex algorithm is pretty much day to day responsibilities. The other one was similar, but jumped to here's some code to do it, it's buggy can you fix it, clean it up and discuss as you go along.
The latter even gives you a read on taste to some extent. Some people's idea of "clean" is making a massive framework of complexity for a simple task.
elh0mbre@reddit
Solid article.
What can be done? Find ways to make success in the process as a whole less contingent on the interview process. If it were significantly less painful to part ways with employees, you'd be able to take more risks on candidates, but currently one's entirely livelihood, including their health insurance, is tied to their employment which makes parting ways an incredibly disruptive event. Universal healthcare and strong social safety nets would help ease this (but are by no means a perfect solution).
Personally, I've done a lot of my hiring through my network rather than interviewing blindly which means I go into the hiring process with significantly more information and information I would never get through most interview processes.
philipwhiuk@reddit
You under play the efficiency problem dramatically.