5 ms·
I've been programming computers since I was 10. I am almost 40. I've been working professionally for about 15 years now. I've never done leetcode. But I have do
by YEwSdObPQT 5y ago
I've been programming computers since I was 10. I am almost 40. I've been working professionally for about 15 years now. I've never done leetcode. But I have done stuff like (hackerrank) and I have to spend an evening proving I know how to write some arbitrary problem that I will never encounter anything close to in the position I am applying for. I can solve them. But I feel like I am wasting my time when I do it for the 10th time. I now refuse to do all coding tests. I have a github and a company page with my work and if that isn't sufficient, then so be it.
As for the counter arguments:
> You are often asked stuff that took PhDs years to figure out: This usually shows up only in Hard questions, and badly designed ones at that. In my experience, Medium ones are usually solvable with solid algorithmic knowledge. It is also usually that maximum difficulty people encounter during their work.
Software engineer are not computer scientists. 95% of my time is normally gluing libraries together to build a product. Most of the time I am just implementing business processes in code and I don't really need to implement anything fancier than a for loop. What is normally more important is implementing the (correct) patterns, good practices and managing changing requirements, implementing a database schema that makes sense.
The sort of problems in leetcode won't help you do any of this. All it proves is that you can solve some arbitrary and unrealistic problem.
> It discriminates against poor people: You're a programmer, you are not poor. Even if you were, the few weeks of time investment it requires is usually offset by the higher salary you can ask for. Think of it as an investment in your future. Or if you are not a programmer, the amount of skills you need to learn to get your first programming job is usually far excess of just learning leetcode.
Many of the people grinding things like l33tcode are looking to get a web development job so they don't have to work frying chicken in the local KFC knockoff. Building most websites doesn't need to learn a bunch of algorithms. What you do need to have is a solid understand of HTML, CSS, JavaScript and how things likes HTTP work. The sort of problems in leetcode are absolutely irrelevant to this sort of work.
It ultimately depends on what sort of jobs you are applying for. A lot of positions won't require the skills that leetcode and similar try to test.
> It discriminates against women/minorities: I don't live in a very diverse country, so I don't know anything about the minorities part, but in my career, I've encountered plenty of women who were as good or better than men in solving algorithmic issues. It does filter people, because it's designed to filter people, but I've never found it discriminatory along gender lines.
No it discriminates against older developers and developers that are self taught. Typically when you are looking for the skills needed to work in a particular field you will look at job postings or talk to other engineers already in the field and they will typically say "You need to understand this language or something similar and how X and Y work" and typically people will buy a book, or do a course on those things.
With older developers a lot of these wanky problems we forgotten how to solve years ago after we left university because the majority of jobs outside of FAANG will rarely require anything more complicated that recursion or a for loop.
You are trying to assess whether people can do a job. Not solve arbitrary problems that don't present themselves in the vast majority of circumstances.
- wittycardio 5y agoLeetcode isn't used for html/CSS roles / basic web design roles. It's generally used at large SV companies which use software at a very large scale. Most people who apply aren't poor and have undergraduate degrees or higher. When you are using software at that scale algorithms are pretty important to get right. Not all software jobs require a computer science background, but a lot actually Do. Look at the open source work that FB or Google do, most of it is very computer science heavy. They aren't just hacking together for loops
- disgruntledphd2 5y agono, they're hacking together protobufs, which is much more complicated. \s
- YEwSdObPQT 5y agoThe complaint is that the skills that leetcode is teaching you / testing you on isn't relevant for a lot of jobs. I am not talking about just basic web development either, that was just an example to illustrate the point. The whole issue that these sort of tests are used inappropriately accessing someone suitability for a job. Most software people produce is simply implementing existing business processes. This doesn't require anything too smart algorithm wise, but may require good use of gang of four patterns or understanding how best to put a database together.
- wittycardio 5y agoKnowing How to put a database together of requires you to understand algorithms though. joins /indexes /sharding etc require knowledge of cs theory. Knowing the details is very valuable.
- deleted 5y ago[deleted]
- YEwSdObPQT 5y agoYou edited this after I replied. > joins /indexes /sharding etc require knowledge of cs theory. Knowing the details is very valuable. For the vast majority of scenarios you are going to run into no not really. You normally just need to read the documentation and know how it should behave and think a little bit about how the database is likely to be used. You really don't need any CS theory to be able to do that. In any event it isn't what a leetcode / hacker rank style questions are testing for. I don't want to be rude but I swear a lot of people on this site live in a bubble and don't really understand what happens outside of it.