I think the problem is not every company is a FAANG, 95% of companies require you to change a label in page as most complex task of the day. If I have to invest time to study leetcode I better do it for a FAANG not for a wannabe Google that at best can copy just the recruiting process.
Agreed. I actually agree with the article and will try it out next time I get approached by a recruiter. Obviously if I am desperate for a job I will do whatever it takes. But if I am just perusing, I’m just gonna say no to the take home challenge. Also I’m gonna advocate for no take homes when I am hiring for my company (which is like once a year so idk)
As a junior dev that landed my first job about a year ago, about 50% of companies asked for a coding test of some kind. That ranged from a few informal technical questions to full stack mini apps that took 2-5 days to complete. I was unemployed at the time and looking for my first break so that was fine. I did what they asked. Now I have a full time without paid overtime gig, I don’t have time for that kind of commitment. I will decline coding tests going forward. Companies have to understand, you’re asking for 8 hours of work or more. If I’ve applied to 20 companies, half want a take home test. That’s a couple of weeks of coding for close to zero percent chance of signing a contract in the end. Even places that want onerous interview processes, 4+ interviews with various teams, that big time commitment. I understand when it’s MANGA companies but every little mom and pop shop wants to do it. A lot of companies have figured out this is a bad approach and don’t bother. From a free market perspective, you’re scaring off the best candidates by creating more obstacles. Simple interview, checking previous experience and references works for every other field. Hospitals don’t ask you to crack open a body before offering you a job. Tech recruiters need to grab a clue.
I'd like to add that, yes, interviews are a two way street. At some point the interviews became so repetitious and mechanical that I excused myself and walked out of an in person interview because I was asked the difference between a process and thread. I'd done 20-30 interviews at this point, I figured it was a troll question and I don't like being low-key insulted. After being asked to convert callbacks to async/await and to describe the JS event loop enough times, it's all just memorization anyway. 90% of the interviews are over Zoom now so technical interviews are completely defeated by ChatGPT going forward.
@@kidmosey I have many years of senior technical experience in another field (analytical chemistry), a science degree and substantial coding portfolio I’m more than happy to share with potential employers. That’s going to tell you a lot more than a pop quiz
@@kidmosey You missed the part where the coding challenge is 8 hours of unpaid work. Multiplied by the number of companies you've applied to. I have experience as a game artist and I don't have to spend 8 hours painting in front of an interviewer. I send them a link to my portfolio and get a yes/no.
@@kidmosey The problem is that even if you do a fine job for a take home test that takes 8 hours to complete, they will nitpick every thing they can find because they have 30 other juniors that do those take home assignment, and likely they will just reject your 8h job in a couple of bullet points after a 10 min look at the code. They don't value your time.
A coding challenge usually is presented in an arbitrary common problem, no one will ask you to create facebook for them. It's meant to evaluate your thinking process and your technical competence without supervision, attention to detail and not the least if you're actually interested in the company.
I've been coding for 20 years and my bias experience is companies that do coding challenges suck. You don't want to work there because it means they don't know SDLC. The three most important skills, problem solving, communication and team work. I never give coding challenges, because it means jack shit and doesn't predict is someone will be able to work effectively in the team.
Also just do a background check lmfao. I can understand you do coding challenges for boot camp, but for a guy out of a school of engineering and with multiple experiences, damn that's rough, I will just dismiss company that does that to me. I don't care. For me it signals a trust issue with this company.
Every single company hiring for a well paid position does a coding challenge, I don't know in which reality do you guys live.. The only point here is which kind of coding challenge are they doing
I disagree. I know companies "consulting firms" that hire people to work for them. You don't do a code test to part of that. You just show you qualified based on your skill, experience and actions. How do you do that ? Well graduates from school will been essential to most companies. As they know the latest and are more or less "coded" to be able to work on the market. Then we have the seniors. They have experience, network connection and probably worked many years for different companies showing their skill and loyalty towards work and ethics. Both groups deserve jobs. Both groups are qualified for your work tasks. The issue coding challenges raises is you will get someone "by luck" that then work maybe 5-7 months then tries to "Jump" to the company they tried doing tests for in the firsts place. If that person got in on his first draw. He more willing stay. As he felt privatized by the company. Rather then drawing a lucky number lottery ticket.
@@IvanGOrtolan I've been given IQ tests and personality tests but never coding challenges, fortunately. I don't really work well in exam-like situations. But that is no reflection on how I work in a team on a daily basis.
The problem with coding challenges is that they’re supposed to be done in 2/4hrs but nothing stops the competition to put in 16hrs, and you’ll have to do that too if you wanna stand a chance.
Alternatively, this is what’s great about them, because speaking from experience, most candidates will not go above and beyond, which gives you an easy opportunity to stand out for a particular job that you really want. In general, there seems to be two attitudes on this topic, coding challenges are either a hassle or an opportunity.
@@cellularmitosis2 As someone who participates in recruitments, I dismiss candidates that go "above and beyond" it is usually a clear indicator that they will lose a fk ton of time elaborating complex over engineered solutions that give 0 to 0.1 value to the actual business (we encourage them to spend the minimum time on the challenge actually) I value pragmatism heavily over code linting skills, specially then we actually give them a short code linting challenge too.
@@Fernando-ry5qt That sounds insane, with all due respect. You're losing out on harder-working candidates who have a better understanding of the software in favor of those who've done the bare minimum. But I also think you're just bullshitting because that's not what linting means whatsoever.
@@colefrankenhoff1428 Nah, "hard working" is not as valuable as most think, it almost always leads to burnout and eventually the performance crashes or leads to frustration due to being the one "who delivers the most" while the rest just get their work done. Imo a better understanding of software leads to focusing on adding value instead of micro optimizations and needless patterns that increase or relocate complexity for no reason, that is what I mean by "linting", but I agree, it is an incorrect use of the term, it is just a local joke we use and got carrier on. A predictable and steady pace with small and traceable changes is more sustainable and usually leads to a better delivery, that also tends to give devs a better mental health and makes them happier, most of my pod goes to the gym and stuff and have no problem meeting their "quota" but we don't pull threads they don't need to. Of course that is my experience, yours might differ a lot, I've worked on "high performance" companies too, but I have no insight on management there.
@@Fernando-ry5qtDon't know how I feel about this, as I like to deliver apps I actually WANT to use and maintain -- meaning that I might put up a lil bit of extra time improving QoL if that does not satisfy my standards and we have time for that. I'm not gonna do overtime for it, though. Is that "going above and beyond"? I'll use my time for my personnal projects/life, though
I refuse all coding challenges in the exact same way as this guy. It works for me because I have a long track record of 4-5 years each at very well known companies and my name is on successful shipped products (game industry). I say “look, I’ve been vetted over and over by these other known companies so I’ve proven myself enough in this way. I’ll talk technical issues all day long but I’m not doing some stupid whiteboard test or live coding “challenge”. Mostly works but you have to be willing to let some go. Also, with 20+ years experience I’d never get through a FAANG company interview…but that also explains why Meta’s metaverse is dogshit. Built by people who pass coding tests but lack real insight and experience.
@@kidmosey Bruh I am sure you have less than 3 years of industry experience. After doing crappy project for years I don't want to spend my free time doing crappy take home assignments. I am still okay with stupid on the fly coding tests though, because they are short, and kinda repetitive, and I've done so many already. They usually pick that comes on top of the google search so.... I could do it by memory. 😀
same here, I have 15 years of professional experience, I don't have my name published but they can call all the previous employers and will talk great about me, so, I always avoid those challenges.
@@kidmosey "people who want to put in the least amount of effort to get a job." hey, boot licker, it has nothing to do with effort, it is about experience and not having to proof yourself, and if you can reject jobs like that is because you know you have the ability to find a job wherever the f you want.
before that, software engineers don't know why Union is needed as long as they are paid more than their peer, ask for more pay when you are forced to be in office first.
I always refuse coding challenges. I've been programming for 20 years and I've also recruited and never needed to give someone a coding challenge. There's so many things wrong with that.
Its mainly because companies copy FAANG and now alot of college grads are willing to do it because there is usually a good paycheck at the end. Coding challenges are so common that I don’t know any tech company that I work at that didn’t give a coding challenge.
How do you check for code style adhesion and high level overviewing and complex resolution process? (serious question, short but complex enough challenges is how I check for that)
@@UGPepe how far the dev sees into the requirements on context and how he attacks complex problems, and you are right, those are engineering concepts, not code linting
5:20 here’s the thing prime. A lot of interviews are not really asking those real life coding stuffs like async, API integration but those leetcode challenges centered around DS algos
@@explosionspin3422 have you done any interviews lately? Leetcode stuff is stressful and stupid. There's usually an easy way of solving the question, like having two pointers advancing at different speeds or halving and reversing the linked list or whatever. And if you don't realise that you're f*kd. They do not resemble everyday work at all. If the day job involves factoring primes or doing manual BFS on a binary tree then there's something off. Also IMHO recursion is best avoided if possible in real life and coding challenges employ it very often.
@@aradipe 100% recursion should be avoided in any and all code where possible. It's an undebugable mess since the only way to know where it fails is just to print EVERYTHING and compare each input to each output until something looks wrong. A lot of professionals, particularly in more academic fields, have a subtle ego that really lends them to overcomplicate things to feel/look smart and it really shows sometimes.
Honestly, I understand the aspect of "they waste too much time and effort of our candidates". I've been in interview processes that took ... no joke ... 4-7 interviews, including a code test which "i passed", just to get rejected. I took other interviews with "coding tests" that had 1-2 weeks of work, just to get rejected afterwards. Many of them. I've got to name more than 3-4 that spend my time so worthlessly that it's just astounding. This has made me burned out of having any job interviews. It's like ... ANOTHER JOB. It's nowhere like that in any other field. You just see the resume, take an interview and boom hired or rejected. In the programming space, we have a major problem. And it's that, the disregard of one's, the candidate's, time, feelings, effort, fatigue, everything. That candidate may already have a job and now you're putting him under pressure for ... a coding interview that lasts a fucking week? It's like ... another job? Just to get rejected because I didn't pass your culture interview? No thanks. Honeslty, I'm ironically one of those guys who may not or may indeed say "NO" to a coding interview. I'm tired, and I think before that I'll have my own business anyways. I'm already at a company that treats me well, and the job interview process was amazing and didn't disregard my time.
@@kidmosey Doctor : "you should eat carrots, they're good for you long term and offer a lot of health benef-" Jackass : "I can't just exclusively eat carrots, what if I'm stuck in the middle of the jungle starving to death but then I find a magical buffet that doesn't have any, should I just starve because I'm not in a situation to get carrots specifically?" Doctor : "What the fuck? I'm just saying it's in your best interest to eat more fucking carrots where are you getting thi-" Jackass : "You're being completely unreasonable, don't you know some people just don't have the option to eat carrots and need to eat the food that they can actually get?" Doctor : "Wh- Yes, obviously there are people who can't always eat healthy, that doesn't mean it's not a good thing to-" Jackass : "bad take, L+ratio, KEKW" Doctor : "... please leave my office."
And never give them the references unless everything is 99% done and you are about to sign. I did that, burned a reference on them, got rejected, and after all that work.. what a waste of time. They have zero respect for your time, yet they reserve the right to kick you out any time for the first 6 months, even after signing the contract. So its not like they are taking any risk at all.
live-coding is the worst for me. i was once given "find if any contiguous elements in the array sum to the target". except, i missed the word contiguous because I also had to talk because the interviewer would not shutup and let me think - not only did i not get the job but was also advised i dont apply for senior roles in general. if i have any advice for someone i would say tell your interviewer "hey, i may go silent while i think, but i'll let you know when i'm ready to talk it through with you" or words to that effect. read the question, do not listen to the question.
If someone told what not to apply for similar roles _elsewhere_ in future I'd tell them they overstepped their mark, their recruiting is shite and walk out. Anyway, what's a CV for it not recruiting? Why do code tests exist if you a CV?
I kinda disagree. The big issue with coding challenges is their size. Make them too small and they're completely useless. Make them too big and now it's disguised free labor. The only form of coding challenges I really like is either showing a past open-source contribution or make a new one on the spot. It gives a very good overview of how people work and with what quality/speed. Also shows how well they respond to reviews/criticism when it happens. For my currrent position I just showed one of my personal open-source projects and how I approach things, even on fun, absolutely cursed personal projects relating to NT Kernel internals. I just avoided the entire conundrum of a coding challenge. The other thing is that as a freelancer, I don't say no, but I **do** warn that I will send an invoice for the coding challenge. If it takes me a day, well, that's a full day of work. Make'em think twice.
Well, here is a tip : Just say that the coding challenge result must be published under the GPL V3 license (I have used it once and it was accepted). If they call back and argue about the license, my plan was to just say something like "well, the entity that pays gets to decide which license the code is subjected to : If I pay with my time, then it is up to me to decide which license the code is subjected to. Obviously, if you pay me to develop this code, it will be you that decide what license will apply." Note: if the company has a problem with the assignment code under GPL V3, it is because if they use the code, they have to make the whole app open source - so it is a very strong indicator that they plan to use the code in production - and it means, they have to pay for it.
Really small ones are great! But be aware that the only thing you're testing is to see if they can code like, at all. Remember that people are nervious and not every programmer is a dapper suave cardinal Rizzle-ieux. Something simple that has a loop and an if in it. That's why FizzBuzz is so ubiquitous. Doesn't matter how filthy the code is.
Prime can't set aside his bias here as someone who recruits and uses challenges to do so. The fact remains, people who value their time, and abilities, are put off by them. Of course you can fill the role with one of the many happy or desperate enough to hop through that hoop. But as a recruiter, dismissing the potential that drop off from the process can be a big problem. Especially if further down the line you are hiring from a smaller pool of candidates for a more niche specialised role. Challenges, in all honesty, are just low effort assessment.
Disagree, the company’s job is not to hire the best person for the job. It is to hire a good enough fit for the company. If you can’t even do a simple algorithm question or at least show your thought process(you don’t need to get the correct solution in some cases, just show your thought process and show potential for growth.) It’s a skill based job, you need to at least show me some skill, it isn’t about the coding challenge itself, it’s about your thought process more so than the challenge itself. At the end of the day, you’re solving a problem, you’re not expected to just fix all the company’s problems in the first months, hell people can still be learning the code base 6 months later but if you don’t show any potential to learn how would I know?
@@fackyoutube8452 "can't even do" is the wrong lens for some potential hires though. Two years ago, when I was still earning freelance money and the market was even better for devs here in Europe, I declined some coding challenges because I was not willing to invest 1k€ into a potential job opportunity. A stronger argument for the practise might be, that it filters out the less committed candidates. But it also filters out the less desperate...
As someone who’s both succeeded and miserably failed some coding interviews, I feel uncomfortable being challenged with solving some leetcode questions because I know I have 50% chance of ridiculing myself. YET, I think the « thanks but no thanks » advice is absolute bullshit. Either you’re good and you accept going through those interviews, or you suck at coding and you’re terrified of getting humiliated so you prefer taking the bet of finding those 5% which won’t ask you to code. There’s no so-called « waste of time », it’s a pathetic excuse, or rather, if you really suck you’ll waste your time going through those interviews you know tou will fail. If you’re good at coding, then you’ve prepared for this kind of challenge which concerns 95% of companies and which is one of the only ways a company can actually test your skills and see how you face a problem. Saying « no » will just show you suck and run away, and they will notice.
What I don't understand is, they even make me go through the silly code challenges after having a degree.... Like they don't do the same tests with medics after they got their degree/certificate...
The last coding challenge I did and multiple interview rounds was when I worked at MS, then I just stopped participating in coding challenges and multiple rounds of interviews, just wasn’t interested. Started my own IT consultancy instead and now I just get shit done and my clients could care less if I could reverse a linked list 😂
I did the exact same journey. Though I must say I don't mind coding something up on-site that takes 20 to 30mins. I will not do take-home exams. I guess all of that is relevant nowadays as I am the one doing the interviewing since I have my own company.
@@TTibbs_ Nothing exciting for me - after about 10 years in the industry I had developed enough expertise and connections to go off on my own and be sure of the fact that I could land clients. Companies in the area knew my name and they knew I was good. I know people who work at the companies that I help either as former colleagues or as people that I have helped when I was working for somebody else. Basically just put your head down and do the grind until you become good enough. Or invent something...
Live coding questions in interviews can heavily favour people with good short term memory that can cram temporary knowledge and take home projects you are essentially asking people to work for free so you would have to weigh up how long that would take and time the candidate has free to invest. Possibly domain specific questions and discussions are more beneficial in an interview and you can usually tell someone's level from this.
you would think so... I've interviewed many devs who failed a simple nested loop question. These devs have 5-8 years of experience. It was supposed to be a warm up question to make the live-coding/whiteboarding process easier and I was surprised how many failed it. Years of experience doesn't mean anything if you've never actually used it to improve yourself. So yes, its necessary to weed out the incompetent devs.
@@darylphuah Or it could be they are nervous and used to using archival code samples that Visual Studio will store for you in your personal repository. Template coding, which I do as well (learning Rust now, by example, and I'm not a coder but a retired business and legal services guy).
@@raylopez99 I understand the nervousness, which is why I start with a basic warm-up question that even a 5 year old learning how to code would be able to solve.
I am a dev with statistics background. I think the analogy is not that good ... perhaps it is more like asking statisticians to talk about ways to derive poisson distribution - won't really use it on-job but it makes sense for a statistician be able to talk through the steps
I did a preliminary interview with a company for a C# position that is also full stack. I told her that I am more of a back end developer but I have done React in the past but am not that fluent in it. And that I do do vanilla JS projects all the time. So, she sent me the test and it was a one hour test for React and one hour for Nodejs. Needless to say, I refused to take the test. I'm a solid developer and know JS/TS really well. But these tests excluded me. If they want a pure React developer they should have just said so at the outset and not wasted my time. I was upfront with them but they weren't with me. I understand that she isn't technical. But man, too many companies want React and React sucks. React is harmful to a company.
React is just reimplementing JSF with DOM manipulation in JavaScript. What could possibly go wrong? (What, an MS dev doesn't like Java Server Faces? Don't worry, Java devs don't either!)
You are exactly right and I am in the same boat. React is absolutely awful and I am willing to work with it provided the company knows I suck at it, but I am not going to take a React code challenge. Bunch of fad followers, companies these days.
@@jboss1073 they almost don't have a choice except to fad follow, since they're just hiring the people that quit from the last company they worked at which used React...so now they hired a bunch of React devs that were unhappy with low quality of life. The natural evolution is that they'll adopt React at that company, since that's what all their devs know. And the wheels keep turning..
I'd rather do a coding challenge than a whiteboard interview, as long it's a reasonable scope. Everything that's roughly travel time (pre-remote) + interview is perfectly fine, but even if it's longer it's more convenient for me. Just don't expect me to solve your current production problems for a whole week.
Cool, you answered the question I posed in another comment: "What about this tactic: give a take home exam that's an actual project at the company that's hiring, so the candidate can do free work? I'm not a coder but I once got the impression this was being done." So apparently software companies are up to this sneaky tactic. When I suspected this was being done with me I declined to do the 'take home' project (and of course the company didn't hire me, but I found a better company later).
@@tylerwaters20 I guess it depends. Copyright is pretty weak protection (though I'm always amazed by these lawsuits that claim a few chords taken by a famous song from another song is copyright infringement, and sometimes the plaintiff wins). Certainly by my book it's unethical.
Yeah we skip them for senior positions in favor of a high level tech talk about architecture and high level design, the kind of talk that obliterate a jr or mid level dev but a senior should be able to sustain (might and will struggle in some areas obviously, but that is expected)
Coding challenges aren't just about data structures. It's just random gay FOO-BAR or leetcode challenges that mean nothing. And they started making them online and time-restricted now too. I've been in the industry for15 years and I get nervous AF when I am given some strange coding challenge to do.
Our process is that we ask candidates to bring some code they wrote themselves (non-trivial) to walk us through. We expect them to be able to communicate the feature or the problem being solved, in detail what the code is doing and how it works, why they wrote it the way that they did, explain the dependencies, how this code is incorporated into the larger system, how they would make a change or react to a suggestion we make. We ask a lot of questions and for good candidates it turns into a great conversation. IMO being able to communicate clearly on all of these points, for code that the candidate wrote themselves, is the top skill to hire for.
I work for a real company. My NDA says I can’t share my real work with anyone. Just ask me to solve a few problems during the day of vacation I’m taking to interview with you.
This is even worse because people have to come up with a problem for you and solve it. I (nor anyone else) should take confidential code from work or customers to apply for what often is the competition.
The article could have been written by me. A couple of years ago I applied for many openings in different positions (talking about work sadly). A lot of companies wanted to talk to me so I needed to travel somewhere only to talk to some HR goat and a management manager that both do not have any idea what I'm supposed to do in the company and just want to see if I'm a "good fit", then they want me to come again and talk to some technical people and usually they want to give me a coding test with unclear requirements that take 12 to 18 hours to complete. If I were looking for work again I'd not go to a company to waste my time with the "good fit" talk and not waste my time with a coding challenge that will take more than 4 hours.
At our little company we don't test proven experts as a requirement to get through the door because that's like asking a professional baseball player that we are trading for to prove that he can hit. We know you can hit that's why we want you! But we would love to experience how you go about your craft. Different, more respectful approach I think.
Not only is your analogy ridiculous, but it's incorrect. Athletes audition for jobs OFTEN. No, Mike Trout won't have to audition, but he has a lifetime of game tape to evaluate. But your random baseball player at the bottom half of the league most definitely auditions. So, no John Carmack probably doesn't do coding challenges because we know what he can do. It's provable without a challenge. But you're nobody so yes you have to because we have no idea what you can and can't do.
Yes to all of this!! I have lost count on so many interviews I've had where I nailed the take home project and let myself shine, but then completely froze and failed when it came to the live whiteboard interview. I can code, or I can socialize; but I can't do both at the same time. That mental shift in problem solving just takes too much out of me.
Also, I am currently not a fan of coding challenges. I can do some pair programming, talk about technical stuff, explain some of my projects, but I will not take any code related task home. Not because I am a busy guy - although that would also be a factor - but because at least once I had the unpleasantness of being asked to "expand on the solution". And then again. The first request was a bit odd, but understandable, cause my code could use some more work. After the second one I thought the company might be trying to get some free code off of me (I know, a bit stupid, but who knows), so I declined. At this point I prefer an hour or two hours long interview with some tasks to do with the ability to talk about them with some other programmer. Much better for me.
Answers my question posed in another comment*. I also noticed this firm seemed to interview a lot of candidates, another red flag. *"What about this tactic: give a take home exam that's an actual project at the company that's hiring, so the candidate can do free work? I'm not a coder but I once got the impression this was being done".
For my current job, I had a brief problem solving quiz to do on my own and spent an hour pair programming a small challenge with the lead dev. I liked the format. It gave me some idea with whom I would be working and established what communicating with him would be like.
I did a take home for a company, submitted the code and heard nothing from then for 2 weeks. Then the recruiter came back to me and said they really liked me but they wanted me to add a couple of things to the project. I said there's no way I'm doing that so I withdrew my application, the whole thing seemed unprofessional and weird.
I think it depends on your situation. If I'm unemployed than of course I'll do the challenge, even if it takes 8-12 hours because it's not like I've got anything better to do. I'm unemployed. On the other hand if I already have a job then I'll just turn down the interview. I'm busy, I'm tired at the end of the day. I don't have the energy to spend hours and hours doing coding challenges from multiple companies just to get to the next level in interview. And even if I did, I know I won't be able to do as good a job as the unemployed competition who has all the time in the world to work on it. It's as you said, it's a two way street. If I'm unemployed I've got to do what it takes to get the job. But if they are trying to pull me away from my current job, then they've got to show me more consideration.
But the best time to interview for a new job is when you already have a job says Prime (I've not found that to be the case, but I was in a different field), so likely you'll fall in the second camp.
I'm not sure if some companies do that, but what about coding challenges where you're analyzing a piece of existing code rather than creating one from scratch?
Easily the thing you’ll be doing 80-90 percent of the time. Hardly ever, will a greenfield project be green-lit, especially in larger organizations that aren’t tech.
The blog poster was right. I have 12+ years of both frontend and back end development experience. Apart from my experience, my passion is software development. I even spend time working on my personal projects in the weekends. I love coding that much. But you know what? I hate coding challenges - especially the despicable whiteboard-like interviews and take-home projects. It's a complete waste of time. You often get ghosted, or the role put on hold, or the interviewers just become overwhelmed by the number of candidates.
@@gintoki_sakata__ Well as a new developer you have a good excuse for "failing". But me as a 20+ year experience... What if I fail to solve their stupid brain teaser? I would look like an absolute idiot!
I don't like typical coding challenges because it is usually not representative of what the company does. I think that is the biggest issue. The company I work at currently has a really janky coding test, but it is also far more representative of reality, and being one of the main people who review them, I can say that it's far harder than expected to just write good code.
I like your point on "let give possibility to candidates in various ways". People sometimes think they have to be best at all of those so it must be said explicitly that they can fail parts of it. This is how I did this when I was part of (the technical) HR process as team lead at a company: - Had a HUGE set of programming challenges - like a small book. I remember we gave like 20 challenges but told its optional! - I just told the candidate "pick any" and do as much as you want or as little. - One of the task was to send in some code you wrote so you could also just pick that if you were so busy - There were really tasks that were easy to do OR if not easy, then at least fast to do - There were tasks that were extreme hard to do: lets say a guy has no university, no real good CV, yet awsome at coding for some reason and I want him/her to shine and have the possibility! - There was technical and regular interview in one sitting with whiteboard stuff [mandatory] - some people we would totally hire just because seeing who they are by CV and very small check was needed [mandatory] Actually showing them over 20 tasks made it sure they understood it is optional extra bonus point. If I would only present 3 they would think "they have to solve all otherwise surely not hired". But anyone understands you cannot expect anyone solving all 20 (but I saw people who solved like 8 and even enjoyed this). All that being said. I multipe times see this viewpoint as the article shows you. Met multiple people with this mindset and actually not even without success and they always had a job. This view mostly is seen when someone was contractor for years or already was at quite high position and yes they can juust pick between jobs. For junior / entry level this is very bad advice though. But you would understand the viewpoint here in the article maybe if I tell you that once we had a totally good hiring process technically, but there was a manager who made the candidate (a very good one) go through all that, even personally meet - then I told him "yeah I want to hire this guy". What the big leader said? Ok, but I will hire when the tender is accepted. They had money in reserve and the guy was awsome, yet he had the guy without any messages or any response for months. Imagine how disgruntled that person became and when finally the tender was accepted and they call him the guy sent them off to hell haha. So maybe this person who write this article went through something similar - and let me tell you that guy I talk about was likely about to be top performer at the company I mention, just the human part of the hiring process was this shit. But I don't blame the technical interview system for this, but the human part of HR that let this happen (or for example starts the hiring so early that there is no support for real hiring yet).
I'm a legal and business services guy with a science background and I can relate that engineers and CSci types can be nerds. So perhaps treating them with 'kid gloves' is appropriate, and give them leeway. Otherwise you might miss the best people since you expect them to conform to some preexisting template.
The reality is 99% of developers are NOT working in some expert-level positions in FAANG/MANGA, where they might need some niche hardcore programming skills. They working for regular small/medium size companies, where most of their work is dealing with mundane, outdated, BS code littered with decades of technical debt and poor decisions. Why am I doing BS coding tests then, when I am not even being tested on what I am going to be doing? It's a complete waste of time. But also, it's just unacceptable that it's a common practice to begin with. We do not ask doctors to do test surgeries in order for them to get hired. Why is tech field the only ones that requires hours of testing for every job application? Absolutely unacceptable.
Doctors have to have rigorously tested professional qualifications that are independently tested and kept up to date. You think you can walk into a hospital and say "I'm Dr TheCredibleHulk, hire me" and they say "OK"? Software developers don't have that. A degree doesn't prove anything, and software developers don't really need degrees anyway. So how are you going to find out if they're good? Give them a coding test.
@@BittermanAndy Look, I get that doctors are vetted differently. It was just a hyperbole on my part. But that doesn't mean that bad doctors don't exist. They absolutely do. And that's the point. There is no way to know for sure, until you see them work. Yet no one is making them do test procedures. Ever. Even though the consequences of a "bad doctor" are so much higher (often lethal). No other job type (that I know of) requires such BS testing. It's ridiculous. And I don't know how it became the norm & why IT people accepted this. It's frankly insulting and my only theory for why it works is because (a) IT people tend to be anti-social, anti-confrontational and incapable of standing up for themselves (b) the jobs pay well enough that people are willing to jump through the BS hoops in the hopes of getting in. It's an absolute joke.
@@TheCredibleHulk you might consider it insulting. I suggest you endure the insult for the hour it takes to do a coding test, because they're not going away, and the reason is simple - there's no other way to make a good hire. I have seen, and it is a widely observed phenomenon not just by me, FAR too many people with years of experience and who talk a good game, but who can. Not. Write. Code. Period. Find that hard to believe? OK. You're one of the good ones. An interviewer doesn't know that. They want to make sure. They will give you a coding test. Call it unacceptable if you like. They're still going to. And if you find a company that doesn't... that's even worse, because they will make bad hires. Guaranteed.
If a company expects a live interview, a take-home AND a technical collaboration, they can just piss off. I don't have time for that shit, just to be ghosted afterwards.
The other problem with these coding interviews is that some of these open jobs don’t actually exist. They are fake postings but they will have no problem saddling you with a weekend take home only to interview you the following week. The kicker is their senior developer didn’t even bother reading your code. If your developer out of college in need of a first gig then you have to do this. But if you got 5 plus years under the best delivering products they can pound sand.
I would say take home coding assignments shouldn't be a thing. Asking someone to do free work before you hire them that would take four to 12 or more hours it's asinine. If you're going to do that pay the person per hour or a day for the assignment.
I'm job hunting right now. Perfectly happy to do algo-based interviews, those can even be a bit enjoyable, but I HATE having to spend 12 hours writing a Jeopardy app. That investment sucks way more if you don't get the job. Imagine applying to 3 places and having 3 different take-homes; your whole week is shot. With algos, at least those interviews are a learning experience that will help me in my next interview. I'd rather do 10 rounds of algo interviews, than do a take-home.
8:15 - I disagree, the company will not "pay me", it basically just shares the profit that I helped them to raise. If they are not willing to meet in the middle, then I can stop helping them raising that profit and go to a company that is. It's perfectly symmetrical situation.
I tried this, but I realized I was getting played. The problem is that most of the time, short offline challenges are a sign that the company has received lots of applicants for the role and they can't be bothered to have a programmer pair with you. And make no mistake about it - you might spend an hour, but almost everyone else much longer than that.
@@DanielMircea Yeah, that's it, challenges are a cheap filter, they don't have to read your Linked-in, don't have to look at your public repos, or past work, just send you a link and forget.
Ironically the coding challenge actually puts of developers that have the ability to say no, which would on average be the better developers. If you really wanted to get good developers it's easy to find them, just don't patronise them with tests when they have a treasure trove of code they have sitting in their repos that can be looked at!
Another reason why live coding challenges are hard: They are not a representation of your work. You just need to grind these questions in order to pass them. Which if you have already 10 yrs in the industry most probably you dont want to spend hours grinding cause you realize that there is other stuff in live apart from computer. When I was 12 I started coding, I could do it daily for 16h for months long without end, cause I had freedom to do what I wanted. Now that I worked about 10 yrs in the industry I realize that there is other stuff in life and I dont want to spend all my life in front of a screen and grinding leetcode questions is really a high investment.
There's a trendy clothing company that my partner got me into, called "SuperDry" that made a fortune doing just that: "Chinglish" and "Japanese English" slogans that make no sense. But it was founded by .... British designers. Genius.
If someone wants me to code for X hours, they must pay me. I don't do take homes. I've had plenty of tech interviews over the years, but the vast majority have been abstract white-board solution finding, or just talking through the approach to an issue. I once went to a tech interview for a purely front end role: after a lovely discussion, they put me in front of a print (!) of SQL statements and tables and asked me to fix them... on paper. The only time I have ever got up and left an interview with a "thank you, this isn't going to work".
"Hey, do this unpaid competition in arbitrary-effort code-monkeying, then maaaybe we will lower ourselves to spend time talking to you." In what kind of negotiation does one side simply make demands and walks away? It signals very strongly that they consider themselves above you and look for the desperate more than the confident.
69 Prime defending take home is some sort of a psychological warfare thing. Let's not pretend that when looking for a job you only ever talk to one company. I sure as fuck am not doing 5-10 take homes that take 8-16 hours lmao.
Taking homework is a secret handshake for sheep. If you are a dog and you want to look like sheep - go on. Real dogs have their own handshake. Never apply your effort and expertise to something that brings no value. Dogs know their worth and they can afford to behave like that. It is just a market and game theory.
Favorite part of the video was defending take home challenges as part of a holistic interview approach by describing two situations where the take home challenge isn't a useful hiring signal LOL I agree that pragmatically what people will tolerate depends on what side of the market has more leverage, but I think take home challenges are best case just a waste of time. Their only plausible utility is to filter out applicants who see the problem statement and say "oh i dont understand this at all im probably way underqualified for the position", but i think there should be more tools on the hiring side to filter out those sorts of candidates in the first place.
I have said the following: "I don't do take home challenges, I don't want to spend 1 days work to solve toy problems, when I can solve real problems that help real people at my current job or be together with my family.. But I understand that you need to asses my abilities, so my suggestion is that I bring my work computer and we take an hour to look at the code, the communication on Jira, GIthub or whatever you want. You just tell me what you want to asses and I will find you an example from what I have been doing and I will be 100 % transparent and we will have a great conversation of it." I have experienced people insisting ones on the take home and dropped out of the process. But if a company waste other peoples time so liberally and can't adjust then I think I dodged a bullet.
Prime letting his Netflix bubble show. Most dev jobs are for web and not for tech companies. Take home and just talking through real world examples is much better in my experience. Pretending to be big tech when you’re not just waste peoples time.
Not all companies have coding challenges. You can definitely find companies that spend time to know the candidate by not using this method which is very stressful for the candidate and "cheap" for the company. I would recommend anyone, if they had the condition to deny it, to only do something that you feel comfortable doing. Do not fall for the pressure of these kind of companies. In the end is exactly those type of companies that will drain out your mental health and leave you with burnout.
The interview process sucks but at the end you get a six figure job and an upper middle class lifestyle. Much rather learn graph algorithms to get a job than have to get a master's degree or something but that's just me.
I am Junior NodeJS dev who's been laid off this April and applying for jobs everyday, had a whiteboard interview which I messed up due to nervousness and this week I did 2 take home coding challenges 1- had to make a CRUD with rate limiting and IP blocking on too many failed attempts on login along with JWT. They gave me 12hrs of time duration and I had it done in about 5.5hrs (took some time in IP blocking on failed attempts) 2- Whatsapp API task sort of like creating webhook (never done that before so I couldn't do the dialogFlow) and guess what, haven't heard anything from both companies
I don't know about the employment situation in the states, but over here in most european countries there are a lot of open developer positions. Currently, if you are a fairly competent dev and send out 7 applications, you can probably freely choose between 5 of them. So declining lengthy coding challenges as well as having other demands is currently very possible here. Again, no idea about the situation in the states.
As a fairly experienced developer, I agree fully to the ‘just say no’ approach. Accepting a code challenge, the type where you need to spend time developing some algorithm or whatnot, proves the recruiter is lazy and/or that they don’t trust you, your credentials or your references. Also, you might be wasting your time to the benefit of the recruiter - since you getting the position is not a given. Time you probably don’t have, if you’re already employed somewhere else. If they drop you because of this, move on with pride. For a developer, there’s always other jobs.
The only coding challenges I do are showing a client what I can do over a weekend starting to build out their project and if they go with me (which they always do) I bill them for the hours. If you have no professional experience and no CS degree, then sure, coding trivia is fine. They do just demonstrate how bad the talent pool is. ChatGTP can pass coding trivia because all the answers are available online. The fundamental problem is that nobody is convinced anything you've done is yours. Even if I pulled up code I've written, the assumption is that I'm lying. Companies are trying to commoditize developers and that has created a wide and shallow talent pool.
The issue isn't that you can go in and do a secret handshake, the issue is most coding challenges are a way for the interviewer to feel smart and ask an absurd question
“You’re also competing against other people” no not really most positions remain unfilled for a long aas time. This is just you stuck in the past thinking the hiring manager is doing you a favor. It’s a similar amount of disrespect as me quizzing the company about the right way to do sdlcs before rendering my judgement upon them. Sounds pretty fking arrogant doesn’t it? That’s because IT IS.
@@browntigerus Half of the words you just said I have no idea what they mean. Shit like this makes me not even want to try to try. Gonna go kill my self brb
Kind of a disconnect going on between big tech companies and just the run of the mill enterprise developer jobs. In the big tech hiring process you have ten people for each job spot, here in the little tech world you have ten companies for every hello world developer.
Do people genuinely just not understand the concept of not constantly taking whatever is offered and actually having some agency in the hiring process? The grand revelation here is "you aren't obligated to work anywhere - the company is interviewing you to see if they want you to work for them, and you are interviewing the company to see if you want to work for them" and this is being treated like it's some insane absurd proposition because "well most companies do it". Yeah, ya wanna know fuckin why? Because people keep mindlessly accepting them without taking agency themselves. It's the same "everyone copies apple" bullshit people use to justify giving Apple money to buy their dogshit products instead of just taking accountability and buying something better. 1 : no, not everyone copies Apple, Samsung didn't use the lightning connector (or some custom proprietary equivilant) and Framework isn't anything like a Macbook and 2 : if people stopped fucking buying Apple products how long do you think people would keep "copying Apple" for anyway? It's this weird powerlessness fantasy that I just flat out don't understand. If you genuinely like Apple products fine, go for it, that's your choice. I obviously don't, but I respect your right to purchase what you think is best for you. However... don't purchase an Apple product and then expect sympathy from me because the product you bought knowing it was locked down, knowing it was unrepairable, and knowing didn't respect you, was locked down, unrepairable, and doesn't respect you. If you don't care about a locked down OS, if you don't care about the walled garden, if you don't care about repairability, and you just want a functional computer that does the job? Go ahead, it's your choice; I'm not forcing you to value those things. Buuuuuut, don't pretend like you don't/didn't have any agency in the situation. I flat out do not understand this weird obscession with powerlessness people seem to have. When I see a problem in my life, I generally just fix it. I don't try to find some company to blame for it so I can get big daddy EU to solve my problems for me. Things like coding challenges, locked down hardware, etc. become prominent because people generally don't care. If people did care, they wouldn't abide by them and subsequently they wouldn't become popular. The only two genuine concessions I can think I've had to make over years and years of doing that is HDR support on linux (which is being worked on mind you) and hardware support on linux. (which even then, is pretty fuckin good frankly) After years and years and years of doing that, those are the only two stand-alone concessions I can ever recall actually making, and frankly neither bother me. Everything else I use or do is either on-par with it's more locked-down alternative or is even just flat out better. I mean christ, borg/vorta and btrfs alone are just obscenely good and make backups a genuine value-add rather than just being a chore you're forced to do out of some self-obligation. 14:20 "in the chat who is looking for a computer? How many of you wouldn't buy a macbook? Oh look at that, a lot more people are looking for computers than would buy a macbook, that means that people have no choice but to buy a macbook!" Fucking obviously people aren't going to deny a coding interview, *_that's the bloody point_* , people, not companies, make the choice to idly accept everything and give up their agency in the situation. For someone so quick to call low-tier off-the-cuff insults ad homeniems and call people pointing out that design methodologies are frequently used in extremely demanding environments appeal to popularities, you literally just flat out did an appeal to popularity AND assumed the conclusion in the premise. The point being made is "people accept coding interviews despite it being bad for them... another reason why I say this is true is that most companies actually are in need of good developers so the developer's being interviewed have more long-term power than it seems and it's quite likely that even a company you thought wouldn't hire you will come back to you later if they realize their hiring practices is what caused an otherwise good candidate to look elsewhere" to which you replied "hey how many of you blindly accept coding interviews? Oh look, it's a lot, that means he's wrong!". Again, that's not only a blatant appeal to popularity, but the only way for that fact to lead to the desired conclusion is to assume the conclusion that those being hired are powerless within the premise that they're willing to take coding interviews whether they like them or not. It couldn't possibly be that lots of people just make similar poor choices (cough cough smoking cough cough drugs cough cough drunk driving cough cough) it must be that everyone is just forced into accepting them and don't have a choice, which conveniently helps me prove my position that people are forced into accepting them and don't have a choice! 15:00 HAHAHAHAHAHAHHAHAH even his fucking rigged as fuck test didn't get the answer he wanted, solid fucking gold. It was genuinely watching him have to transition his point from "this is stupid, you can't just not do the thing!" to "well, uh, yeah, but there are situations where people might need to do the thing because of their specific circumstances" (which is literally what the article is saying) because he realized how much of his own audience disproves his position and it's not actually arguable. (leaving a point behind and admitting you were wrong are not the same things. One is ignoring that you were wrong and hiding it, another is openly admitting it and bringing focus to it)
I disagree, don’t do free labor for anyone. Do you think companies are hiring aerospace engineers and saying “throw together a quick missile for me” no, they get hired of experience and credentials. No real job is ever going to demand you demonstrate your value and ability, because if you haven’t already done that with your resume, why would they even be talking to you?
Honestly , I'm almost 42 years old, and if someone asks me to do a coding challenge I'll not do it . Why? So let me explain this: In my cv says that I work with C/C++ since my 14, at that age I messed also with Pascal, COBOL. In school I dealt with C/C++ once again. I've cybersecurity certification, Cisco certification, I know languages like Python, C#/F#, Typescript, Java,Haskell, APL, etc etc etc. I know network stuff, pentesting, ISO stuff, etc etc etc. More than 2 decades messing with windows, linux , mac. So why should I do a coding challenge when I can make from my head a C program , multiplying mathematicaly two 3 dimensional matrices and converting to one in the final? Just to prove that I can do better than a person with 6 months or 1 one year java training? Oh really you need a test to evaluate that? Nah sorry, I'll not reduce all my knowledge to a crap interview so a person can attest if I can do fucking bubble sort or binary tree in some dumb language with garbage collection,so in the end of all that process I'll be just working with some crap framework like spring , react, angular (or whatever stupid JS crap they pile more nowadays)and do sockets and backend and little or no code per day. 'cause honestly I don't even apply to a job to be frontend or backend developer. Damn in my country companies don't even want guys like me: I'm too old for the job, too young for retirement, and they want meat to the grinder. Even if that meat just know the basics of a single programming language and/or framework with OOP
So what do you want the company to do? Take your word for it? Yeah, let me invest $250k a year into someone's word that they can do what they say they can do.
@@boomshakalaka8567 Do you really need a year for that? Can't you sign an agreement for a month or two? Cause you know, there are people that can pass the interview with flying colors but might turn out to be pretty awful as a part of a team.
@@boomshakalaka8567 1st - does a company need to really compare a fresh noob with a veteran? 2nd - does a company need a year to evaluate me? Not really 3rd - if a company needs to check LinkedIn crap, githubs , leetcodes to hire someone, maybe the company is the problem, why not read well the résumé and certifications? If after that they still want that code crap interview well then 1st they should offer/mention the salary that they want to pay to the person they will hire, and then I decide if I resume my person to that or not. 4th - do you realize that most companies nowadays put a human resource company making interviews and most of them that are making interviews don't even know what a binary, hexadecimal, octal is? Do you realize that some companies put people making interviews that can't even calculate a binary without a fucking TI calculator? Do you realize that a lot of companies hire people that can just code/program cause the fucking IDE auto completes the crap ? 5th - do you realize that most companies in Europe hire programmers even with years of experience and pay little more that the minimum wage income obliged in their respective countries? 6th - do you realize how many years I spent mastering my craft? And how much money I spent? Programming languages, cybersecurity, networks, speaking more than 4 languages without my mother tongue, do you think I'll have to resume myself to some company just cause they have a logo or a share of the IT market? Where do you come from? Mars?
@@Salantor There will always be false positives in any process you put in. It's not intended to be 100% fool proof. But you know what's even less reliable than the test? Your WORD that you can do what you say you can do, which is basically what a resume is. The truth is most companies hire for what they believe you CAN do, not what they anticipate you WILL do. Why? Because most successful projects are so well-documented and have processes in place that a monkey could come in and do most of the work and nobody would notice. But when something goes wrong? Or a requirement comes in that requires intense analysis and CS fundamentals to accomplish? Good luck. Now you're screwed because you have a monkey that's dead weight on the project that you're paying $250k/yr to that you still have to PIP for 60 days or whatever in order to begin the process of termination in fear that they might retaliate by suing you for discrimination.
@@boomshakalaka8567 holy hell if you can’t figure it out in a month, maybe two or three…..you’re an awful “boss” and you don’t actually understand what your staff does.
In all my interviews I listen to "how" they talk. If you're paying attention, you can listen for keywords you want to hear, and based on their tone, know if they are just sprinkling them in forcefully or as a natural part of the discussion. Then for follow-up questions, you ask them to talk more about their experience in "X". It hasn't steered me wrong yet.
I don't do coding challenges because I'm a senior software engineer with 12 years experience lol. I do essentially this and these companies end up begging me to work for them anyways.
this is union type stuff. Nobody likes take homes, so if everybody says no, the companies will stop doing them. But if enough people say "f my fellow workers, I'm gonna get one up on them," then the companies will keep doing them
It's all fun and games until you actually have to work alongside those people who don't want their skills to be tested. I'd never ever take a job in a place that doesn't do rigorous coding interviews in one form or another. I don't enjoy it but it is a necessity. I'd rather work in a place where each new hire increases the output of the whole team, not lowers it.
@@julkiewicz i think there's a difference between take homes, where you're basically expected to work for free for 4-12 hours, and a whiteboarding session or a live coding challenge
I would do a take home but I will never again do a whiteboard challenge. I rarely get the scope of the question instantly which forces me to ask a lot of questions, which makes me feel like a dumb son of a gun or I try to build from the information I gathered which makes me bomb the challenge all together. I've got 15 years of experience and work as an architect, so I'm not useless in any way, but whiteboard challenges requires you to come up with a solution instantly and reality doesn't look like that and sitting in an interview for x amount of time to actually form a working solution to the test just takes time for both me and the interviewer. So TL;DR - Whiteboard challenges can suck it
Coding interviews are damn unreasonable and only ultra high level Devs who can casually walk through these processes think otherwise. I just finished a 6 round interview, took about 15 hours of work, multiple levels of coding challenges, pair programming, and architecture discussion. I succeeded at every level of the interview process but was rejected because I simply didn't do well enough. All the while none of this covered the tech stack the company was hiring me for while I have years of experience within that tech stack, so what was the point of any of it? From my perspective, just to waste my time.
Coding challenges are take-home, not coding interview questions. They are always a complete waste of time by you and an impersonal screening by the recruiting company. 90% of companies don't do a take-home, so most people have leverage not to do the take-home coding challenge.
I think the person who wrote this article is significantly more social than most programmers are and therefore, doesn't realize that we value getting past stage 1 of the interview process. It is because we know we suck at applying to positions and therefore, we prefer to play to our strengths.
I have been a professional software developer now for 3 decades. Worked for more than 20 companies. Not a single one asked me for a coding challenge or take home. Some companies literally hired me on the spot. Why? Because these companies have invested time into listening to the candidates during their interviews they asked the right questions to gauge whether the candidate can replicate high achievements. Unfortunately the article is very poorly written and gives the impression the author is just complaining. But the truth is you won’t necessarily make a good hire even if the candidates kicked ass on their coding assignments.
The best developer we every hired at our startup was a dev who refused to do coding tests. I understand why they are more practical with bigger companies but I found that people who are good a coding tests are just practicing for the interview and most times are not actually good programmers within a company structure. This is just my anecdotal evidence from hiring devs.
Saying that coding challenges are bad is a fair enough position imo, but if your goal is to eliminate them the article you need to write is "stop giving your interviewees coding challenges, do X Y Z instead" and not "you, as someone seeking employment, should not even take 90% of interviews" because that's never going to achieve your goal
Coding challenges are for junior devs. If you have been in the industry for years and have gained many other tech leadership skills, you don’t need to whiteboard a binary search. I’m extremely proficient in software design principles and can code without pressure, but put me in a pressure situation, and I fall apart. Not a reflection of my 16 years in the industry. - dev_is_in_the_details
In Poland IT companies will still ask you to do some hackerrank/leetcode/codility like tasks even if you were on a senior position for the past 10 years.
this. Same for me. But I usually still take them even though I haven't practiced/grinded them, some I fail, some I succeed. I just take it as free practice to expose myself to situations I get nervous in.
I’m an engineer with 5 years of experience . What’s the best way to learn design principles and patterns? I only know one and use it for most of my projects (repository pattern)
@@brookswashere3400 Find a book you like the style of and give it a read. Its actually the best way. Lots of books have challenges at the end of chapters, but focused reading is really the best way to make things stick
One of my first interviews was an impossible coding challenge but with a reason. They gave me 3 hours to implement a ton of different things which you couldn't do if you are human. I submitted what I had and said I'll finish up a few more things (but still be very far away from implementing everything) and send another, final, version over. I was the only one who wanted to put in an extra hour and once I got to the interview we talked about how I would implement the rest. I got the job right on that interview. I think this was by far the best challenge I have been give since I could show I can push a little extra if needed as well as have a technical discussion about I would improve and implement the rest.
I said NO to coding challenges required by Toptal, so they said thank-you-for-playing. Now I interview new candidates who want to join another competing developer network. That unnamed developer network ALSO requires the candidates to perform coding challenges before they get to me interviewing them. I do look at the videos of them solving the challenges just to see what their thought process looks like, but I do not consider the challenges a significant factor for the interview and even tell the candidates that I think the challenges are silly.
Don't want to go through the process, just let them know you are not interested in the job. Do NOT elaborate. if they insist that you do, use the dumb vocabulary that will make them feel warm and fuzzy but gives no information. "I just don't think I would be a good fit."
I've seen too many companies where the take home _is_ the project they need done. They take the best submission, maybe hand it to their internal team to work over, or maybe just use directly. It's one thing if it's a company like netflix, or amazon, where they will have future projects, so even if they don't pay you for the code you submit, if you're good they'll want to keep you around for maintenance and the next project. It's quite another if it's a mid sized business and the "coding challenge" looks very much like what they're supposedly seeking to hire someone to do. In that case, I'll make a pitch document that gives a high level overview of how I would do the project, same as if you were bidding it out as a contract. I may even set it up as a demo service if I think it will be of further use to me if I don't get the job. But if you want me to send you the code, it needs to come either with a firm offer of a job assuming it meets your specified technical requirements, or you need to pay my hourly consulting rate.
If someone expects me to spend 12 hours on a coding challenge, they better pay for it. Also, a better plan against coding challenges - Unionize. Lone-wolfing it wont get anyone anywhere.
The only time I told a company no was when I was informed they had 5 interview stages. 2 coding challenges, 2 technical sessions and a hr type interview. Not only did they have a ridiculous number of stages they said they would take 3-4 weeks between stages to evaluate my responses.
@@andybrice2711 That was an option, but at the time I went for: "Bye, better luck with the next candidate. Hopefully they have months for you to waste. I'll be over here getting another job 😘"
I don’t do coding challenges! Do you ask a lawyer to write an appeal? Or a CEO to write a business plan? You can ask questions and you’ll know what you need to know. I never asked people to code anything, ever. And I only ask for things that we do, so they know what we do and what they can expect and vice versa.
Former chef here, turned programmer. We, in the restaurant industry, do what’s called a _stage_ for line cooks. You come in and work a shift on the fly. Full shift, no training, commute and all, no pay. Chef roles require that you build and serve a tasting menu, _from their kitchen_ before you get hired. That’s like building a side project app for an interview on someone else’s computer, and it could be the primeagen’s computer with the fucked up keyboard.
@@Skovgaard1975 haha yes and no. For the cook role, yeah it’s the same work. But for the chef role you _rarely_ get to build menus. It’s 99% ordering food, making schedules, doing paperwork and covering for deadbeat line cooks. And then it’s 1% building menus.
I think the main important thing is atleast hear out what the challenge is. If it's a pretty small straightforward challenge I don't see anything wrong with it. If it's build a production ready checkout system for an ecommerce site using stripe. Then they may just be trying to get free code so there's some caveats.
One thing to consider is a very low effort low time coding challenge. For thise that pass you wont know too much about them, but youd be surprised how much time you can save from people not able to pass them. Then for those that grt thru do a live case study/ architecture/ coding / whatever session
I'm not an anti-technical coding interview, I think they are important. I will say, my first technical interview was by a company that explicitly said in the notice, that they don't do coding challenges. Another company put my through 10 hours of take home and technical interviews and then ghosted me.
I agree with not accepting coding challenges. Every time I have done one it's always been to do some complex data algorithm leetcode bullshiz. The job? I build pretty user interfaces. Pfft.
I get it, coding challenges are time consuming and intimidating. My current company for a full stack position as they are still pretty small (mainly backend most of the time these days) had a fairly intense process after initial calls and some technical/design based discussions. I had two coding challenges in person + whiteboarding, these were pretty tricky and had some curve balls. Usual Data Structures and Algorithms, took around 1 hr 30 - 2hr. Uni prepped me for these anyways years ago. I only spent about a solid 4 hrs on Leetcode to brush up on stuff I had rarely used, turned out I didn't need half of it. Then I had to spend a few hours on some more real world scenarios that were very specific. Honestly, these were pretty fun as they were so specific to the type of business. Actually made me way more confident in the company I was choosing here. You lose some of that without meeting these people in person and really tackling a problem collaboratively, bouncing ideas and suggestions back and forth. The vibe check is tangible. One of the tasks was frontend (Typescript + React, make a component, connect it to an API, write a test etc.), then some backend work on APIs/core services in Rust and some basic AWS infrastructure as code setup. (VPCs, VPNs, containers, Kubernetes etc). All with a guiding hand and fairly relaxed vibes. I was nervous but after about 30 mins it actually just felt like a normal routine day. I can certainly say, they are not all like that. These were all clearly bare bones, very basic stuff, but it really helped me understand the tech stack in detail and what was expected of me. I much prefer the in-person stuff. Get it done quick and effectively. We recently started using take home tests for prospective candidates on my team of which I now interview and I am already second guessing the merit in them, but the in person stuff always feels right to me. Plus getting a decent free lunch and none stop coffee for a half a day... I'll take that. But I get it, you take what you can get sometimes. I had the benefit of coming from another job but I don't resent coding challenges. The fundamentals still apply and bottom line, they did not know me from Adam. My CV could have been complete BS.
One of only a handful of hot takes from prime I strongly disagree on. I’ve been in both positions of hiring and searching. Most orgs are not MAANG And everything about the coding assessment is frustrating. There’s fantastically better ways to evaluate candidates. I usually chat with them about their projects, interests, anything technical and their passion usually starts to shine through and gives me an idea as to their potential. Though I know it doesn’t work for every role, It gives me someone coachable and a team I can work with. there certainly are niche areas or very large orgs it can be useful on. But most of the time for most mid level roles I don’t thing it’s really needed unless it’s a niche or very particular.
The issue that applying for a job as a developer for "Moms and Pops Lemonade stand", requires no knowledge of A* heuristics, it's just a consultant demeaning a candidate during an interview. 93% of companies are not a FAANG. There are many ways to test a candidate without this douchery.
I don’t accept coding challenges and haven’t for years. I got an offer from Microsoft without doing a coding challenge. Never underestimate the power of a conversation and confidence. You need to impress the hiring manager, not the recruiter.
I've only ever worked as a freelancer, so it's ultra-weird to me the idea that someone would test my abilities. After more than a decade I'm thinking of working as an employee, but I don't know how I would react to any test, I may get offended (and by "I may" I mean "I will"). The irony is that I like leetcode style exercises. Take-home is an hard NO. They're not gonna unload the cost of hiring on me.
To put this into perspective the company is usually spending way more on hiring than the 16h weekend work you put in. At least in Germany I would expect more in the area of 15k€ pre-hiring cost for a dev. Source: Worked at a job-matching company and had some info on the rates and stuff.
@@riliash they are not spending more than the candidate at all, they are offloading the cost on the candidate. If they paid the candidate or they had a paid person from the company not doing anything while the candidate does the test, sure that would be ok. But with this way of doing things, the candidates is basically paying the testing of one candidate (himself) while the company does nothing. This is always a gain for the company while it's a bet for the candidate. I'm not saying that there aren't other costs, I'm analyzing the take-home test in particular. Now I'm gonna follow with what's my opinion on the matter: A take-home test could be tolerable if there were reasonable chances to be hired, I.E. the need to hire was there and pressing on the company. But we live in a very special moment in the economic history of the west. We are turning from a freeish economy to a command economy, and the people behind most companies don't risk anything important if their companies fail, nor many companies are allowed to fail (governments are bailing out left and right, in subtle ways of course). In a market economy the reason companies hire is to make things. If they don't make things, they fail. So, the companies that don't hire reasonably, don't make things and then they fail. But now we are turning into a system where companies still exist even if they don't make things. So, even if they don't hire, they can still go around saying they are hiring and wasting everyone time.
I am a Dev, I have worked for 3 other companies before my current one, and the only coding challenge I have ever had was to look at some legacy code and tell them what was wrong. Other than that 0 coding challenges. My current job I have been there for 3 years and wouldn't leave for the world.
I see a lot of folks agreeing with the article. As an anecdotal counter example, I've seen plenty of folks with a decent looking track record who know enough to talk about things fairly convincingly that absolutely fall apart when confronted with actual work. Sure some of that could be interview nerves, but most of our questions are fairly easy and I've seen plenty of "senior engineers" completely uncomfortable writing code or querying databases
Absolutely. There are lots of chancers in this industry, who can put together a decent-looking CV and can maybe even write FizzBuzz because they know that might come up in an interview, but they can't actually do the job. Mad to think employers should just take candidates' word for it.
I think the problem is not every company is a FAANG, 95% of companies require you to change a label in page as most complex task of the day. If I have to invest time to study leetcode I better do it for a FAANG not for a wannabe Google that at best can copy just the recruiting process.
Agreed. I actually agree with the article and will try it out next time I get approached by a recruiter. Obviously if I am desperate for a job I will do whatever it takes. But if I am just perusing, I’m just gonna say no to the take home challenge. Also I’m gonna advocate for no take homes when I am hiring for my company (which is like once a year so idk)
I once had a hiring team ask me to write PHP in jsfiddle. :/
@@jrhager84 lol
Facts 💯
@@jrhager84 lmfao
As a junior dev that landed my first job about a year ago, about 50% of companies asked for a coding test of some kind. That ranged from a few informal technical questions to full stack mini apps that took 2-5 days to complete. I was unemployed at the time and looking for my first break so that was fine. I did what they asked. Now I have a full time without paid overtime gig, I don’t have time for that kind of commitment. I will decline coding tests going forward. Companies have to understand, you’re asking for 8 hours of work or more. If I’ve applied to 20 companies, half want a take home test. That’s a couple of weeks of coding for close to zero percent chance of signing a contract in the end. Even places that want onerous interview processes, 4+ interviews with various teams, that big time commitment. I understand when it’s MANGA companies but every little mom and pop shop wants to do it. A lot of companies have figured out this is a bad approach and don’t bother. From a free market perspective, you’re scaring off the best candidates by creating more obstacles. Simple interview, checking previous experience and references works for every other field. Hospitals don’t ask you to crack open a body before offering you a job. Tech recruiters need to grab a clue.
I'd like to add that, yes, interviews are a two way street. At some point the interviews became so repetitious and mechanical that I excused myself and walked out of an in person interview because I was asked the difference between a process and thread. I'd done 20-30 interviews at this point, I figured it was a troll question and I don't like being low-key insulted. After being asked to convert callbacks to async/await and to describe the JS event loop enough times, it's all just memorization anyway. 90% of the interviews are over Zoom now so technical interviews are completely defeated by ChatGPT going forward.
@@kidmosey I have many years of senior technical experience in another field (analytical chemistry), a science degree and substantial coding portfolio I’m more than happy to share with potential employers. That’s going to tell you a lot more than a pop quiz
@@kidmosey You missed the part where the coding challenge is 8 hours of unpaid work. Multiplied by the number of companies you've applied to.
I have experience as a game artist and I don't have to spend 8 hours painting in front of an interviewer. I send them a link to my portfolio and get a yes/no.
@@kidmosey The problem is that even if you do a fine job for a take home test that takes 8 hours to complete, they will nitpick every thing they can find because they have 30 other juniors that do those take home assignment, and likely they will just reject your 8h job in a couple of bullet points after a 10 min look at the code. They don't value your time.
A coding challenge usually is presented in an arbitrary common problem, no one will ask you to create facebook for them. It's meant to evaluate your thinking process and your technical competence without supervision, attention to detail and not the least if you're actually interested in the company.
I've been coding for 20 years and my bias experience is companies that do coding challenges suck. You don't want to work there because it means they don't know SDLC. The three most important skills, problem solving, communication and team work. I never give coding challenges, because it means jack shit and doesn't predict is someone will be able to work effectively in the team.
I forgot SDLC is a thing.
Also just do a background check lmfao. I can understand you do coding challenges for boot camp, but for a guy out of a school of engineering and with multiple experiences, damn that's rough, I will just dismiss company that does that to me. I don't care. For me it signals a trust issue with this company.
Every single company hiring for a well paid position does a coding challenge, I don't know in which reality do you guys live.. The only point here is which kind of coding challenge are they doing
I disagree. I know companies "consulting firms" that hire people to work for them. You don't do a code test to part of that. You just show you qualified based on your skill, experience and actions. How do you do that ? Well graduates from school will been essential to most companies. As they know the latest and are more or less "coded" to be able to work on the market. Then we have the seniors. They have experience, network connection and probably worked many years for different companies showing their skill and loyalty towards work and ethics.
Both groups deserve jobs. Both groups are qualified for your work tasks.
The issue coding challenges raises is you will get someone "by luck" that then work maybe 5-7 months then tries to "Jump" to the company they tried doing tests for in the firsts place. If that person got in on his first draw. He more willing stay. As he felt privatized by the company. Rather then drawing a lucky number lottery ticket.
@@IvanGOrtolan
I've been given IQ tests and personality tests but never coding challenges, fortunately. I don't really work well in exam-like situations. But that is no reflection on how I work in a team on a daily basis.
The problem with coding challenges is that they’re supposed to be done in 2/4hrs but nothing stops the competition to put in 16hrs, and you’ll have to do that too if you wanna stand a chance.
Alternatively, this is what’s great about them, because speaking from experience, most candidates will not go above and beyond, which gives you an easy opportunity to stand out for a particular job that you really want.
In general, there seems to be two attitudes on this topic, coding challenges are either a hassle or an opportunity.
@@cellularmitosis2 As someone who participates in recruitments, I dismiss candidates that go "above and beyond" it is usually a clear indicator that they will lose a fk ton of time elaborating complex over engineered solutions that give 0 to 0.1 value to the actual business (we encourage them to spend the minimum time on the challenge actually)
I value pragmatism heavily over code linting skills, specially then we actually give them a short code linting challenge too.
@@Fernando-ry5qt That sounds insane, with all due respect. You're losing out on harder-working candidates who have a better understanding of the software in favor of those who've done the bare minimum. But I also think you're just bullshitting because that's not what linting means whatsoever.
@@colefrankenhoff1428 Nah, "hard working" is not as valuable as most think, it almost always leads to burnout and eventually the performance crashes or leads to frustration due to being the one "who delivers the most" while the rest just get their work done.
Imo a better understanding of software leads to focusing on adding value instead of micro optimizations and needless patterns that increase or relocate complexity for no reason, that is what I mean by "linting", but I agree, it is an incorrect use of the term, it is just a local joke we use and got carrier on.
A predictable and steady pace with small and traceable changes is more sustainable and usually leads to a better delivery, that also tends to give devs a better mental health and makes them happier, most of my pod goes to the gym and stuff and have no problem meeting their "quota" but we don't pull threads they don't need to.
Of course that is my experience, yours might differ a lot, I've worked on "high performance" companies too, but I have no insight on management there.
@@Fernando-ry5qtDon't know how I feel about this, as I like to deliver apps I actually WANT to use and maintain -- meaning that I might put up a lil bit of extra time improving QoL if that does not satisfy my standards and we have time for that. I'm not gonna do overtime for it, though.
Is that "going above and beyond"?
I'll use my time for my personnal projects/life, though
I refuse all coding challenges in the exact same way as this guy. It works for me because I have a long track record of 4-5 years each at very well known companies and my name is on successful shipped products (game industry). I say “look, I’ve been vetted over and over by these other known companies so I’ve proven myself enough in this way. I’ll talk technical issues all day long but I’m not doing some stupid whiteboard test or live coding “challenge”. Mostly works but you have to be willing to let some go. Also, with 20+ years experience I’d never get through a FAANG company interview…but that also explains why Meta’s metaverse is dogshit. Built by people who pass coding tests but lack real insight and experience.
Exactly this! When you have enough clout in the game you can and should use your resume as evidence!
it's FAGMAN btw
@@kidmosey Bruh I am sure you have less than 3 years of industry experience. After doing crappy project for years I don't want to spend my free time doing crappy take home assignments. I am still okay with stupid on the fly coding tests though, because they are short, and kinda repetitive, and I've done so many already. They usually pick that comes on top of the google search so.... I could do it by memory. 😀
same here, I have 15 years of professional experience, I don't have my name published but they can call all the previous employers and will talk great about me, so, I always avoid those challenges.
@@kidmosey "people who want to put in the least amount of effort to get a job." hey, boot licker, it has nothing to do with effort, it is about experience and not having to proof yourself, and if you can reject jobs like that is because you know you have the ability to find a job wherever the f you want.
If software engineers joined together in this, it would absolutely stop.
like some kind of class struggle
If I was already a software engineer i would gladly hold the line, but I'm the one having to break in right now.
Do we want that tho? Isn't it a good way to prove your proficiency?
Unionize tech
before that, software engineers don't know why Union is needed as long as they are paid more than their peer, ask for more pay when you are forced to be in office first.
I always refuse coding challenges. I've been programming for 20 years and I've also recruited and never needed to give someone a coding challenge. There's so many things wrong with that.
Its mainly because companies copy FAANG and now alot of college grads are willing to do it because there is usually a good paycheck at the end. Coding challenges are so common that I don’t know any tech company that I work at that didn’t give a coding challenge.
How do you check for code style adhesion and high level overviewing and complex resolution process? (serious question, short but complex enough challenges is how I check for that)
what's "high-level overviewing" and "complex resolution process"? these don't sound like meaningful programming concepts
@@Fernando-ry5qt code style should be handled in a pre-commit hook.
@@UGPepe how far the dev sees into the requirements on context and how he attacks complex problems, and you are right, those are engineering concepts, not code linting
5:20 here’s the thing prime. A lot of interviews are not really asking those real life coding stuffs like async, API integration but those leetcode challenges centered around DS algos
Yes, but data structures and algos take a few hours to learn
@@explosionspin3422 All 1292 pages of Cormen's book in few hours?
@@explosionspin3422 have you done any interviews lately? Leetcode stuff is stressful and stupid. There's usually an easy way of solving the question, like having two pointers advancing at different speeds or halving and reversing the linked list or whatever. And if you don't realise that you're f*kd. They do not resemble everyday work at all. If the day job involves factoring primes or doing manual BFS on a binary tree then there's something off. Also IMHO recursion is best avoided if possible in real life and coding challenges employ it very often.
@@SuperMopga you don't need to learn all algorithms. You need to learn the one to apply to the project.
@@aradipe 100% recursion should be avoided in any and all code where possible. It's an undebugable mess since the only way to know where it fails is just to print EVERYTHING and compare each input to each output until something looks wrong. A lot of professionals, particularly in more academic fields, have a subtle ego that really lends them to overcomplicate things to feel/look smart and it really shows sometimes.
Honestly, I understand the aspect of "they waste too much time and effort of our candidates".
I've been in interview processes that took ... no joke ... 4-7 interviews, including a code test which "i passed", just to get rejected.
I took other interviews with "coding tests" that had 1-2 weeks of work, just to get rejected afterwards.
Many of them. I've got to name more than 3-4 that spend my time so worthlessly that it's just astounding.
This has made me burned out of having any job interviews. It's like ... ANOTHER JOB. It's nowhere like that in any other field. You just see the resume, take an interview and boom hired or rejected.
In the programming space, we have a major problem. And it's that, the disregard of one's, the candidate's, time, feelings, effort, fatigue, everything. That candidate may already have a job and now you're putting him under pressure for ... a coding interview that lasts a fucking week? It's like ... another job? Just to get rejected because I didn't pass your culture interview?
No thanks. Honeslty, I'm ironically one of those guys who may not or may indeed say "NO" to a coding interview. I'm tired, and I think before that I'll have my own business anyways. I'm already at a company that treats me well, and the job interview process was amazing and didn't disregard my time.
@@kidmosey
Doctor : "you should eat carrots, they're good for you long term and offer a lot of health benef-"
Jackass : "I can't just exclusively eat carrots, what if I'm stuck in the middle of the jungle starving to death but then I find a magical buffet that doesn't have any, should I just starve because I'm not in a situation to get carrots specifically?"
Doctor : "What the fuck? I'm just saying it's in your best interest to eat more fucking carrots where are you getting thi-"
Jackass : "You're being completely unreasonable, don't you know some people just don't have the option to eat carrots and need to eat the food that they can actually get?"
Doctor : "Wh- Yes, obviously there are people who can't always eat healthy, that doesn't mean it's not a good thing to-"
Jackass : "bad take, L+ratio, KEKW"
Doctor : "... please leave my office."
And never give them the references unless everything is 99% done and you are about to sign. I did that, burned a reference on them, got rejected, and after all that work.. what a waste of time.
They have zero respect for your time, yet they reserve the right to kick you out any time for the first 6 months, even after signing the contract.
So its not like they are taking any risk at all.
Coding test of 1-2 weeks of work? You got scammed, mate.
live-coding is the worst for me. i was once given "find if any contiguous elements in the array sum to the target". except, i missed the word contiguous because I also had to talk because the interviewer would not shutup and let me think - not only did i not get the job but was also advised i dont apply for senior roles in general. if i have any advice for someone i would say tell your interviewer "hey, i may go silent while i think, but i'll let you know when i'm ready to talk it through with you" or words to that effect. read the question, do not listen to the question.
your mistake was not saying "MO ICHIDO ITTE KUDESAI!" when they were talking.
If someone told what not to apply for similar roles _elsewhere_ in future I'd tell them they overstepped their mark, their recruiting is shite and walk out.
Anyway, what's a CV for it not recruiting? Why do code tests exist if you a CV?
Based off of this comment, I can see why you did not get hired. You def did not deserve it
I kinda disagree. The big issue with coding challenges is their size. Make them too small and they're completely useless. Make them too big and now it's disguised free labor.
The only form of coding challenges I really like is either showing a past open-source contribution or make a new one on the spot. It gives a very good overview of how people work and with what quality/speed. Also shows how well they respond to reviews/criticism when it happens.
For my currrent position I just showed one of my personal open-source projects and how I approach things, even on fun, absolutely cursed personal projects relating to NT Kernel internals. I just avoided the entire conundrum of a coding challenge. The other thing is that as a freelancer, I don't say no, but I **do** warn that I will send an invoice for the coding challenge. If it takes me a day, well, that's a full day of work. Make'em think twice.
Yap. I developed like 9 apps in the last two months for home assignments and it was enough.
Well, here is a tip : Just say that the coding challenge result must be published under the GPL V3 license (I have used it once and it was accepted). If they call back and argue about the license, my plan was to just say something like "well, the entity that pays gets to decide which license the code is subjected to : If I pay with my time, then it is up to me to decide which license the code is subjected to. Obviously, if you pay me to develop this code, it will be you that decide what license will apply."
Note: if the company has a problem with the assignment code under GPL V3, it is because if they use the code, they have to make the whole app open source - so it is a very strong indicator that they plan to use the code in production - and it means, they have to pay for it.
@@user-zs6ko5rv5u just begining learning now, and never hear of GPL before, real thank you for that
Really small ones are great!
But be aware that the only thing you're testing is to see if they can code like, at all.
Remember that people are nervious and not every programmer is a dapper suave cardinal Rizzle-ieux.
Something simple that has a loop and an if in it. That's why FizzBuzz is so ubiquitous. Doesn't matter how filthy the code is.
@@user-zs6ko5rv5u GPLv3+ Affero or bust baby! :D But that's a great point.
Prime can't set aside his bias here as someone who recruits and uses challenges to do so. The fact remains, people who value their time, and abilities, are put off by them. Of course you can fill the role with one of the many happy or desperate enough to hop through that hoop. But as a recruiter, dismissing the potential that drop off from the process can be a big problem. Especially if further down the line you are hiring from a smaller pool of candidates for a more niche specialised role. Challenges, in all honesty, are just low effort assessment.
Disagree, the company’s job is not to hire the best person for the job. It is to hire a good enough fit for the company. If you can’t even do a simple algorithm question or at least show your thought process(you don’t need to get the correct solution in some cases, just show your thought process and show potential for growth.) It’s a skill based job, you need to at least show me some skill, it isn’t about the coding challenge itself, it’s about your thought process more so than the challenge itself. At the end of the day, you’re solving a problem, you’re not expected to just fix all the company’s problems in the first months, hell people can still be learning the code base 6 months later but if you don’t show any potential to learn how would I know?
@@fackyoutube8452 "can't even do" is the wrong lens for some potential hires though.
Two years ago, when I was still earning freelance money and the market was even better for devs here in Europe, I declined some coding challenges because I was not willing to invest 1k€ into a potential job opportunity.
A stronger argument for the practise might be, that it filters out the less committed candidates.
But it also filters out the less desperate...
As someone who’s both succeeded and miserably failed some coding interviews, I feel uncomfortable being challenged with solving some leetcode questions because I know I have 50% chance of ridiculing myself. YET, I think the « thanks but no thanks » advice is absolute bullshit. Either you’re good and you accept going through those interviews, or you suck at coding and you’re terrified of getting humiliated so you prefer taking the bet of finding those 5% which won’t ask you to code. There’s no so-called « waste of time », it’s a pathetic excuse, or rather, if you really suck you’ll waste your time going through those interviews you know tou will fail. If you’re good at coding, then you’ve prepared for this kind of challenge which concerns 95% of companies and which is one of the only ways a company can actually test your skills and see how you face a problem. Saying « no » will just show you suck and run away, and they will notice.
What I don't understand is, they even make me go through the silly code challenges after having a degree....
Like they don't do the same tests with medics after they got their degree/certificate...
I bet you wont be recruiting next month when your boss finds this :D
The last coding challenge I did and multiple interview rounds was when I worked at MS, then I just stopped participating in coding challenges and multiple rounds of interviews, just wasn’t interested. Started my own IT consultancy instead and now I just get shit done and my clients could care less if I could reverse a linked list 😂
I did the exact same journey. Though I must say I don't mind coding something up on-site that takes 20 to 30mins. I will not do take-home exams. I guess all of that is relevant nowadays as I am the one doing the interviewing since I have my own company.
First off kudos to you both, secondly would either of you be willing to advise how you started your business? 🙏
@@TTibbs_ Nothing exciting for me - after about 10 years in the industry I had developed enough expertise and connections to go off on my own and be sure of the fact that I could land clients. Companies in the area knew my name and they knew I was good. I know people who work at the companies that I help either as former colleagues or as people that I have helped when I was working for somebody else.
Basically just put your head down and do the grind until you become good enough. Or invent something...
@@mithrandirthegrey7644 thank you for the response, all the best 👍🏻
Live coding questions in interviews can heavily favour people with good short term memory that can cram temporary knowledge and take home projects you are essentially asking people to work for free so you would have to weigh up how long that would take and time the candidate has free to invest.
Possibly domain specific questions and discussions are more beneficial in an interview and you can usually tell someone's level from this.
I am not sure if it's a good analogy but I think whiteboard interviews for devs with yrs of exp is like asking statisticians to memorize poisson table
you would think so... I've interviewed many devs who failed a simple nested loop question. These devs have 5-8 years of experience. It was supposed to be a warm up question to make the live-coding/whiteboarding process easier and I was surprised how many failed it. Years of experience doesn't mean anything if you've never actually used it to improve yourself.
So yes, its necessary to weed out the incompetent devs.
@@darylphuah Or it could be they are nervous and used to using archival code samples that Visual Studio will store for you in your personal repository. Template coding, which I do as well (learning Rust now, by example, and I'm not a coder but a retired business and legal services guy).
@@raylopez99 I understand the nervousness, which is why I start with a basic warm-up question that even a 5 year old learning how to code would be able to solve.
I am a dev with statistics background. I think the analogy is not that good ... perhaps it is more like asking statisticians to talk about ways to derive poisson distribution - won't really use it on-job but it makes sense for a statistician be able to talk through the steps
@@tytywuu Agree. Your analogy makes more sense
I did a preliminary interview with a company for a C# position that is also full stack. I told her that I am more of a back end developer but I have done React in the past but am not that fluent in it. And that I do do vanilla JS projects all the time.
So, she sent me the test and it was a one hour test for React and one hour for Nodejs. Needless to say, I refused to take the test. I'm a solid developer and know JS/TS really well. But these tests excluded me. If they want a pure React developer they should have just said so at the outset and not wasted my time. I was upfront with them but they weren't with me. I understand that she isn't technical. But man, too many companies want React and React sucks. React is harmful to a company.
React is just reimplementing JSF with DOM manipulation in JavaScript. What could possibly go wrong?
(What, an MS dev doesn't like Java Server Faces? Don't worry, Java devs don't either!)
You are exactly right and I am in the same boat. React is absolutely awful and I am willing to work with it provided the company knows I suck at it, but I am not going to take a React code challenge. Bunch of fad followers, companies these days.
@@jboss1073 they almost don't have a choice except to fad follow, since they're just hiring the people that quit from the last company they worked at which used React...so now they hired a bunch of React devs that were unhappy with low quality of life. The natural evolution is that they'll adopt React at that company, since that's what all their devs know.
And the wheels keep turning..
why the F was a c# position giving you a javascript test??????
Exact thing happened to me. Never again.
I'd rather do a coding challenge than a whiteboard interview, as long it's a reasonable scope. Everything that's roughly travel time (pre-remote) + interview is perfectly fine, but even if it's longer it's more convenient for me. Just don't expect me to solve your current production problems for a whole week.
Cool, you answered the question I posed in another comment: "What about this tactic: give a take home exam that's an actual project at the company that's hiring, so the candidate can do free work? I'm not a coder but I once got the impression this was being done." So apparently software companies are up to this sneaky tactic. When I suspected this was being done with me I declined to do the 'take home' project (and of course the company didn't hire me, but I found a better company later).
@@raylopez99 that can’t be legal, right?
> as long it's a reasonable scope
They're never reasonable in scope, that's the issue
@@dericksonloss That's genius! Just guessing I suppose the company, when informed of contamination, could extirpate the offending code or rewrite it.
@@tylerwaters20 I guess it depends. Copyright is pretty weak protection (though I'm always amazed by these lawsuits that claim a few chords taken by a famous song from another song is copyright infringement, and sometimes the plaintiff wins). Certainly by my book it's unethical.
The coding challenge seems like overkill, if someone is senior enough.
Yeah we skip them for senior positions in favor of a high level tech talk about architecture and high level design, the kind of talk that obliterate a jr or mid level dev but a senior should be able to sustain (might and will struggle in some areas obviously, but that is expected)
Coding challenges aren't just about data structures. It's just random gay FOO-BAR or leetcode challenges that mean nothing. And they started making them online and time-restricted now too. I've been in the industry for15 years and I get nervous AF when I am given some strange coding challenge to do.
Our process is that we ask candidates to bring some code they wrote themselves (non-trivial) to walk us through. We expect them to be able to communicate the feature or the problem being solved, in detail what the code is doing and how it works, why they wrote it the way that they did, explain the dependencies, how this code is incorporated into the larger system, how they would make a change or react to a suggestion we make. We ask a lot of questions and for good candidates it turns into a great conversation. IMO being able to communicate clearly on all of these points, for code that the candidate wrote themselves, is the top skill to hire for.
this is actually a really good alternative to code challenges
I work for a real company. My NDA says I can’t share my real work with anyone. Just ask me to solve a few problems during the day of vacation I’m taking to interview with you.
Yes!
@@NotThatKraken I guess you have no useful code that you've written in your freetime...
This is even worse because people have to come up with a problem for you and solve it. I (nor anyone else) should take confidential code from work or customers to apply for what often is the competition.
The article could have been written by me. A couple of years ago I applied for many openings in different positions (talking about work sadly). A lot of companies wanted to talk to me so I needed to travel somewhere only to talk to some HR goat and a management manager that both do not have any idea what I'm supposed to do in the company and just want to see if I'm a "good fit", then they want me to come again and talk to some technical people and usually they want to give me a coding test with unclear requirements that take 12 to 18 hours to complete.
If I were looking for work again I'd not go to a company to waste my time with the "good fit" talk and not waste my time with a coding challenge that will take more than 4 hours.
At our little company we don't test proven experts as a requirement to get through the door because that's like asking a professional baseball player that we are trading for to prove that he can hit. We know you can hit that's why we want you! But we would love to experience how you go about your craft. Different, more respectful approach I think.
Except baseball you have a proven track record. Software that isn't necessarily true. Titles are often lies
Titles are often lies, but it is easy to spot when a programmer knows what he is talking about instead of trying to bullshit his way out.
Not only is your analogy ridiculous, but it's incorrect. Athletes audition for jobs OFTEN. No, Mike Trout won't have to audition, but he has a lifetime of game tape to evaluate. But your random baseball player at the bottom half of the league most definitely auditions. So, no John Carmack probably doesn't do coding challenges because we know what he can do. It's provable without a challenge. But you're nobody so yes you have to because we have no idea what you can and can't do.
@@NathanHedglinnot work history bro. I can’t see a person unable to code able to keep several jobs in this field .
@@Macheako try being on the interviewer end of the table... you'd be surprised.
Yes to all of this!! I have lost count on so many interviews I've had where I nailed the take home project and let myself shine, but then completely froze and failed when it came to the live whiteboard interview. I can code, or I can socialize; but I can't do both at the same time. That mental shift in problem solving just takes too much out of me.
Also, I am currently not a fan of coding challenges. I can do some pair programming, talk about technical stuff, explain some of my projects, but I will not take any code related task home. Not because I am a busy guy - although that would also be a factor - but because at least once I had the unpleasantness of being asked to "expand on the solution". And then again. The first request was a bit odd, but understandable, cause my code could use some more work. After the second one I thought the company might be trying to get some free code off of me (I know, a bit stupid, but who knows), so I declined. At this point I prefer an hour or two hours long interview with some tasks to do with the ability to talk about them with some other programmer. Much better for me.
Answers my question posed in another comment*. I also noticed this firm seemed to interview a lot of candidates, another red flag. *"What about this tactic: give a take home exam that's an actual project at the company that's hiring, so the candidate can do free work? I'm not a coder but I once got the impression this was being done".
For my current job, I had a brief problem solving quiz to do on my own and spent an hour pair programming a small challenge with the lead dev. I liked the format. It gave me some idea with whom I would be working and established what communicating with him would be like.
I did a take home for a company, submitted the code and heard nothing from then for 2 weeks. Then the recruiter came back to me and said they really liked me but they wanted me to add a couple of things to the project.
I said there's no way I'm doing that so I withdrew my application, the whole thing seemed unprofessional and weird.
I think it depends on your situation. If I'm unemployed than of course I'll do the challenge, even if it takes 8-12 hours because it's not like I've got anything better to do. I'm unemployed.
On the other hand if I already have a job then I'll just turn down the interview. I'm busy, I'm tired at the end of the day. I don't have the energy to spend hours and hours doing coding challenges from multiple companies just to get to the next level in interview. And even if I did, I know I won't be able to do as good a job as the unemployed competition who has all the time in the world to work on it.
It's as you said, it's a two way street. If I'm unemployed I've got to do what it takes to get the job. But if they are trying to pull me away from my current job, then they've got to show me more consideration.
But the best time to interview for a new job is when you already have a job says Prime (I've not found that to be the case, but I was in a different field), so likely you'll fall in the second camp.
Start a side hussle, it will move some power back to your side plus it's always good to diversify your income streams
I prefer a technical chat, it provides both parties with the opportunity to gauge each others skill level.
I'm not sure if some companies do that, but what about coding challenges where you're analyzing a piece of existing code rather than creating one from scratch?
Of course some companies do that hahaha
Easily the thing you’ll be doing 80-90 percent of the time. Hardly ever, will a greenfield project be green-lit, especially in larger organizations that aren’t tech.
The blog poster was right. I have 12+ years of both frontend and back end development experience. Apart from my experience, my passion is software development. I even spend time working on my personal projects in the weekends. I love coding that much. But you know what? I hate coding challenges - especially the despicable whiteboard-like interviews and take-home projects. It's a complete waste of time. You often get ghosted, or the role put on hold, or the interviewers just become overwhelmed by the number of candidates.
You got 12 years of experience and still got ghosted? My goodness
As a new software developer, stuff like this scare the crap outta me
@@gintoki_sakata__
Well as a new developer you have a good excuse for "failing". But me as a 20+ year experience... What if I fail to solve their stupid brain teaser? I would look like an absolute idiot!
@@Skovgaard1975 😂😂😂 I shouldn't have read this while drinking tea. Now I've burnt myself 💀
@@gintoki_sakata__
Sorry about that!! :)
I don't like typical coding challenges because it is usually not representative of what the company does. I think that is the biggest issue. The company I work at currently has a really janky coding test, but it is also far more representative of reality, and being one of the main people who review them, I can say that it's far harder than expected to just write good code.
I like your point on "let give possibility to candidates in various ways". People sometimes think they have to be best at all of those so it must be said explicitly that they can fail parts of it.
This is how I did this when I was part of (the technical) HR process as team lead at a company:
- Had a HUGE set of programming challenges - like a small book. I remember we gave like 20 challenges but told its optional!
- I just told the candidate "pick any" and do as much as you want or as little.
- One of the task was to send in some code you wrote so you could also just pick that if you were so busy
- There were really tasks that were easy to do OR if not easy, then at least fast to do
- There were tasks that were extreme hard to do: lets say a guy has no university, no real good CV, yet awsome at coding for some reason and I want him/her to shine and have the possibility!
- There was technical and regular interview in one sitting with whiteboard stuff [mandatory]
- some people we would totally hire just because seeing who they are by CV and very small check was needed [mandatory]
Actually showing them over 20 tasks made it sure they understood it is optional extra bonus point. If I would only present 3 they would think "they have to solve all otherwise surely not hired". But anyone understands you cannot expect anyone solving all 20 (but I saw people who solved like 8 and even enjoyed this).
All that being said. I multipe times see this viewpoint as the article shows you. Met multiple people with this mindset and actually not even without success and they always had a job. This view mostly is seen when someone was contractor for years or already was at quite high position and yes they can juust pick between jobs. For junior / entry level this is very bad advice though.
But you would understand the viewpoint here in the article maybe if I tell you that once we had a totally good hiring process technically, but there was a manager who made the candidate (a very good one) go through all that, even personally meet - then I told him "yeah I want to hire this guy". What the big leader said? Ok, but I will hire when the tender is accepted. They had money in reserve and the guy was awsome, yet he had the guy without any messages or any response for months. Imagine how disgruntled that person became and when finally the tender was accepted and they call him the guy sent them off to hell haha. So maybe this person who write this article went through something similar - and let me tell you that guy I talk about was likely about to be top performer at the company I mention, just the human part of the hiring process was this shit. But I don't blame the technical interview system for this, but the human part of HR that let this happen (or for example starts the hiring so early that there is no support for real hiring yet).
I'm a legal and business services guy with a science background and I can relate that engineers and CSci types can be nerds. So perhaps treating them with 'kid gloves' is appropriate, and give them leeway. Otherwise you might miss the best people since you expect them to conform to some preexisting template.
The problem is to make 3 coding challenges stages and pass in all of them I receive a message like: I am sorry, you are out of the process..
The reality is 99% of developers are NOT working in some expert-level positions in FAANG/MANGA, where they might need some niche hardcore programming skills. They working for regular small/medium size companies, where most of their work is dealing with mundane, outdated, BS code littered with decades of technical debt and poor decisions. Why am I doing BS coding tests then, when I am not even being tested on what I am going to be doing? It's a complete waste of time.
But also, it's just unacceptable that it's a common practice to begin with. We do not ask doctors to do test surgeries in order for them to get hired. Why is tech field the only ones that requires hours of testing for every job application? Absolutely unacceptable.
Doctors have to have rigorously tested professional qualifications that are independently tested and kept up to date. You think you can walk into a hospital and say "I'm Dr TheCredibleHulk, hire me" and they say "OK"?
Software developers don't have that. A degree doesn't prove anything, and software developers don't really need degrees anyway. So how are you going to find out if they're good? Give them a coding test.
@@BittermanAndy Look, I get that doctors are vetted differently. It was just a hyperbole on my part. But that doesn't mean that bad doctors don't exist. They absolutely do. And that's the point. There is no way to know for sure, until you see them work. Yet no one is making them do test procedures. Ever. Even though the consequences of a "bad doctor" are so much higher (often lethal).
No other job type (that I know of) requires such BS testing. It's ridiculous. And I don't know how it became the norm & why IT people accepted this. It's frankly insulting and my only theory for why it works is because (a) IT people tend to be anti-social, anti-confrontational and incapable of standing up for themselves (b) the jobs pay well enough that people are willing to jump through the BS hoops in the hopes of getting in. It's an absolute joke.
@@TheCredibleHulk you might consider it insulting. I suggest you endure the insult for the hour it takes to do a coding test, because they're not going away, and the reason is simple - there's no other way to make a good hire. I have seen, and it is a widely observed phenomenon not just by me, FAR too many people with years of experience and who talk a good game, but who can. Not. Write. Code. Period.
Find that hard to believe? OK. You're one of the good ones. An interviewer doesn't know that. They want to make sure. They will give you a coding test. Call it unacceptable if you like. They're still going to. And if you find a company that doesn't... that's even worse, because they will make bad hires. Guaranteed.
If a company expects a live interview, a take-home AND a technical collaboration, they can just piss off. I don't have time for that shit, just to be ghosted afterwards.
The other problem with these coding interviews is that some of these open jobs don’t actually exist.
They are fake postings but they will have no problem saddling you with a weekend take home only to interview you the following week. The kicker is their senior developer didn’t even bother reading your code.
If your developer out of college in need of a first gig then you have to do this. But if you got 5 plus years under the best delivering products they can pound sand.
I would say take home coding assignments shouldn't be a thing. Asking someone to do free work before you hire them that would take four to 12 or more hours it's asinine. If you're going to do that pay the person per hour or a day for the assignment.
I'm job hunting right now. Perfectly happy to do algo-based interviews, those can even be a bit enjoyable, but I HATE having to spend 12 hours writing a Jeopardy app. That investment sucks way more if you don't get the job. Imagine applying to 3 places and having 3 different take-homes; your whole week is shot.
With algos, at least those interviews are a learning experience that will help me in my next interview.
I'd rather do 10 rounds of algo interviews, than do a take-home.
8:15 - I disagree, the company will not "pay me", it basically just shares the profit that I helped them to raise.
If they are not willing to meet in the middle, then I can stop helping them raising that profit and go to a company that is.
It's perfectly symmetrical situation.
I'll do a short take home test, but they better tell me it will take approximately an hour. Any more and I will pass.
I tried this, but I realized I was getting played. The problem is that most of the time, short offline challenges are a sign that the company has received lots of applicants for the role and they can't be bothered to have a programmer pair with you. And make no mistake about it - you might spend an hour, but almost everyone else much longer than that.
Yeah, but they give you an hour and the task really takes more than that. Then what?
@@DanielMircea Yeah, that's it, challenges are a cheap filter, they don't have to read your Linked-in, don't have to look at your public repos, or past work, just send you a link and forget.
Ironically the coding challenge actually puts of developers that have the ability to say no, which would on average be the better developers. If you really wanted to get good developers it's easy to find them, just don't patronise them with tests when they have a treasure trove of code they have sitting in their repos that can be looked at!
Another reason why live coding challenges are hard: They are not a representation of your work. You just need to grind these questions in order to pass them. Which if you have already 10 yrs in the industry most probably you dont want to spend hours grinding cause you realize that there is other stuff in live apart from computer. When I was 12 I started coding, I could do it daily for 16h for months long without end, cause I had freedom to do what I wanted. Now that I worked about 10 yrs in the industry I realize that there is other stuff in life and I dont want to spend all my life in front of a screen and grinding leetcode questions is really a high investment.
I LOVE being asked to code from a 10+ paragraph prompt read by a NON NATIVE ENGLISH SPEAKER
Nothing “unclear” about those interactions 😂❤
So true
There's a trendy clothing company that my partner got me into, called "SuperDry" that made a fortune doing just that: "Chinglish" and "Japanese English" slogans that make no sense. But it was founded by .... British designers. Genius.
@@raylopez99 lolol 😂
I have said no to a take home more than once after passing the live code challenge and white board session, because I had other options.
If someone wants me to code for X hours, they must pay me. I don't do take homes. I've had plenty of tech interviews over the years, but the vast majority have been abstract white-board solution finding, or just talking through the approach to an issue. I once went to a tech interview for a purely front end role: after a lovely discussion, they put me in front of a print (!) of SQL statements and tables and asked me to fix them... on paper. The only time I have ever got up and left an interview with a "thank you, this isn't going to work".
"Hey, do this unpaid competition in arbitrary-effort code-monkeying, then maaaybe we will lower ourselves to spend time talking to you."
In what kind of negotiation does one side simply make demands and walks away? It signals very strongly that they consider themselves above you and look for the desperate more than the confident.
69
Prime defending take home is some sort of a psychological warfare thing. Let's not pretend that when looking for a job you only ever talk to one company.
I sure as fuck am not doing 5-10 take homes that take 8-16 hours lmao.
Taking homework is a secret handshake for sheep. If you are a dog and you want to look like sheep - go on. Real dogs have their own handshake. Never apply your effort and expertise to something that brings no value. Dogs know their worth and they can afford to behave like that. It is just a market and game theory.
Favorite part of the video was defending take home challenges as part of a holistic interview approach by describing two situations where the take home challenge isn't a useful hiring signal LOL
I agree that pragmatically what people will tolerate depends on what side of the market has more leverage, but I think take home challenges are best case just a waste of time. Their only plausible utility is to filter out applicants who see the problem statement and say "oh i dont understand this at all im probably way underqualified for the position", but i think there should be more tools on the hiring side to filter out those sorts of candidates in the first place.
I have said the following: "I don't do take home challenges, I don't want to spend 1 days work to solve toy problems, when I can solve real problems that help real people at my current job or be together with my family.. But I understand that you need to asses my abilities, so my suggestion is that I bring my work computer and we take an hour to look at the code, the communication on Jira, GIthub or whatever you want. You just tell me what you want to asses and I will find you an example from what I have been doing and I will be 100 % transparent and we will have a great conversation of it."
I have experienced people insisting ones on the take home and dropped out of the process. But if a company waste other peoples time so liberally and can't adjust then I think I dodged a bullet.
Prime letting his Netflix bubble show. Most dev jobs are for web and not for tech companies. Take home and just talking through real world examples is much better in my experience. Pretending to be big tech when you’re not just waste peoples time.
Not all companies have coding challenges. You can definitely find companies that spend time to know the candidate by not using this method which is very stressful for the candidate and "cheap" for the company. I would recommend anyone, if they had the condition to deny it, to only do something that you feel comfortable doing.
Do not fall for the pressure of these kind of companies. In the end is exactly those type of companies that will drain out your mental health and leave you with burnout.
Prime has been living in his ivory tower for too long.
The interview process sucks but at the end you get a six figure job and an upper middle class lifestyle. Much rather learn graph algorithms to get a job than have to get a master's degree or something but that's just me.
^-- good mentality
In US maybe the rest of the world don't get not even close six figure salary
@@mat822 you're right
Yea basically there is a game to be played. Some people choose to play the game, some choose to pretend it doesn’t exist and whine about it.
Guys in India feel the same way 😂❤
Ill take your coding challenge if you take my corporate pathologies exam.
I am Junior NodeJS dev who's been laid off this April and applying for jobs everyday, had a whiteboard interview which I messed up due to nervousness and this week I did 2 take home coding challenges
1- had to make a CRUD with rate limiting and IP blocking on too many failed attempts on login along with JWT. They gave me 12hrs of time duration and I had it done in about 5.5hrs (took some time in IP blocking on failed attempts)
2- Whatsapp API task sort of like creating webhook (never done that before so I couldn't do the dialogFlow)
and guess what, haven't heard anything from both companies
I don't know about the employment situation in the states, but over here in most european countries there are a lot of open developer positions. Currently, if you are a fairly competent dev and send out 7 applications, you can probably freely choose between 5 of them.
So declining lengthy coding challenges as well as having other demands is currently very possible here. Again, no idea about the situation in the states.
The thing is, you don't EVER go to any company, the companies come to you, this is the market. You don't get hired by applying to a job.
As a fairly experienced developer, I agree fully to the ‘just say no’ approach. Accepting a code challenge, the type where you need to spend time developing some algorithm or whatnot, proves the recruiter is lazy and/or that they don’t trust you, your credentials or your references. Also, you might be wasting your time to the benefit of the recruiter - since you getting the position is not a given. Time you probably don’t have, if you’re already employed somewhere else.
If they drop you because of this, move on with pride. For a developer, there’s always other jobs.
The only coding challenges I do are showing a client what I can do over a weekend starting to build out their project and if they go with me (which they always do) I bill them for the hours.
If you have no professional experience and no CS degree, then sure, coding trivia is fine. They do just demonstrate how bad the talent pool is. ChatGTP can pass coding trivia because all the answers are available online. The fundamental problem is that nobody is convinced anything you've done is yours. Even if I pulled up code I've written, the assumption is that I'm lying.
Companies are trying to commoditize developers and that has created a wide and shallow talent pool.
The issue isn't that you can go in and do a secret handshake, the issue is most coding challenges are a way for the interviewer to feel smart and ask an absurd question
“You’re also competing against other people” no not really most positions remain unfilled for a long aas time. This is just you stuck in the past thinking the hiring manager is doing you a favor.
It’s a similar amount of disrespect as me quizzing the company about the right way to do sdlcs before rendering my judgement upon them. Sounds pretty fking arrogant doesn’t it?
That’s because IT IS.
i think this is highly position and location dependent take
i just got done interviewing 50 people for a position and only 1 of them gets it.
8 hours for basic data structures? Primeagen has totally lost the ability to put himself in someone elses shoes
It's for the take home project genius. Lol. You're not getting basic data structures as a take home.
@@browntigerus Half of the words you just said I have no idea what they mean. Shit like this makes me not even want to try to try. Gonna go kill my self brb
@@browntigerus That's an insane amount.
Kind of a disconnect going on between big tech companies and just the run of the mill enterprise developer jobs.
In the big tech hiring process you have ten people for each job spot, here in the little tech world you have ten companies for every hello world developer.
Do people genuinely just not understand the concept of not constantly taking whatever is offered and actually having some agency in the hiring process? The grand revelation here is "you aren't obligated to work anywhere - the company is interviewing you to see if they want you to work for them, and you are interviewing the company to see if you want to work for them" and this is being treated like it's some insane absurd proposition because "well most companies do it". Yeah, ya wanna know fuckin why? Because people keep mindlessly accepting them without taking agency themselves.
It's the same "everyone copies apple" bullshit people use to justify giving Apple money to buy their dogshit products instead of just taking accountability and buying something better. 1 : no, not everyone copies Apple, Samsung didn't use the lightning connector (or some custom proprietary equivilant) and Framework isn't anything like a Macbook and 2 : if people stopped fucking buying Apple products how long do you think people would keep "copying Apple" for anyway? It's this weird powerlessness fantasy that I just flat out don't understand. If you genuinely like Apple products fine, go for it, that's your choice. I obviously don't, but I respect your right to purchase what you think is best for you. However... don't purchase an Apple product and then expect sympathy from me because the product you bought knowing it was locked down, knowing it was unrepairable, and knowing didn't respect you, was locked down, unrepairable, and doesn't respect you. If you don't care about a locked down OS, if you don't care about the walled garden, if you don't care about repairability, and you just want a functional computer that does the job? Go ahead, it's your choice; I'm not forcing you to value those things. Buuuuuut, don't pretend like you don't/didn't have any agency in the situation.
I flat out do not understand this weird obscession with powerlessness people seem to have. When I see a problem in my life, I generally just fix it. I don't try to find some company to blame for it so I can get big daddy EU to solve my problems for me. Things like coding challenges, locked down hardware, etc. become prominent because people generally don't care. If people did care, they wouldn't abide by them and subsequently they wouldn't become popular. The only two genuine concessions I can think I've had to make over years and years of doing that is HDR support on linux (which is being worked on mind you) and hardware support on linux. (which even then, is pretty fuckin good frankly) After years and years and years of doing that, those are the only two stand-alone concessions I can ever recall actually making, and frankly neither bother me. Everything else I use or do is either on-par with it's more locked-down alternative or is even just flat out better. I mean christ, borg/vorta and btrfs alone are just obscenely good and make backups a genuine value-add rather than just being a chore you're forced to do out of some self-obligation.
14:20 "in the chat who is looking for a computer? How many of you wouldn't buy a macbook? Oh look at that, a lot more people are looking for computers than would buy a macbook, that means that people have no choice but to buy a macbook!" Fucking obviously people aren't going to deny a coding interview, *_that's the bloody point_* , people, not companies, make the choice to idly accept everything and give up their agency in the situation. For someone so quick to call low-tier off-the-cuff insults ad homeniems and call people pointing out that design methodologies are frequently used in extremely demanding environments appeal to popularities, you literally just flat out did an appeal to popularity AND assumed the conclusion in the premise. The point being made is "people accept coding interviews despite it being bad for them... another reason why I say this is true is that most companies actually are in need of good developers so the developer's being interviewed have more long-term power than it seems and it's quite likely that even a company you thought wouldn't hire you will come back to you later if they realize their hiring practices is what caused an otherwise good candidate to look elsewhere" to which you replied "hey how many of you blindly accept coding interviews? Oh look, it's a lot, that means he's wrong!". Again, that's not only a blatant appeal to popularity, but the only way for that fact to lead to the desired conclusion is to assume the conclusion that those being hired are powerless within the premise that they're willing to take coding interviews whether they like them or not. It couldn't possibly be that lots of people just make similar poor choices (cough cough smoking cough cough drugs cough cough drunk driving cough cough) it must be that everyone is just forced into accepting them and don't have a choice, which conveniently helps me prove my position that people are forced into accepting them and don't have a choice!
15:00 HAHAHAHAHAHAHHAHAH even his fucking rigged as fuck test didn't get the answer he wanted, solid fucking gold.
It was genuinely watching him have to transition his point from "this is stupid, you can't just not do the thing!" to "well, uh, yeah, but there are situations where people might need to do the thing because of their specific circumstances" (which is literally what the article is saying) because he realized how much of his own audience disproves his position and it's not actually arguable. (leaving a point behind and admitting you were wrong are not the same things. One is ignoring that you were wrong and hiding it, another is openly admitting it and bringing focus to it)
I disagree, don’t do free labor for anyone. Do you think companies are hiring aerospace engineers and saying “throw together a quick missile for me” no, they get hired of experience and credentials. No real job is ever going to demand you demonstrate your value and ability, because if you haven’t already done that with your resume, why would they even be talking to you?
Honestly , I'm almost 42 years old, and if someone asks me to do a coding challenge I'll not do it . Why?
So let me explain this:
In my cv says that I work with C/C++ since my 14, at that age I messed also with Pascal, COBOL. In school I dealt with C/C++ once again. I've cybersecurity certification, Cisco certification, I know languages like Python, C#/F#, Typescript, Java,Haskell, APL, etc etc etc.
I know network stuff, pentesting, ISO stuff, etc etc etc. More than 2 decades messing with windows, linux , mac. So why should I do a coding challenge when I can make from my head a C program , multiplying mathematicaly two 3 dimensional matrices and converting to one in the final? Just to prove that I can do better than a person with 6 months or 1 one year java training? Oh really you need a test to evaluate that?
Nah sorry, I'll not reduce all my knowledge to a crap interview so a person can attest if I can do fucking bubble sort or binary tree in some dumb language with garbage collection,so in the end of all that process I'll be just working with some crap framework like spring , react, angular (or whatever stupid JS crap they pile more nowadays)and do sockets and backend and little or no code per day. 'cause honestly I don't even apply to a job to be frontend or backend developer. Damn in my country companies don't even want guys like me: I'm too old for the job, too young for retirement, and they want meat to the grinder. Even if that meat just know the basics of a single programming language and/or framework with OOP
So what do you want the company to do? Take your word for it? Yeah, let me invest $250k a year into someone's word that they can do what they say they can do.
@@boomshakalaka8567 Do you really need a year for that? Can't you sign an agreement for a month or two? Cause you know, there are people that can pass the interview with flying colors but might turn out to be pretty awful as a part of a team.
@@boomshakalaka8567 1st - does a company need to really compare a fresh noob with a veteran?
2nd - does a company need a year to evaluate me? Not really
3rd - if a company needs to check LinkedIn crap, githubs , leetcodes to hire someone, maybe the company is the problem, why not read well the résumé and certifications? If after that they still want that code crap interview well then 1st they should offer/mention the salary that they want to pay to the person they will hire, and then I decide if I resume my person to that or not.
4th - do you realize that most companies nowadays put a human resource company making interviews and most of them that are making interviews don't even know what a binary, hexadecimal, octal is? Do you realize that some companies put people making interviews that can't even calculate a binary without a fucking TI calculator?
Do you realize that a lot of companies hire people that can just code/program cause the fucking IDE auto completes the crap ?
5th - do you realize that most companies in Europe hire programmers even with years of experience and pay little more that the minimum wage income obliged in their respective countries?
6th - do you realize how many years I spent mastering my craft? And how much money I spent? Programming languages, cybersecurity, networks, speaking more than 4 languages without my mother tongue, do you think I'll have to resume myself to some company just cause they have a logo or a share of the IT market? Where do you come from? Mars?
@@Salantor There will always be false positives in any process you put in. It's not intended to be 100% fool proof. But you know what's even less reliable than the test? Your WORD that you can do what you say you can do, which is basically what a resume is. The truth is most companies hire for what they believe you CAN do, not what they anticipate you WILL do. Why? Because most successful projects are so well-documented and have processes in place that a monkey could come in and do most of the work and nobody would notice. But when something goes wrong? Or a requirement comes in that requires intense analysis and CS fundamentals to accomplish? Good luck. Now you're screwed because you have a monkey that's dead weight on the project that you're paying $250k/yr to that you still have to PIP for 60 days or whatever in order to begin the process of termination in fear that they might retaliate by suing you for discrimination.
@@boomshakalaka8567 holy hell if you can’t figure it out in a month, maybe two or three…..you’re an awful “boss” and you don’t actually understand what your staff does.
In all my interviews I listen to "how" they talk. If you're paying attention, you can listen for keywords you want to hear, and based on their tone, know if they are just sprinkling them in forcefully or as a natural part of the discussion. Then for follow-up questions, you ask them to talk more about their experience in "X". It hasn't steered me wrong yet.
I don't do coding challenges because I'm a senior software engineer with 12 years experience lol. I do essentially this and these companies end up begging me to work for them anyways.
this is union type stuff. Nobody likes take homes, so if everybody says no, the companies will stop doing them. But if enough people say "f my fellow workers, I'm gonna get one up on them," then the companies will keep doing them
It's all fun and games until you actually have to work alongside those people who don't want their skills to be tested. I'd never ever take a job in a place that doesn't do rigorous coding interviews in one form or another. I don't enjoy it but it is a necessity. I'd rather work in a place where each new hire increases the output of the whole team, not lowers it.
@@julkiewicz i think there's a difference between take homes, where you're basically expected to work for free for 4-12 hours, and a whiteboarding session or a live coding challenge
I would do a take home but I will never again do a whiteboard challenge. I rarely get the scope of the question instantly which forces me to ask a lot of questions, which makes me feel like a dumb son of a gun or I try to build from the information I gathered which makes me bomb the challenge all together. I've got 15 years of experience and work as an architect, so I'm not useless in any way, but whiteboard challenges requires you to come up with a solution instantly and reality doesn't look like that and sitting in an interview for x amount of time to actually form a working solution to the test just takes time for both me and the interviewer. So TL;DR - Whiteboard challenges can suck it
Coding interviews are damn unreasonable and only ultra high level Devs who can casually walk through these processes think otherwise.
I just finished a 6 round interview, took about 15 hours of work, multiple levels of coding challenges, pair programming, and architecture discussion. I succeeded at every level of the interview process but was rejected because I simply didn't do well enough. All the while none of this covered the tech stack the company was hiring me for while I have years of experience within that tech stack, so what was the point of any of it? From my perspective, just to waste my time.
"no matter how you feel there's someone who wants it more"
cool, they can have it, i'll pass
Coding challenges are take-home, not coding interview questions. They are always a complete waste of time by you and an impersonal screening by the recruiting company. 90% of companies don't do a take-home, so most people have leverage not to do the take-home coding challenge.
100% agree on the Emoji thing and the amount of Emojis used on LinkedIn turns the each and every post into massive joke...
I think the person who wrote this article is significantly more social than most programmers are and therefore, doesn't realize that we value getting past stage 1 of the interview process. It is because we know we suck at applying to positions and therefore, we prefer to play to our strengths.
I have been a professional software developer now for 3 decades. Worked for more than 20 companies. Not a single one asked me for a coding challenge or take home. Some companies literally hired me on the spot. Why? Because these companies have invested time into listening to the candidates during their interviews they asked the right questions to gauge whether the candidate can replicate high achievements.
Unfortunately the article is very poorly written and gives the impression the author is just complaining. But the truth is you won’t necessarily make a good hire even if the candidates kicked ass on their coding assignments.
The best developer we every hired at our startup was a dev who refused to do coding tests.
I understand why they are more practical with bigger companies but I found that people who are good a coding tests are just practicing for the interview and most times are not actually good programmers within a company structure.
This is just my anecdotal evidence from hiring devs.
Saying that coding challenges are bad is a fair enough position imo, but if your goal is to eliminate them the article you need to write is "stop giving your interviewees coding challenges, do X Y Z instead" and not "you, as someone seeking employment, should not even take 90% of interviews" because that's never going to achieve your goal
Coding challenges are for junior devs. If you have been in the industry for years and have gained many other tech leadership skills, you don’t need to whiteboard a binary search. I’m extremely proficient in software design principles and can code without pressure, but put me in a pressure situation, and I fall apart. Not a reflection of my 16 years in the industry. - dev_is_in_the_details
In Poland IT companies will still ask you to do some hackerrank/leetcode/codility like tasks even if you were on a senior position for the past 10 years.
this. Same for me. But I usually still take them even though I haven't practiced/grinded them, some I fail, some I succeed. I just take it as free practice to expose myself to situations I get nervous in.
I’m an engineer with 5 years of experience . What’s the best way to learn design principles and patterns? I only know one and use it for most of my projects (repository pattern)
@@brookswashere3400 Find a book you like the style of and give it a read. Its actually the best way. Lots of books have challenges at the end of chapters, but focused reading is really the best way to make things stick
It’s not to say that I won’t do them, I’ll just curse Amazon afterwards 😂.
Hey Prime, riddle me this: when was the last time you actually interviewed as a candidate somewhere and how was it like? I am curious. Thanks.
One of my first interviews was an impossible coding challenge but with a reason. They gave me 3 hours to implement a ton of different things which you couldn't do if you are human. I submitted what I had and said I'll finish up a few more things (but still be very far away from implementing everything) and send another, final, version over. I was the only one who wanted to put in an extra hour and once I got to the interview we talked about how I would implement the rest. I got the job right on that interview.
I think this was by far the best challenge I have been give since I could show I can push a little extra if needed as well as have a technical discussion about I would improve and implement the rest.
I said NO to coding challenges required by Toptal, so they said thank-you-for-playing. Now I interview new candidates who want to join another competing developer network. That unnamed developer network ALSO requires the candidates to perform coding challenges before they get to me interviewing them. I do look at the videos of them solving the challenges just to see what their thought process looks like, but I do not consider the challenges a significant factor for the interview and even tell the candidates that I think the challenges are silly.
Don't want to go through the process, just let them know you are not interested in the job. Do NOT elaborate. if they insist that you do, use the dumb vocabulary that will make them feel warm and fuzzy but gives no information. "I just don't think I would be a good fit."
I've seen too many companies where the take home _is_ the project they need done. They take the best submission, maybe hand it to their internal team to work over, or maybe just use directly. It's one thing if it's a company like netflix, or amazon, where they will have future projects, so even if they don't pay you for the code you submit, if you're good they'll want to keep you around for maintenance and the next project. It's quite another if it's a mid sized business and the "coding challenge" looks very much like what they're supposedly seeking to hire someone to do. In that case, I'll make a pitch document that gives a high level overview of how I would do the project, same as if you were bidding it out as a contract. I may even set it up as a demo service if I think it will be of further use to me if I don't get the job. But if you want me to send you the code, it needs to come either with a firm offer of a job assuming it meets your specified technical requirements, or you need to pay my hourly consulting rate.
I've been binge watching Prime since I found him and it seems every video starts with "I FORGOT TO TURN OFF ALERTS!!!"
i forgot.............. every time
If someone expects me to spend 12 hours on a coding challenge, they better pay for it. Also, a better plan against coding challenges - Unionize. Lone-wolfing it wont get anyone anywhere.
unionize, crazy
but the idea of paying someone to do the take home, i can get behind that.
The only time I told a company no was when I was informed they had 5 interview stages. 2 coding challenges, 2 technical sessions and a hr type interview. Not only did they have a ridiculous number of stages they said they would take 3-4 weeks between stages to evaluate my responses.
"So… Are you going to pay me for that time?"
@@andybrice2711 That was an option, but at the time I went for: "Bye, better luck with the next candidate. Hopefully they have months for you to waste. I'll be over here getting another job 😘"
I don’t do coding challenges! Do you ask a lawyer to write an appeal? Or a CEO to write a business plan? You can ask questions and you’ll know what you need to know. I never asked people to code anything, ever. And I only ask for things that we do, so they know what we do and what they can expect and vice versa.
Former chef here, turned programmer. We, in the restaurant industry, do what’s called a _stage_ for line cooks. You come in and work a shift on the fly. Full shift, no training, commute and all, no pay.
Chef roles require that you build and serve a tasting menu, _from their kitchen_ before you get hired. That’s like building a side project app for an interview on someone else’s computer, and it could be the primeagen’s computer with the fucked up keyboard.
At least you do something you'd do for real, unlike dumb brain teasers.
@@Skovgaard1975 haha yes and no. For the cook role, yeah it’s the same work. But for the chef role you _rarely_ get to build menus. It’s 99% ordering food, making schedules, doing paperwork and covering for deadbeat line cooks. And then it’s 1% building menus.
I think the main important thing is atleast hear out what the challenge is. If it's a pretty small straightforward challenge I don't see anything wrong with it. If it's build a production ready checkout system for an ecommerce site using stripe. Then they may just be trying to get free code so there's some caveats.
True, that last thought seems to run a lot in the other comments.
One thing to consider is a very low effort low time coding challenge. For thise that pass you wont know too much about them, but youd be surprised how much time you can save from people not able to pass them. Then for those that grt thru do a live case study/ architecture/ coding / whatever session
I'm not an anti-technical coding interview, I think they are important.
I will say, my first technical interview was by a company that explicitly said in the notice, that they don't do coding challenges. Another company put my through 10 hours of take home and technical interviews and then ghosted me.
I agree with not accepting coding challenges.
Every time I have done one it's always been to do some complex data algorithm leetcode bullshiz.
The job? I build pretty user interfaces. Pfft.
I get it, coding challenges are time consuming and intimidating.
My current company for a full stack position as they are still pretty small (mainly backend most of the time these days) had a fairly intense process after initial calls and some technical/design based discussions.
I had two coding challenges in person + whiteboarding, these were pretty tricky and had some curve balls. Usual Data Structures and Algorithms, took around 1 hr 30 - 2hr. Uni prepped me for these anyways years ago.
I only spent about a solid 4 hrs on Leetcode to brush up on stuff I had rarely used, turned out I didn't need half of it.
Then I had to spend a few hours on some more real world scenarios that were very specific. Honestly, these were pretty fun as they were so specific to the type of business. Actually made me way more confident in the company I was choosing here. You lose some of that without meeting these people in person and really tackling a problem collaboratively, bouncing ideas and suggestions back and forth. The vibe check is tangible.
One of the tasks was frontend (Typescript + React, make a component, connect it to an API, write a test etc.), then some backend work on APIs/core services in Rust and some basic AWS infrastructure as code setup. (VPCs, VPNs, containers, Kubernetes etc). All with a guiding hand and fairly relaxed vibes. I was nervous but after about 30 mins it actually just felt like a normal routine day. I can certainly say, they are not all like that. These were all clearly bare bones, very basic stuff, but it really helped me understand the tech stack in detail and what was expected of me.
I much prefer the in-person stuff. Get it done quick and effectively. We recently started using take home tests for prospective candidates on my team of which I now interview and I am already second guessing the merit in them, but the in person stuff always feels right to me.
Plus getting a decent free lunch and none stop coffee for a half a day... I'll take that. But I get it, you take what you can get sometimes. I had the benefit of coming from another job but I don't resent coding challenges. The fundamentals still apply and bottom line, they did not know me from Adam. My CV could have been complete BS.
This sounds like he kinda wants to just be given the job based on resume experience…. No test no assessment.
One of only a handful of hot takes from prime I strongly disagree on. I’ve been in both positions of hiring and searching. Most orgs are not MAANG
And everything about the coding assessment is frustrating. There’s fantastically better ways to evaluate candidates. I usually chat with them about their projects, interests, anything technical and their passion usually starts to shine through and gives me an idea as to their potential.
Though I know it doesn’t work for every role, It gives me someone coachable and a team I can work with.
there certainly are niche areas or very large orgs it can be useful on. But most of the time for most mid level roles I don’t thing it’s really needed unless it’s a niche or very particular.
The issue that applying for a job as a developer for "Moms and Pops Lemonade stand", requires no knowledge of A* heuristics, it's just a consultant demeaning a candidate during an interview. 93% of companies are not a FAANG. There are many ways to test a candidate without this douchery.
I don’t accept coding challenges and haven’t for years. I got an offer from Microsoft without doing a coding challenge. Never underestimate the power of a conversation and confidence. You need to impress the hiring manager, not the recruiter.
I've only ever worked as a freelancer, so it's ultra-weird to me the idea that someone would test my abilities.
After more than a decade I'm thinking of working as an employee, but I don't know how I would react to any test, I may get offended (and by "I may" I mean "I will"). The irony is that I like leetcode style exercises. Take-home is an hard NO. They're not gonna unload the cost of hiring on me.
To put this into perspective the company is usually spending way more on hiring than the 16h weekend work you put in. At least in Germany I would expect more in the area of 15k€ pre-hiring cost for a dev.
Source: Worked at a job-matching company and had some info on the rates and stuff.
@@riliash
they are not spending more than the candidate at all, they are offloading the cost on the candidate.
If they paid the candidate or they had a paid person from the company not doing anything while the candidate does the test, sure that would be ok.
But with this way of doing things, the candidates is basically paying the testing of one candidate (himself) while the company does nothing. This is always a gain for the company while it's a bet for the candidate.
I'm not saying that there aren't other costs, I'm analyzing the take-home test in particular.
Now I'm gonna follow with what's my opinion on the matter:
A take-home test could be tolerable if there were reasonable chances to be hired, I.E. the need to hire was there and pressing on the company. But we live in a very special moment in the economic history of the west. We are turning from a freeish economy to a command economy, and the people behind most companies don't risk anything important if their companies fail, nor many companies are allowed to fail (governments are bailing out left and right, in subtle ways of course).
In a market economy the reason companies hire is to make things. If they don't make things, they fail. So, the companies that don't hire reasonably, don't make things and then they fail. But now we are turning into a system where companies still exist even if they don't make things. So, even if they don't hire, they can still go around saying they are hiring and wasting everyone time.
I am a Dev, I have worked for 3 other companies before my current one, and the only coding challenge I have ever had was to look at some legacy code and tell them what was wrong. Other than that 0 coding challenges.
My current job I have been there for 3 years and wouldn't leave for the world.
I see a lot of folks agreeing with the article. As an anecdotal counter example, I've seen plenty of folks with a decent looking track record who know enough to talk about things fairly convincingly that absolutely fall apart when confronted with actual work. Sure some of that could be interview nerves, but most of our questions are fairly easy and I've seen plenty of "senior engineers" completely uncomfortable writing code or querying databases
Absolutely. There are lots of chancers in this industry, who can put together a decent-looking CV and can maybe even write FizzBuzz because they know that might come up in an interview, but they can't actually do the job. Mad to think employers should just take candidates' word for it.