I'm pushing 40 years in the professional phase of my career, and I don't really push back much on that. That said, the more experience I get, the less often I'm asked for that sort of thing.
My general philosophy about this kind of thing is that a potential employer is free to conduct the interviews in whatever way they wish. How they choose to conduct them tells me something important about the company.
If they want to do something that I am just unwilling to do (such as a take-home exercise), I'll say that outright and offer a different way they can gather the information they want. If that's not acceptable to them, then I have a decision to make: is this really a company I want to work for enough to do it anyway? If so, I shut up and do it. If not, then the interview is effectively over.
But I have always had (even when green) an attitude about interviews. I'm not looking at them as the company evaluating me, I'm looking at them as me evaluating the company.
> But I have always had (even when green) an attitude about interviews. I'm not looking at them as the company evaluating me, I'm looking at them as me evaluating the company.
Well said. Some companies' first ever response is a HackerRank link. without even a call. Those are effectively over immediately. That's an extreme case but one can find many red flags about a company during the interview process.
Take home exams are great because they're usually well thought, some are even paid (fixed price and non-timed. If they're strictly timed run away).
HackerRank on the other hand indicates high employee turnover, only fresh graduates, and the code is garbage.
FAANG interviews which require 6 month practice beforehand indicate mass layoffs coming soon.
Of-course the best are the ones where you have a conversation with a manager and they like you and hire you, but those are very rare.
That's basically my 10+ year experience in general. I'm not even mentioning the dirty practices such as contacting your previous employer behind your back, etc. There are lots of other signs.
In ~40 years as an engineer, through 8 jobs and ~30 interviews, I don't recall that I have ever had a timed coding interview. (I mean, I've had "take 5 minutes and look at this code and tell us what it will do", which was not difficult enough to put me under any time pressure, so I'm not sure that it counts.)
If I had one... I'd probably do it, rather than refuse. Why not? But I might also consider it in my evaluation of the company. (Remember that you're interviewing them, too...)
The only real loophole I've seen is becoming a freelancer. You approach them as a salesperson, not an engineer. You sell the ability to complete the project as requested. This mostly works with non-technical clients, though technical clients will almost always be less strict about it - if they had the resources to run someone through the full gauntlet, they'd do that and save a little money.
I did pass one interview out of sheer luck. Small startup, their core person left and they had a tight deadline (i.e. waterfall). CTO asked me my opinion on architectures and stuff, I pulled out my laptop which was covering a lecture on architecture I was doing at that time. He was impressed, we agreed on culture and pay and stuff, and they offered the job the next day. One hour interview.
Interviews are two way though, and you should always evaluate that they have a competent team if they let you skip the coding interviews.
I’ve been coding for 25 years and I’ve never had an interview with a big coding exercise. I did do the triplebyte hour or two hour coding interview. I’m sort of a manager and consider myself close to a senior or so and can program a decent amount.
I’ve had many interviews where they ask me to write out a fizzbuzz or something but that takes a few minutes. And I’ve never minded doing that.
If someone gave be a big take home, and I wanted the job, I’d probably just do it.
I currently give a small take home assignment to applicants that I designed to take 15 minutes. Few refuse. If someone proposed an alternative, I’d listen as I’m really just looking to filter out people who can’t code at all (a surprisingly large number of people).
Yes. It seems bizarre to me to apply for a programming job without knowing how to program, but when I just screen based on resumes there’s usually 10% who can’t do basic things like “write pseudocode to reverse a string” or a fizzbuzz loop.
So my brief exercise has saved me from wasting interviews on those folks. Of course it’s not foolproof and people can have a friend write it, or use ChatGPT, or whatever. But it helps.
It’s a way, and it helps some. I thought about it and discussed with my peers and teams and it seemed useful. I liked it over alternatives like having people write in real time, or submit a portfolio, or so an in depth project.
A 15-30 minute exercise seemed like the best filter that optimized my time and the applicants.
Some applicants don’t have projects they can show. I’d say half have GitHub profiles, but there’s still lots of good programmers at my org who have zero projects they can show to a potential employer. I’m not ready to write them all off, yet.
And my exercise isn’t leetcode, nor is it timed. I just designed it so it doesn’t take a lot of time because time isn’t important for this filter.
And some applicants don't have time and should not be required to grind leetcode.
If you went through a decent 4-year CS program you will have been required to do coding projects, so if you have NO code to show, either you went to a shit program, OR you cannot write code.
It doesn't matter if you have a github. I have lots of code and very little in github because I don't want to open source it.
I cannot imagine how someone can be a good programmer yet NEVER has written any code they can show. So did they have time to spend 6 months grinding leetcode but didn't even write a simple application? That makes no sense to me.
"I just designed it" = it makes sense to me and if anyone else is unable to understand my quirky problem then they can't write software. OK.
Maybe you are replying to wrong comment. I am not suggesting anything. I am asking the question if it is often the case that someone who is applying to programming job truly does not know how to program.
So you're not looking for reasons so much as alternatives? I've never been in a position to dictate the interview process as a candidate. I'd view differing opinions on acceptable interview practices as a good indicator that the role is not a good fit.
Maybe this changes at 20+ years of experience, but I haven't gotten that impression from my professional network.
10 YOE. I don’t refuse timed assessments. I just don’t study for them.
If the company thinks inverting a binary tree is the best way to test my capabilities on a completely unrelated job, that reflects poorly on them. They might as well do a push up contest.
Statistically speaking, would you hire a person that's good at leet code, or one that isn't?
Probably it's not directly related to what you will do at the position, but if it takes you 1 week to prepare for an interview and you can't do that, I believe that speaks a lot regarding someone's qualifications.
That happens for sure, but you'd still rather have one that can both build real solutions and grind leetcode than one that can build real solutions, but ends up wasting time on HN as soon as the going gets tough.
And I say that as someone who decidedly belongs to the latter category.
Are you okay with grinding leetcode and doing multiple rounds with leetcode hard puzzles as opposed to a simple take home assignment that can be done with help from AI assistants?
I'm pushing 40 years in the professional phase of my career, and I don't really push back much on that. That said, the more experience I get, the less often I'm asked for that sort of thing.
My general philosophy about this kind of thing is that a potential employer is free to conduct the interviews in whatever way they wish. How they choose to conduct them tells me something important about the company.
If they want to do something that I am just unwilling to do (such as a take-home exercise), I'll say that outright and offer a different way they can gather the information they want. If that's not acceptable to them, then I have a decision to make: is this really a company I want to work for enough to do it anyway? If so, I shut up and do it. If not, then the interview is effectively over.
But I have always had (even when green) an attitude about interviews. I'm not looking at them as the company evaluating me, I'm looking at them as me evaluating the company.
> But I have always had (even when green) an attitude about interviews. I'm not looking at them as the company evaluating me, I'm looking at them as me evaluating the company.
Well said. Some companies' first ever response is a HackerRank link. without even a call. Those are effectively over immediately. That's an extreme case but one can find many red flags about a company during the interview process.
Take home exams are great because they're usually well thought, some are even paid (fixed price and non-timed. If they're strictly timed run away).
HackerRank on the other hand indicates high employee turnover, only fresh graduates, and the code is garbage.
FAANG interviews which require 6 month practice beforehand indicate mass layoffs coming soon.
Of-course the best are the ones where you have a conversation with a manager and they like you and hire you, but those are very rare.
That's basically my 10+ year experience in general. I'm not even mentioning the dirty practices such as contacting your previous employer behind your back, etc. There are lots of other signs.
40 years is too much of experience. What are your biggest lessons on software engineering ?
In ~40 years as an engineer, through 8 jobs and ~30 interviews, I don't recall that I have ever had a timed coding interview. (I mean, I've had "take 5 minutes and look at this code and tell us what it will do", which was not difficult enough to put me under any time pressure, so I'm not sure that it counts.)
If I had one... I'd probably do it, rather than refuse. Why not? But I might also consider it in my evaluation of the company. (Remember that you're interviewing them, too...)
The only real loophole I've seen is becoming a freelancer. You approach them as a salesperson, not an engineer. You sell the ability to complete the project as requested. This mostly works with non-technical clients, though technical clients will almost always be less strict about it - if they had the resources to run someone through the full gauntlet, they'd do that and save a little money.
I did pass one interview out of sheer luck. Small startup, their core person left and they had a tight deadline (i.e. waterfall). CTO asked me my opinion on architectures and stuff, I pulled out my laptop which was covering a lecture on architecture I was doing at that time. He was impressed, we agreed on culture and pay and stuff, and they offered the job the next day. One hour interview.
Interviews are two way though, and you should always evaluate that they have a competent team if they let you skip the coding interviews.
I’ve been coding for 25 years and I’ve never had an interview with a big coding exercise. I did do the triplebyte hour or two hour coding interview. I’m sort of a manager and consider myself close to a senior or so and can program a decent amount.
I’ve had many interviews where they ask me to write out a fizzbuzz or something but that takes a few minutes. And I’ve never minded doing that.
If someone gave be a big take home, and I wanted the job, I’d probably just do it.
I currently give a small take home assignment to applicants that I designed to take 15 minutes. Few refuse. If someone proposed an alternative, I’d listen as I’m really just looking to filter out people who can’t code at all (a surprisingly large number of people).
> I’d listen as I’m really just looking to filter out people who can’t code at all (a surprisingly large number of people).
Do you mean that people are applying to the programming job without knowing how to program?
Yes. It seems bizarre to me to apply for a programming job without knowing how to program, but when I just screen based on resumes there’s usually 10% who can’t do basic things like “write pseudocode to reverse a string” or a fizzbuzz loop.
So my brief exercise has saved me from wasting interviews on those folks. Of course it’s not foolproof and people can have a friend write it, or use ChatGPT, or whatever. But it helps.
With 20 years of experience and plenty of references? And you think a take home test is the way to filter out someone so resourceful?
It’s a way, and it helps some. I thought about it and discussed with my peers and teams and it seemed useful. I liked it over alternatives like having people write in real time, or submit a portfolio, or so an in depth project.
A 15-30 minute exercise seemed like the best filter that optimized my time and the applicants.
if you don’t have code projects of your own then that is a much bigger red flag than inability to do timed leetcode style interviews
Some applicants don’t have projects they can show. I’d say half have GitHub profiles, but there’s still lots of good programmers at my org who have zero projects they can show to a potential employer. I’m not ready to write them all off, yet.
And my exercise isn’t leetcode, nor is it timed. I just designed it so it doesn’t take a lot of time because time isn’t important for this filter.
And some applicants don't have time and should not be required to grind leetcode.
If you went through a decent 4-year CS program you will have been required to do coding projects, so if you have NO code to show, either you went to a shit program, OR you cannot write code.
It doesn't matter if you have a github. I have lots of code and very little in github because I don't want to open source it.
I cannot imagine how someone can be a good programmer yet NEVER has written any code they can show. So did they have time to spend 6 months grinding leetcode but didn't even write a simple application? That makes no sense to me.
"I just designed it" = it makes sense to me and if anyone else is unable to understand my quirky problem then they can't write software. OK.
if you didn’t work on a project during your CS degree or before then i don’t understand why you think you should be hired anywhere.
Maybe you are replying to wrong comment. I am not suggesting anything. I am asking the question if it is often the case that someone who is applying to programming job truly does not know how to program.
So you're not looking for reasons so much as alternatives? I've never been in a position to dictate the interview process as a candidate. I'd view differing opinions on acceptable interview practices as a good indicator that the role is not a good fit.
Maybe this changes at 20+ years of experience, but I haven't gotten that impression from my professional network.
Ultimately you want the job or you don't.
10 YOE. I don’t refuse timed assessments. I just don’t study for them.
If the company thinks inverting a binary tree is the best way to test my capabilities on a completely unrelated job, that reflects poorly on them. They might as well do a push up contest.
A company that thinks leet code is a good way to evaluate potential hires is not a company that is worth my time.
Maybe I'm too young, but is it really that bad?
Statistically speaking, would you hire a person that's good at leet code, or one that isn't?
Probably it's not directly related to what you will do at the position, but if it takes you 1 week to prepare for an interview and you can't do that, I believe that speaks a lot regarding someone's qualifications.
i takes months to prepare and memorize optimal solutions:
during an interview in my experience it is timed AND you need to give the optimal solution AND you need to talk while coding
hiring those good at leetcode will get you a team consisting of people who had the time to practice and are good at practicing. that’s it.
not passing leetcode interviews has no meaning regarding someone’s capabilities.
and BTW i am not talking about a basic for loop type problem.
You’ve also optimised for a developers who possess a certain degree of grit and determination even in the face of boring and unfulfilling work.
yeah, and they still can’t build real solutions despite passing leetcode
That happens for sure, but you'd still rather have one that can both build real solutions and grind leetcode than one that can build real solutions, but ends up wasting time on HN as soon as the going gets tough.
And I say that as someone who decidedly belongs to the latter category.
ok so then all FAANGS are not an option
they all do it
Are you okay with grinding leetcode and doing multiple rounds with leetcode hard puzzles as opposed to a simple take home assignment that can be done with help from AI assistants?
i prefer a take home
i don’t need coding assistants
i have no time to grind leetcode
Lots of people cannot cope without doing things to control ppl...
Send them sample code. It gives them the same information or more.
I offered this at some point and they don’t want the code due to IP issues or don’t believe you wrote it.