3 ms·
>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 candidate
by 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.
- pjc50 5y ago> 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. The more traditional professions do their own gatekeeping and have one, standard, set of exams to take. Once you've taken them you don't need to re-do them for every interview, although you may need to stay current. In programming, every employer has a different, non re-usable, exam.
- disgruntledphd2 5y ago> The more traditional professions do their own gatekeeping and have one, standard, set of exams to take. Once you've taken them you don't need to re-do them for every interview, although you may need to stay current. > In programming, every employer has a different, non re-usable, exam. True for DS too. This is the real problem. Like, if I could take a bunch of re-usable take homes and then not have to worry about this for a few years, I would totally do that as it's honestly so frustrating to have to do mostly the same crap over and over again.
- cableshaft 5y agoIt's not a single 90 minute test. It's a 90 minute test for every place you interview with, every single job cycle. This most recent round I had to find time for at least seven of these tests on my own time, and several I did a ~30 minute practice test ahead of time to get familiar with whatever subpar web-based coding experience I'd have to deal with for the test (I think there was 5 different ones I dealt with). I could have done three other tests as well, but those were >90 minutes and I just couldn't find the time or energy for it (Amazon's requires a dedicated 2.5 hours, for example). So effectively I spent roughly 12 hours just taking exams for my last job search, and basically let the house go to shit for a solid month since I was working on them (or prepping for interviews, or doing other things asked of me) basically every night, and had zero energy on the weekends to catch up much beyond a couple load of dishes. Compared to having to take a single bar exam, one time, that you cram for in the prime of your textbook knowledge, I'd take that any time.