6 ms·
There is no shortage of devs. Companies should be more concerned about toxic gatekeeping leetcode culture, fixing the hiring process, and being honest about th
by codalan 4y ago
There is no shortage of devs.
Companies should be more concerned about toxic gatekeeping leetcode culture, fixing the hiring process, and being honest about the positions they need filled. Most devs never have to invert a binary tree in their career (although it might be fun to do after hours), so why is it even an interview question?
Additionally, a lot of companies go into interviews unprepared. I remember one interview where I was asked to code on a shared screen, but the keyboard and mouse were broken. The interviewers were completely checked out, spending half the time on their phones.
Another time, I was emailed a Word document with the coding question. The doc had some kind of macro that would phone home when you opened it. The only reason I noticed is because I opened it in Open Office on my Linux machine.
If you do that to a candidate right at the beginning, why would you think they'd want to work for you?
- immigrantheart 4y agoIsn't Leetcode process is working as intended? You won't want to work with someone that does Leetcode (since you described the process as toxic), and I prefer to work with someone that knows their DS&A and space/time complexity. I'd say it is working as intended.
- isubasinghe 4y agoI don't want to work with someone who doesn't know basic DS&A too. But why care about this stuff for basic JSON shifting positions? Accenture asked me to solve a leetcode hard, I closed the web page. On top of that, these interviews don't really represent what your actual problem solving skills are. I know plenty of smart people who chose not to interview for big n simply because of the interview process.
- immigrantheart 4y agoThere is a middle ground where we can go from "I don't know anything about DS&A" to "lets invent the next approximate algorithm for this scheduling problem we have". Even for basic JSON shifting, low effort high gain in performance matters. Do you want to work with someone that doesn't know to use a hashmap instead of nested for loop just for a simple memory vs space tradeoff? Software engineering is complex enough, and code reviews aren't foolproof way of making sure you aren't screwing up, and nobody has time for detailed code review anyway. You end up have to trust the coder most of the time. You have to trust the coder is competent, smart, and responsible enough and not just "not my job" mentality.
- isubasinghe 4y agoYes but leetcode test beyond the performance implications of data structures. They require you to practice those kind of problems. Counter point: Performance is mostly irrelevant for like 90% of companies in this day and age. Even iterating through a million items is quite fast.
- codalan 4y agoExactly. Just because someone doesn't want to waste their time studying up for irrelevant leetcode problems doesn't mean they don't know DS&A, either. It more important to know when and why to use a certain DS to solve a real world problem (along w/ associated algos), since most people are doing application level development work, which means most people are using abstractions of DS&As, rather than implementing them from scratch. If I needed to implement a DS&A from scratch, it wouldn't be from memory. I would consult the CLRS book and make customizations from there. I believe the reason leetcode interviews have lasted so long is because FAANG engineers won't abandon them. By gatekeeping the interview process and making the barrier to entry so high, they can artificially inflate their salaries and bonuses by claiming scarcity of talent. I think if a lot of these companies did a reassessment of their staffing, they would realize they've been overpaying many of these engineers for jobs that talented non-leetcoders could do for half the salary/bonus. If you really want to know where a dev stands in terms of ability, assign them an open-ended project with a mostly open-ended timeline. Only consider candidates who complete the project and have a working solution, then consider things like 1. Did they unit test their code? 2. Did they use source control and share back a link to their repo? 3. Did they create a flexible, scalable solution? etc. And for a bonus: Schedule a pair-coding session with the strongest candidates. Throw out some requirement changes that will require changes to their code. How would you do X differently? Then code it with them. That will give you an idea of how well they work with others. I know the above sounds time consuming, but I am guessing that 70% of the candidates for a position will get washed out when they can't complete even a basic solution.
- chakkepolja 4y agoWhen theres lot of competition, the problems being asked get progressively harder and more obscure, so that they no longer test your actual understanding of DSA, but how much leetcode you have grinded. Many times interviewers dont have time to come up with new questions, and just end up asking a more obscure question. so this selects for people who do more leetcode than people who write more practical code. I dont know the solution to this either. (Maybe where you live, the competition can be less and you can get away with good DSA fundamentals, here it's not like that.)
- codalan 4y agoAgreed. If you hire a leetcoder, you get a leetcoder. Sometimes I wonder if you just end up hiring someone who will spend over half their time on the job grinding away at LC, rather than doing the boring, mundane day-to-day work. You would almost have to make LC a job in itself to make it through the next LC interview... It does get the LC website and the CTCI people paid, though.
- decafninja 4y agoThere literally are “professional leetcoders”. I was one of them, and I know other friends/colleagues who were/are too. Consider a dull boring low paying cost center job at a non-tech company that leaves you a lot of free time. You can either use that free time to go above and beyond your call of duty and chase promotions and fancy titles, albeit with trivial pay raises. Or you can practice leetcode at work to move to a better company where the work is more interesting and the pay significantly better. Most of my colleagues who entered my previous company around the same time as me chose the first path and got one or more promotions to Vice President or Director, etc. (this is a bank). They received trivial raises. I chose to leetcode instead, got zero promotions (though still a lot of praise at doing my job). Then I used my leetcode skills - which were completely divorced from my day to day SWE work, to jump ship and nearly quadruple my TC. FWIW, my current work is also completely divorced from leetcode. I probably make significantly more than my former department head now, as a “mere” untitled senior SWE.
- 4y ago
- mixmastamyk 4y agoNo, because even the dumbest of CRUD-app developers cargo-cults this process, there is no escaping it.
- dominotw 4y agoI used to hate leetcode. But now i think leetcode is great. Prepare for one job and pass all interviews. Leetcode has made job hopping so much more easier.
- immigrantheart 4y agoYup, so many people are missing out on this crucial fact. Thankfully I realized this many years ago, and enjoy nice salary because of it. Just let people who don't want to Leetcode be merry on their way, less competition for us for sure.