Hacker News new | ask | show | jobs
by ohaideredevs 2497 days ago
"It's the second time in a few months I'm being turned down with the pretext of a failed whiteboard interview. Things like improper syntax and not getting the damned recursive solution fast enough."

Is it a pretext, or did you actually fail the interview? I want to work for West-coast-pay company at some point, and it seems that the idea there is for me to spend 6 months learning stuff I will never use, so I can compete with the kids who spent 4 years learning mostly stuff they will never use.

That is, if I fail it, it's not because I am older, it's because I don't know stuff fresh grads know.

IT is full of grinding pretty meaningless stuff (especially at lower levels), as much as we romanticize it.

1 comments

>That is, if I fail it, it's not because I am older, it's because I don't know stuff fresh grads know.

I believe this is exactly the point that the parent poster is making. You don't know the stuff fresh grads know because you're older (obviously this isn't an absolute, but likely). Therefor, structuring the interview around stuff that only fresh graduates are likely to be up-to-date with would be discriminating against older people.

If you fail, it is at least related to you being older, if the focus of the interview was designed around hiring fresh graduates.

College dropout here. Young people sometimes don't know this stuff either.

This is probably less ageist than it is education-ist, which is not too far away from classist.

Personally, I do think it's worth testing candidates on these pure CS skills, even though I myself didn't have them and had to study before I interviewed at Google. What I've found since then is:

1. Surprise, surprise, I actually have used quite a few of these concepts in my work. My experience may not be typical, but my role really does benefit from my having a better grounding in algorithms than I did before.

2. When communicating with other people at the company, it is very helpful to be able to presume a baseline understanding of algorithms, data structures, and big-O. A lot of code reviews and design discussions are easier and faster when you can just say "yeah, but that's O(n^2)" or "BFS would let you early out more frequently here".

As an interview technique, I also think there is some value in testing an arbitrary skill a candidate might not have, because it's a good gauge of hustle and discipline. Yeah, learning algorithms is a chore and a hassle. But... a lot of shit you have to do at work is a chore and a hassle.

If the interviewer can see that you're able to make yourself do that for the interview, it's a good sign you'll have the discipline to do some of the grunge work that is inescapable in the software field.

Of course some young people don't know the things either. If it is discriminatory against older people, that doesn't mean younger people get a free pass.

I agree with a lot of what you have said - but the issues at hand here (at least, my interpretation) is not absolute fundamentals which are obviously important.

The issue (again, my interpretation) is taking something that is taught in school, somewhat rarely applied in practice (or, is replaced by a tool/library/whatever in practice) and putting some sort of spin on it then expecting someone to be able to answer it. Or taking a problem which already has an industry-accepted solution and asking the candidate to remake the wheel in 30 minutes.

If your fresh out of school you're more likely to remember that one obscure class you took few months ago which covered some trick situation. Or you'll remember that class which taught you about that industry-accepted solution and the why behind it.

If you've been in the field for 15 years using some tool/library to solve the problem, you're less likely to remember that one obscure class you took 15 years ago which explained the origin. Or that class which covered the trick situations.

For what its worth, I don't think this is a widespread problem and very likely not deliberate when it does happen. But, I think it happens often enough that we should at least be talking about it.

I agree with your first points, but...

> Yeah, learning algorithms is a chore and a hassle

> If the interviewer can see that you're able to make yourself do that for the interview, it's a good sign you'll have the discipline to do some of the grunge work...

This doesn't make any sense, unless very, very specific bounds are put on the interview questions beforehand...

Without that, what is a candidate to do? Memorize all known data structures and algorithms?

> Memorize all known data structures and algorithms?

No, but you should know the classics. That's kind of the "general contract" for how these big tech companies interview. Most also proactively tell candidates what material they should expect to be interviewed on, like:

https://careers.google.com/how-we-hire/interview/#onsite-int...

A good interviewer is not aiming to ask gotcha questions where if you don't know that one specific weird algorithm for that one specific data structure, you're entirely hosed. That provides almost no useful signal to the interviewer.

But they will ask questions where some well known data structure is part of the solution and then provide guidance as needed based on what you seem to know.

It's more that this is stuff you haven't used in years (because people don't write heapshort algorithms for a living) but you have been practicing and learning a ton of others (adding value to your company) that simply get eclipsed behind damned pedantic interviews.

Let me put it this way. I use 4-6 prog languages at work. On a weekly basis. But you can say that I confused the syntax for the language I wrote in the interview and fail the interview on that basis and you would be legit from your PoV. Point is -in real world- I don't need and it offers no value to remember the exact syntax between Python, Ruby, Nodejs to do this or that. The thing is I can search the syntax and have it in a sec because I know the logic behind them all. And most of actually working people I know are very busy staying sharp in what they do rather than wasting time upskiling in WB sorting algos.

I get the point, but you could also argue that big companies want people who are strong on fundamentals and consider them something you shouldn't forget.

As in, the army won't hire a 40 year old for SOF if they can't run just as fast as the 18 year old can, even though they PREFER >30 candidates for, say Green Berets, but ANY candidate is useless if they can't meet basic fitness standards.

Same idea here, to some degree.

Can you write cleaner code and foresee problems as you get older. For sure.

Do a lot of older people get complacent, forget everything, or never knew anything? For sure, and I think they are testing for that.

Ageism is real and scary, but you also have to be proactive in defending yourself against it.

I have seen young devs try to devour an older dev, but they stay away when said older dev schools them.

> Therefor, structuring the interview around stuff that only fresh graduates are likely to be up-to-date with would be discriminating against older people.

It's only discrimination insofar as the skills being tested for are irrelevant to the job at hand. I've had jobs where algo skills were borderline irrelevant, and jobs where they were crucially important.

Also, even where it is discriminatory, it's not necessarily deliberately so. It can easily be just poor interviewing skills — an interview process designed by people who genuinely think these are skills that they need to test for, without understanding the problems that creates.

Well... yeah. If the skills are relevant to the job, this conversation wouldn't be happening. It's when the combination of the problem being both irrelevant to the job, and designed in a way to favor the fresh generalists out of school that we (potentially) see discrimination against age.

And deliberate or not, discrimination is discrimination. It might be more palatable if it isn't deliberate, but it doesn't change anything for the interviewee - and is still a problem that should probably be addressed.

Isn’t a better question, why are you interviewing for the same positions in your 40s that a fresh grad could do? I’m 45 and still mostly work at jobs where I’m officially a “senior software engineer”, occasional “team lead” or “architect”. But, I am not trying to compete with fresh grads.

In your 40s, you should have a trusted network of former managers, coworkers, and external recruiters that help you bypass a lot of the BS.

>Isn’t a better question, why are you interviewing for the same positions in your 40s that a fresh grad could do?

Do you generally look down on everyone who needs a job, or just the ones who need a job and are old?

If you can't find work as a senior, and your options are junior or not working, which would you choose?

>In your 40s, you should have a trusted network of former managers, coworkers, and external recruiters that help you bypass a lot of the BS.

Shame on those not as lucky, extroverted, or with the same opportunities as you, eh?

Do you generally look down on everyone who needs a job, or just the ones who need a job and are old?

I’m 45. I stayed at one company way too long until I was 35 and didn’t get aggressive about my career until 10 years ago.

If you can't find work as a senior, and your options are junior or not working, which would you choose?

In 2019, in many major cities in the US - including Atlanta where I live - an experienced developer looking for a job is such a rare breed that you have to fight off recruiters. In the last 10 years it’s never taken me more than a month to find a job at whatever level I was at at the time (I was an “expert beginner” in 2009). I’m not a special snowflake, I’m just a bog standard “Enterprise Developer”

Shame on those not as lucky, extroverted, or with the same opportunities as you, eh?

I graduated from a no name college in a small town in 1996. What “great opportunities”?

The last thing anyone has ever called me is “extroverted”, I did what I had to do because I didn’t want to be at the age I’m at now without having the optionality of changing jobs.

Ah, so anyone with a certain amount of experience applying for junior-like positions is just being dumb. I get it. You should let the OP know that they should be fighting off recruiters instead of applying for jobs you feel are too lowly for their experience.
Anyone applying for a junior position should expect to have skills matching or exceeding the other people applying for the same position. Saying candidates should get a free pass because of age sounds far more discriminatory than an even playing field.

If you've been in the industry for years, have a stalled career, and are looking down the ladder for a job is there a sinister bias against age, or are you just not qualified?

I’m not saying it’s right or wrong. But the reality of the job market is that if you’re 40+ and not willing to spend months doing leetCode and don’t do what I’m suggesting, you are going to end up in a situation where you can’t find a job.
You haven't answered the OP's question. Just because such interviews are avoidable, at some expense that I'll get to later, is orthogonal to whether they perpetuate age discrimination.

Yes, everyone "should" have a trusted network like you say, but that only works if you're a bit flexible about what you work on or where. If you have more specific goals regarding projects, locations, markets, scale, or salary, you might find only two or three places hiring and they might all have blanket whiteboard-interview policies even for senior or specialized hires. That's how I found myself in front of a whiteboard at 52. It worked out for me, but what if it hadn't? I could have compromised on some of my goals and used my network to get a job elsewhere. I've been there and done that too, but I wouldn't have welcomed the compromise. I also no longer wish to participate in a system of side-door hires that perpetuates discrimination.

It's easy to say what others "should" do, but they're not you. They might have different values and priorities that leave them with less flexibility regarding whether to do such interviews.

You haven't answered the OP's question. Just because such interviews are avoidable, at some expense that I'll get to later, is orthogonal to whether they perpetuate age discrimination.

It’s not age discrimination. There is nothing stopping anyone at any age from studying “Cracking the Code”, going on the various leetCode sites and practicing.

If you have more specific goals regarding projects, locations, markets, scale, or salary, you might find only two or three places hiring and they might all have blanket whiteboard-interview policies even for senior or specialized hires.

In that case, you do what it takes. I said below that because of $bad_decisions, I found myself at 35 only qualified for mid level roles. 8 years later after following my own advice - job hopping, networking, Resume Driven Development, etc., I found myself reaching close to the maximum salary I could reasonable get as a developer/team lead/architect in my local market.

I don’t have to learn LeetCode to qualify for the next level, but I have spent the last two years immersing myself into all things AWS and cloud development/dev ops and project management so I could qualify to be an overpriced consultant.

If I wanted to move to the west coast and work for a FAANG, I would have spent the last year or two preparing for that instead.

I could have compromised on some of my goals and used my network to get a job elsewhere. I've been there and done that too, but I wouldn't have welcomed the compromise.

And the poster can make the decision. If he wants to play that game, he has to train for it. Don’t say you want to run a marathon and not be willing to put in the training and then complain about it.

I also no longer wish to participate in a system of side-door hires that perpetuates discrimination.

I’m a 45 year old Black guy from a small town in the south. Trust me,I’m not part of any “old boys club” by nature of any innate “privilege”.

It's easy to say what others "should" do, but they're not you. They might have different values and priorities that leave them with less flexibility regarding whether to do such interviews

If their priority is to work for companies that require hard whiteboard interviews so they can earn $300K+ instead of being a bog standard Yet another software as a service full stack CRUD senior engineer where they can earn $130K - $160K in many major US cities, don’t complain that they have to put in the work. I’ve had to put in the work to be qualified for the next level after my youngest graduates. I don’t want the travel requirements right now.

> don’t complain that they have to put in the work

This isn't about whether people are willing to do the work. It's about whether they have to do the same amount of work and whether their performance is measured the same way. If not, that's discrimination. People who want to run a marathon should have to do the work, but they shouldn't have to wear weights on their ankles while others don't.

As I said, it didn't stop me personally. But I know others who also did the work and got the short end of that effort/reward disparity. That doesn't mean they were wrong for trying. Your choices might be right for you or they might be mere "sour grapes" rationalization. I don't know and I don't care, but they can't and shouldn't be projected onto others. Discrimination is discrimination even when it doesn't affect you.

Say I wanted to be a modern web developer and that I spent 10 years maintaining an old ASP.Net WebForms app. Would it be “discrimination” if I had to spend a year learning the modern $cool_kids stack to be competitive with younger developers who may have learned everything in a boot camp?

Was it “discrimination” that I had to spend six months to be competitive in 2008 after being at the same company for a decade writing VB6 apps and writing programs in C++ with MFC/DCOM?

What about the six months in 1999 I spent playing around with C++/MFC because I spent the first three years of my career writing C and FORTRAN on DEC VAX and Stratus VOS mainframes?

If you want to stay an active software developer you have to always be learning to stay competitive.

What gets me is the entitlement around OP's post. They're older so clearly they don't have time to brush up on DS and algos. That rubs me the wrong way, as some one who transisitioned in to CS from another field and worked on learning that stuff. Yeah the signal is mostly on how many hoops you'll jump through and base analytic ability, but everyone has to do it and expecting a free pass just because you're old pisses me off.

I think the previous generation is so used to the idea of "pay your dues and skip ahead" popularized by their parents that even the idea that a fresh grad might work harder and be a better fit destroys their whole world view.

I've known plenty of talented engineers of all ages; they all can crush a white board interview; just because OP doesn't want to doesn't imply discrimination (or at least unlawful discrimination).

>they don't have time to brush up on DS and algos

The problem with the whiteboard trivia questions at hand is that they are trivia. They are deliberately obscure, or presented in a trick way. Brushing up on all the data structures and algorithms in the world and how those might be twisted into some 30-minute problem doesn't seem to be an effective use of time.

The fact that you somehow have an incredibly talented pool of friends that can crush any whiteboard interview thrown there way does not really represent most people - given by the fact that whiteboard CS trivia is a common topic, written about (negatively) by a number of talented professionals.

There's a selection bias there. Few people will write, and even fewer would read, a blog post about showing up and doing well on an interview (and most companies generally don't want you posting direct answers to the process). It is true that many positions are trying to find people with more ability than is required for the position, but are you arguing that the interview process should select most people?

Further more, there's a breakdown between pure trivia (problems that either just require knowing raw data or can't easily be solved from first principles) and "all white board problems". In my experience the people that take to the internet to complain weren't asked to verify a linked list isn't cyclical or write a topographic sort for a given graph; they were asked to traverse a binary tree or print Fizz Buzz.

>There's a selection bias there.

You're right, that is true.

>but are you arguing that the interview process should select most people?

Not by any means. Just that when possible, and to the extent possible, interviews should select using the least-bias methods available and to select the most applicable candidate for the position. Not the candidate that had the best recall memory of obscure problems after spending a few months studying from some "beat the whiteboard interview" website.

I have no problem with whiteboard problems in general. It's a very specific subset of whiteboard problems that are used as a be-all-end-all, and are solving problems which will never be encountered in the position. These are they type of questions all of my comments have been regarding - not the whiteboard questions that demonstrate knowledge that will be used within the course of the job, or obscure questions where you are graded on the how rather than if you memorized the correct answer.

Im going to be biased by my experience, but, I've only encountered one problem i'd consider explicitly trick trivia (and it wasn't on the white board, it was one of these "solve this problem on hacker rank to get an interview" type of deals so maybe I was being naive and you were supposed to look it up).

Overwhelmingly problems, especially outside of FANG or hedge fund types (which I'd argue can actually use algo exp) align much closer to Fizz Buzz in difficulty. What I have seen, is supposedly senior candidates completely fail at those problems and be pretty arrogant at the fact. If you can't write a for loop or traverse a tree and print the nodes, etc I don't really care how many years you've been employed you're not a good fit. I wish we didnt' have to ask senior people to white board fizz buzz, but if you don't have a network willing to stick a neck out it just has to be done.

This may be a metro thing; NYC is a different make up than SF. Here at the very least, I've far more entitled unqualified people with no qualifications other than they got their first job when all you need to know to be a programmer was html and failed upward on a mountain of bullshit ever sense than I have seen qualified people choke at the whiteboard.