Hacker News new | past | comments | ask | show | jobs | submit login

Most people self-label themselves "senior developers" after 5 years of experience. However, it also refers to developers at risk of ageism (i.e. over the age of 40 or 50)

I know this sounds conspiratorial, but I think the leetcode tests are there to keep older people out. Because the whole "leetcode culture" stereotype of the junior/senior bachelor's CS student "grinding leetcode to land his Big-N job" means that younger grads are going to have seen these problems before and know how to rattle back the solutions without even thinking. Whereas an older dev is more likely to have a family or be secure in his/her years of experience to not waste time calculating the Big-O bullshit of reversing linked lists while merge sorting. They are more likely to have not seen the problem before and have to run the gauntlet with no practice. The motivation to discriminate is purely financial: a fresh grad is half the cost of a 20 year veteran.

> They are more likely to have not seen the problem before and have to run the gauntlet with no practice.

The other possibility is that they have seen the problem before, fixed it, but didn't know it was called "calculating the Big-O bullshit of reversing linked lists while merge sorting"...

I have 25+ years of experience; in a month I will turn 46. I don't have a CS degree, nor even a BS. I'm one of those devs who started basically fresh out of high school, and made a career out of it. I'm not even sure that is possible to do any longer.

What I don't have is all of that CS knowledge and terminology. That isn't to say that I could solve all of those problems, or that I have encountered them, or come up with the correct or practical solutions. To be fair, I am always learning something new (and I like it that way). Also, to the "example" you give, I'd have to look up how to reverse a linked list and what a merge sort exactly was. Hopefully, there's some kind of standard library for both in the language I was using, but if I had to do it from scratch, right now off the top of my head, I couldn't do it.

But I would know how to figure out and ask the right questions on how to do it, and go from there.

And that's really one of the best skills as a developer to have, imho. There have been times where I have had a problem, tried to google for it - thinking it was a common issue - found that it was a common issue, with people asking the questions - but either no solutions, or worse:


...and so, by breaking the problem down, figuring out the answer to those questions (with either more googling, or implementing a custom solution), then pulling all those parts back into one coherent answer for the initial problem - that greater issue can be solved.

Then I find a forum or something and post the solution there, so that future coders can at least have one good reference point, for as long as the forum exists. Nowadays, I'd probably put it on my github repo or something.

Ultimately - there are a lot of "senior devs" (both in age and ability) who are currently in my place; people who didn't go the tradition educational route; people who were coding in their bedrooms on 8-bit home computers in assembler and BASIC because that's all we had at the time. We may or may not have run across those CS-level problems. If we did, we didn't know their names (much like not knowing the names for certain "patterns" - yet another similar thing) - but we still may have implemented solutions for them anyhow.

yeah I just grunt and snarl when I google and find a forum post from 2007. I wish there were an easy way to filter by date.

I have faith in your problem solving abilities. I'm 35 and have a CS degree. The only time I've needed to know Big-O or how sorting algos worked was in college and during interviews. I've literally never been in a situation where the code functionally worked, but ran too slowly because of an inefficient algorithm (and this is with 13 years as a C++ developer).

As for your situation, I suspect many shops would turn you down because you didn't rattle back the answer from memory. But the concern isn't that you aren't smart enough, it's that you're "old" and cost too much. The kid who memorized leetcode can be bought cheaply and discarded easily if it comes to light that he/she can't figure out how to solve a tech bug. If you "follow the money", these interviews could be seen as purely "cheap-but-comptetent people-filters". Because if an old programmer tried to sue them for age discrimination, they could point to leetcode as evidence that all the tests were administered "fairly".

Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact