8 ms·
I feel like there’s a lot of room for improvement in the hiring process. Does hiring people who have the luxury or lack of life to grind LeetCode problems sever
by cebert 5y ago
I feel like there’s a lot of room for improvement in the hiring process. Does hiring people who have the luxury or lack of life to grind LeetCode problems several hours every day for weeks or months really get you the best candidates? In what other industries are the bars so high. Take a chance on folks and don’t be afraid to part ways if it doesn’t work out.
- likeabbas 5y agoOnce you grind once or twice, the next times you practice it comes back quicker. The first time I interviewed it took me 3 months of daily morning prep and one weekend day of studying. This time, it took me one month of only a few days a week practicing to get back into it. Granted I’m single and young and Hopefully will never have kids.
- Aeolun 5y ago> This time, it took me one month of only a few days a week practicing Are you joking? I’m married with kids, and I’ll be lucky if I have a few hours of the week to myself. I don’t mind that, but beyond my unwillingness to grind leetcode in general, I wouldn’t have any time to so effectively. The selection bias for young, smart, single unattached people is incredible. Of course, that’s exactly the kind of people that’ll happily stay and work overtime too, so I can see why a company would like the idea of that.
- likeabbas 5y agoI mean, if you don’t have time to look for another job then don’t. If you need another job then you need find time to make yourself hire-able. There are plenty of jobs that don’t require leet code but if you want the cushy FAANG jobs, then you need to put in the effort. If That means spending less time with your kids and hiring a nanny, then do it.
- heartbreak 5y ago> If that means spending less time with your kids and hiring a nanny For their sake, please don't. It's not worth it.
- askafriend 5y agoDon’t be hyperbolic. It’s just a month of prep. No one is advocating for child neglect. This is for a job that pays 450k+. Do you really think you’re gonna be handed it with no effort? If you want a mediocre job, then there’s plenty of companies you can get hired at with little effort and you’re welcome to work at those companies. Just don’t be surprised if you make 1/3 to 1/4th the comp.
- Aeolun 5y ago> This is for a job that pays 450k+. Do you really think you’re gonna be handed it with no effort? Because it’s a job that pays that amount, I kind of expect their hiring process to select for the best. But it doesn’t. It selects for those with an abundance of time on their hands.
- emodendroket 5y agoThe nature of the job is that there is always something new for you to keep up with. Even if you never change jobs it's hard to see how you avoid devoting any time to studying anything. Perhaps you could sneak some catch-up in, say, over lunch, or on the train, or something along those lines.
- Aeolun 5y agoBecause my current job is great, I study on the job. That does not extend to grinding leetcode though. Or maybe it does, I haven’t tried.
- pmkiwi 5y agoNot only you do not have much time for yourself but it is often not really "quality" time. It rarely comes in uninterrupted blocks of say 90' or 2h. It is going to be 20 minutes there, 40 minutes there, and maybe 30 minutes over there. I strongly agree with your point about bias. When I was not a father, I spent a lot of time studying (and passing) AWS certs and reached the point I got all of them. Now? I am happy when I read few blog posts each week and, very often, it takes several attempts to be able to fully watch a single re:Invent session. "Yes, but you are reading and replying to comments on HN!" Indeed, with my baby in my arms haha!
- tjpnz 5y agoYes it does get easier, I've been through this process many many times. But what if you do end up having kids or suddenly find yourself having to care for a parent? You're really screwed then. I'm slowly coming around to the view that the widely accepted process is ageist. Whether that's deliberate or an externality I'm still undecided.
- nowherebeen 5y agoI think you hit the nail on the head. Most people with responsibilities simply don't have the time to do this. And as you get more senior, you realize how little knowing algorithms has with day to day work. They are filtering for young engineers that don't know any better and have the time to leetcode. These engineers are less likely to question management and they have already shown their time is cheap.
- joelbluminator 5y agoI also dont have much time. But I have big financial buffers as I assume most 30-40 year old developers do. We can afford to not work 3-4 months while learning and looking for a new job. And if thats not possible surely we can squeeze in 20 minutes daily doing leetcode on the job? Most of us don't actually put in 9 hours of actual work. Don't get me wrong I hate this process. I am just saying it can be done when you have kids.
- askafriend 5y agoYour assumptions are right. The people downvoting are mostly just salty.
- disgruntledphd2 5y agoSo, having just had a kid, perhaps I can give some insight (from my perspective, at least). Every minute I spend on take-homes (oh dear lord the take-homes) is a minute I'm dumping the childcare responsibilities on my wife. And she heads out to work, so I do a bunch of childcare in the mornings/evenings. Then I also have a full-time job. Like, unless I want to stop sleeping I don't have a whole lot of time to do this stuff. I just (mostly) finished one and it was because my wife took the baby out to meet other mums. The worst part is that I have lots and lots of work online, plenty of GH repos and a bunch of really selective companies on my CV. And yet still every time I need to prove that I can in fact call read.csv and do a bunch of data manipulation/analysis. And I love doing this work. I can only imagine what this is like for someone for whom it's just a career (which is totally fine, tbh).
- ren_engineer 5y agothe point is you are still wasting your time and your life on stuff that has no practical value for 95% of developers. You are spending a huge chunk of time learning skills that have no use beyond the interview itself.
- gtaylor 5y agoThis. And there are plenty of high paying companies that will respect your time better than FAANG.
- tibbar 5y agoI disagree with this - here's my experience. I started training for competitive programming in college. One semester in particular I spent 20-30 hours a week training, and some of my grades suffered as a result. But I got a lot better at algorithms. Years later, what skills do I remember from college? Very little, but I definitely remember the algorithms. Further, converting specifications to code and general problem solving became noticeably easier after this period. As a result, the jobs I've had have centered on problem-solving and interesting technical challenges. I'm always surprised when an idea from that period suddenly proves itself useful. Also, even if training for algorithms questions was purely a matter of signaling with no positive externalities - it's actually a much faster and easier process than getting another degree, which is a common alternative. TL;DR If you put in the time, it can absolutely change your trajectory in ways that you might like a lot. If you don't, how will you know?
- carnitine 5y agoYeah and then you get paid 350k at 24. I’m glad we’re in an industry where you can become incredibly well paid by spending a few months studying for a standardised, albeit unofficial, test. Much better than the CFA investment bankers, accountants, law school grads, etc.
- xupybd 5y agoWow I wish I was paid anything near that. I don't know how many outside of the US get that well paid.
- jimmaswell 5y agoI've never had any very difficult technical questions at my interviews, just basic familiarity with the domain. The hard part seems to be getting the interview at all. Out of college I sent out to hundreds of places and got one interview offering an abysmal 30k, then at some point got contacted out of the blue by a recruiter for a big company. The email was so badly written (different font faces/colors/sizes, bad English) I thought it was possibly a scam, but then that turned out to be an easy and very well-paying job for someone starting out. Then the next place said I was the best candidate they ever interviewed because I answered some basic language questions clearly. My conclusion has been that hiring in this field is just confusing and nonsensical, and you never know what you're gonna get, but you probably don't need to touch anything like leetcode unless you're shooting for Google. I don't think these cheesy interview questions like writing a circular linked list or implementing Conway's Game of Life should even take any "grinding" if you have good fundamentals. I almost feel shorted that I never got a question like how I would measure the depth of the ocean with an apple, as the article parodies it, since I find that kind of thing fun and interesting.
- leetcrew 5y agothere are plenty of software companies that have pretty easy interview processes. once you get that far, you basically just have to avoid talking your way out of the job. but they don't pay way above the median engineer salary either. the big n tech companies have the same problem as harvard, more or less. way more qualified people apply than they have headcount for, so how can they pick efficiently? I don't enjoy leetcode interviews, but for these extremely competitive positions, I can't think of a reasonable alternative I'd prefer. you know in advance what topics you'll be tested on, and the interview prep applies to several different companies you might be interested in. I'd much rather do that than prepare a bunch of "tell me about a time when..." answers for each company's supposed values. > In what other industries are the bars so high? pretty much anything where you can start at $200k with a bachelor's degree? honestly what other jobs like that have a lower bar?
- cehrlich 5y agoSometimes I wonder about the how much better leetcode interviews are at picking the best candidate than a random number generator would be (obviously after doing all the other interview stuff other than the leetcode)
- disgruntledphd2 5y agoThis is a great question, more generally what is the expected improvement in the quality of hire conditional on some selection method. The famous Hunter & Schmidt meta-analysis suggests that only work-sample tests and IQ tests work well enough to use, but it's an old set of studies so hard to know if it still applies.
- emodendroket 5y agoBut isn't this a work sample test?
- disgruntledphd2 5y agoSortof. From my vague remembrance of this study, the closer the work sample was to the actual work the better it predicted job performance. So debugging or implementing some small stuff against a real application would perform better than leetcode. TBH, I think the original point of algorithms was to act as disguised intelligence test, which are tricky to use in US hiring.
- Kranar 5y ago>Does hiring people who have the luxury or lack of life to grind LeetCode problems several hours every day for weeks or months really get you the best candidates? In my experience running a company, it's the lowest risk way to hire competent software developers and given just how expensive and risky it is to hire people, it's worth it. Most competent developers don't mind spending 60-90 minutes answering technical questions/leetcode questions in order to get a high paying job so there's not much pressure on me/my company to not do it. >In what other industries are the bars so high. Almost all professionals working in fields that pay as high as software development have higher bars, whether it's law, medicine, finance. It's a myth that only software developers have to go through a kind of technical challenge in order to get a job. If anything, spending 90 minutes to solve basic technical questions and getting a 6 figure salary as a reward is among the least demanding and most objective systems that exist among professionals. >Take a chance on folks and don’t be afraid to part ways if it doesn’t work out. So I should hire someone who is likely leaving an existing job to come work for me for 3 months during which time I pay them, all for the sake of what? What is the benefit of doing this other than appealing to HN/reddit's hatred of technical interviews? When I first started my company back in 2009, I was a young, naive 24 year old entrepreneur and decided to listen to reddit about hiring and running a company. Valve was all the rage back then and they had this culture of no management, anyone could work on anything they wanted, do whatever they want etc etc... and so I decided I would run my company the same way. I had this idealism that if I hired people who seemed motivated, enthusiastic about technology, good well rounded people then nothing could go wrong and my company would be sure to succeed. Well... boy was I wrong and it almost drove my company to failure. Running a company is absolutely damn difficult, managing people is incredibly hard and honestly frustrating and time consuming. People are not intrinsically bad or evil, but people do respond to incentives and if you just pay people, even smart and well intentioned people without having rigorous expectations as well as solid management and structure then they converge to a point where they basically do nothing productive. My idealism that smart, hard working and good people would be able to be productive without needing to be prodded in the right direction, without the need for management and structure, without reviews, timelines, goals etc... failed quite miserably. I thought hiring "good" well rounded people would mean they would be able to learn things on their own, find ways to advance their career through technical books, or attending conferences or other ways of self-learning but that never happened. Instead the people I hired spent an inordinate amount of time on various social media, Facebook, Youtube, playing flash games. The amount of distractions that exist all of which are competing for your attention and to pull you away from being productive are enormous. Especially if you work in a technical field where you have to solve problems and be creative, you can find yourself with the equivalent of "writer's block" and end up spending a great deal of time just procrastinating and doing nothing. That's what I ended up observing among the people I hired. They were not bad people or lazy, but they just couldn't fight off distractions. In hindsight it should have been obvious, I mean if all it took to run a successful company was hiring "good" people then then every company would be successful because really, almost everyone is a good person and I rarely encounter bad people. But being a good person doesn't make you competent and what a business needs first and foremost are competent people working within a system that has a proper incentive structure in place to reward their skillset. I continue to give people technical interviews because while I might miss out on some strong candidates, even some of the strongest candidates... I am effectively guaranteed that whoever I do hire will meet the minimum standard needed to do well at my company and that risk/reward ratio makes it worth it. If only because people who are good at technical challenges are people willing to put in the time and have the kind of discipline needed to prepare for them instead of people who think they're owed a job, that kind of self dedication is genuinely hard to find. So at this point I have "lived long enough to see myself become the enemy" to quote the Dark Knight. My company does a lot of the things that HN/reddit says are bad, like we have technical interviews, we have hard deadlines, we have management yaddi yadda... and the end result is we now have a productive and successful company that grows year over year. There are just so many risks that one takes in running a tech company that the additional risk that comes with hiring people on anything other than their technical competency is not one worth taking.
- egfx 5y agoI'm clinically diagnosed with ADD/ADHD and this has stopped me cold as a developer. It's been a very tough road for me and Iv'e been searching for work for over 2 years. Although I land a countless amount of interviews and second and third rounds, I'm never able to pass the coderpad or leetcode stage. This is because for me to work, I need to be in my own head and in my own space. I produce work but the idea of someone watching me over a computer screen while I work on some problem that is frankly much simpler then the things Iv'e had to tackle to build what I build - zaps my brain. And I just can't do anything about it. I'm in a technically hot market, frontend developer with years of angular and react. I made full-scale projects over years like gif.com.ai, qKast, LiveLink and 2fb.me and I'm even working on a new secret project in Jamstack. None of my actual work and what I know really matters to ultimately land the job. Richard Branson is my inspiration. I heard he started Virgin because he basically had to and maybe I must be an entrepreneur for the same reason. Because all I have is my projects and not a job that lets me do my best work.
- tartoran 5y agoIf you hate leetcode refuse to apply for jobs that require it. I’ve never had a leetcode session and never will, yet I switch jobs every couple of years (im more on the backend side, not sure how much that matters). There are other ways to land a job. Recommendations from past coworkers seems to be a good way for me so it’s good to be in some kind of network. Perhaps your unemployment gap is what holds you back. You should do something about that as in obfuscate it somehow to not look like a redflag when someone is glancing at your resume. Also don’t mention your ADHD regardless of how good a coder you are.
- brailsafe 5y agoYou must be rather lucky. Being in a similar position to parent, almost all companies will do leetcode or leetcode style homework now. It's too cheap and easy for them not to, when you cna literally just pay HackerRank to generate a test for you and send it to thousands of people.
- the_only_law 5y ago> If you hate leetcode refuse to apply for jobs that require it. The problem is outside the big companies everyone knows, it’s hard to get documentation on a companies interview process. Glassdoor exists, but often is little help, as there’s a complete lack of information about the actual process, it seems too included only people who didn’t get an offer complaining about something that may or may not apply to you, etc. Even the sites made specifically for aggregating those sorts of companies often fail. I’ve looked at them and seen stuff like “X company, but only very specific team” or “Y company”, but when people talk about them nowadays, they seem to have switched to utilizing leetcode or similar for screening or something. And god forbid you out any filters on.
- buitreVirtual 5y agoIt's not even a problem of a bar being too high. It's a problem of using the wrong bar. The intellectual laziness of using metrics like leetcode-like performance for hiring instead of evaluating applicable technical and soft skills blows my mind.
- jjav 5y ago> It's not even a problem of a bar being too high. It's a problem of using the wrong bar. This is the key observation. It's mostly ok for the bar being too high, though it means companies miss out on good people. But when the interview bar is in a random place completely unrelated to the job skills required, that is the fundamental problem in our industry.
- PretzelFisch 5y agoWell then you get system design and that is becoming the new racket. I don't know what FANG is going to do long term because the quality of experianced enginieers with the time to play a game of "LeetCode and System design" can not be very high. At some point I would assume they need to make things simple and teach dedicated resources to interview.
- wildrhythms 5y agoCompanies don't want to train people anymore. Companies want junior developers who perform like veterans, that they can pay junior developer wages.
- xupybd 5y agoYeah and get angry when juniors perform like juniors.
- the_only_law 5y agoHell, I’m convinced for a lot of things, they wouldn’t even need to trains decent developer. My very first job was working with tech I was completely unfamiliar with and had really never touched as the lone developer. Yet, I managed to be productive very quickly in the short contract it was. Turns out that a lot of the programming languages and frameworks used in “real life” are pretty damn similar and it takes a little bit of reading the docs to be able to figure out. Yet nowadays I can’t even get an interview because my resume isn’t plastered with talk of k8s and every other cloud/infra software the company used once.