I know some people hate take-home assessments, but for me it's a total life saver in interviews. I don't "think" out loud while I'm working, and there's no way in hell I'm doing it nervous while someone is looking over my shoulder.
Using Leetcode as a filter is great if you're looking for someone who interviews often, but in my experience it's not a great gauge if someone is a good engineer or not.
As a hiring manager we've tried implementing different strategies. On my team, we hired 4-5 engineers doing live coding exercises similar to leetcode, and none of them made it more than 6 months. We switched to a take-home project for the last 3 we've hired and they've all been with us for 2+ years and have been great.
Of course with the take home projects you're filtering for people who are willing to take a few hours of personal time to work on something, but over the interview process it seems like it washes out? Of course this is just anecdotal data on a fairly small team, but I hate LeetCode style interviews.
I'm a staff engineer with ADHD and extreme test anxiety. When looking for another job during COVID I was rejected by every company at the screening stage I spoke to. The only offer I got was for Netflix which gave me a take-home assignment. It was wonderful because I had confidence in my code when I brought it back to the interviewers and could explain very clearly what was going on.
I ended up not taking the job due to the combination of a counter-offer from my employer as well as being a little weirded out by their culture. But I was thankful to get the opportunity to show my skills in a way that worked for me.
I feel you. I have adhd as well. I have routines when I code which some people don’t like or can’t follow and that caused problems during interviews. When I do pair coding today with people I worked with for a while now that’s not a problem because they understand my style and they don’t mind because they are good people.
But most people don’t understand why I do the thing I do and start saying no and that’s not supposed to go there and why aren’t you writing a test first? Because I don’t want to. I will arrive at your conclusion don’t worry just please give me time. I will move this code around don’t worry about it. There you see now it’s all fine. But they don’t understand that I just want something to work fast and then I’ll refactor and make it nice.
And then they start demanding and that’s when my flow breaks and then I do shit work because they force me to accept their views.
Ofc granted those are shitty workplaces but chances are I’m not gonna work with the person interviewing me and also when you are looking for a job without a job then you kinda don’t care and want it make it work somehow.
Bah.
Anyone who doesn’t understand “make it work, then make it nice” isn’t a real engineer :)
Now imagine you are a candidate interviewing with 3 companies and they all give you a take-home assignment and each one takes a weekend to complete.
and this is a problem why exactly? if you have three interviews on the same friday you may want to space that out :)
It's an employer's market. Why would an employer want to wait 3-4 weeks for someone to interview elsewhere when there's a dozen other candidates in the pipeline?
OK - if it is “employer market” than you as a candidate can suck it up and either stay up all night and finish all three take-homes or pick 1 or 2 of the employers to interview with.
on a side note - if employer does not want to wait and wants to rush the hire chances are you don’t want to work there anyways…
- [deleted]
- [deleted]
Ideally it shouldn't take more than 4 hours, but even then is it that different than traveling to a different city for an onsite day of whiteboard interviews?
In reality people are trying to put food on their table and they will spend the entire weekend polishing their submission. If you don't follow suit your submission is going to look comparatively bad.
It is different than traveling to a different city for an onsite because you're not wasting your teams time on a candidate unless you think they have a good chance of getting to the end. You have "skin in the game" as they say.
If hiring managers were only issuing homework to candidates already scheduled for a full round of interviews, so interviewers have standardized material to talk about and as a substitute for whiteboarding, it wouldn't be so bad. Instead you mostly get nothing to show for your time and when you do get a round of interviews nobody looks at what you did and wants you to do medium+hard leetcode on the shared screen.
Ideally yeah but does it ever take "only" 4 hours? Usually take-homes are pretty unguided and leave room for personalization, plus there's an element of pressure to them to make it "awesome," do all of the best practices, etc. At least with a pair coding session there's someone there setting the guard rails to keep you within 1h.
> At least with a pair coding session there's someone there setting the guard rails to keep you within 1h
And then you're still nervous and have to explain your thought process around everything you're doing as you're coding.
I feel the same. I'd much rather do a take-home than a live coding intervie: it offers a much better representation of how I work daily.
I generally dislike take homes because the grading criteria is often extremely arbitrary and making time for them alongside your day job can only be done on nights and weekends.
The only exception to this are take homes that you pair on during the interview.
We do the same thing - take home - but we pay flat fee of $250 (via Visa Prepaid Card), more to show that we value candidates time than anything else… it should take about 4 hours to finish at worst.
If you’re getting quality hires with take homes, doesn’t that mean that even if theres filtering going on, its still effective to a degree as opposed to being totally arbitrary?
I would think so, but we'll have 100 people come in and talk about the quality hires they get from LeetCode interviews.
A lot of people have a strange sort of amnesia where they forget anything that doesn't support their preconceptions. I've had conversations that go like this:
"Our interview process is perfect! We've never had a bad hire."
"What about that guy we hired to rewrite our engine? The ex-googler? We had to fire him after a month."
"Oh, yeah. I forgot about him."
> I had no job, I ran on my savings, and the workplace I was interviewing for looked nice. OF COURSE I WAS NERVOUS.
100% this. I've never been nervous on the job, even during a work crisis. But I'm not a stage performer, and I'm super nervous during an audition, where strangers are standing over you, judging you, and you can lose the job if you do any little thing wrong, or even if you don't do anything wrong. That's so vastly different from a workplace situation. Yet a lot of people assume, wrongly, "If they're nervous during the interview, then they can't handle job stress."
Ask a firefighter, who runs into burning buildings for a living, to give a speech in front of a crowd of strangers. It's an entirely different kind of stress. Not all stress is the same. Fear of public speaking is very common, regardless of the person's job. The firefighter is trained for and experienced with one type of stress, but not the other. Firefighting is their job, not public speaking. Likewise, programming is my job, not interviewing. I can write code just fine, even if the whole company is metaphorically "on fire" at the moment, but my brain freezes in job interviews. And then an hour later, when the interview is over, I can often easily do the thing they wanted me to do during the interview, because I'm no longer in that specific fearful state.
The good news is that I'm now successfully self-employed, and my goal is to never interview for another job the rest of my life. Of course running your own business is stressful, and everything depends on me, but I've demonstrably been able to handle that stress. In a sense, the insane job market forced me to become an entrepreneur. (I'm also getting "older", which is another issue, i.e., age discrimination. It's commonly assumed that programmers get worse with age. Fortunately, my customers don't care how old I am.)
Ah envy you. I hate interviewing. I tried to put myself into positions where I present something. I actually did a LOT of presentations by now and yet every time I’m nervous. I just can’t seem to make it work with my brain. :D
LeetCode, concurrency, system design... each contrived in its own way and you can only figure them out by burning good opportunities. Reminds me of the Bridge Keeper in Monty Python's Holy Grail. My tip is just to ruthlessly ask questions because interviewers frequently are not remotely clear as they think they are.
I'll be branching off towards a different career path because of this. Tying your employability to passing these tests rather than your accomplishments as a professional is a sucker's game long term.
Good luck!
Thank you! :) Luckily, I'm now happily employed and hopefully for the rest of my life. :D
- [deleted]
- [deleted]
- [deleted]
Leetcode is slavery for developers. Shun any company that uses that for interviews because they are cargo culting idiots.
I don't like leetcode either but you harm your point when you compare it to slavery. You are not compelled to work. If you don't like it, you are free to walk out of the interview room and go on with your life.
It's more like sudoku for accountants.