When I see engineers in their late 40s, 50s etc being harsh on algorithm interviews, I often wonder is it because they failed to keep up with changing times and are now playing victims. I mean, IT industry is nothing like what it was in the 70s and 80s when these people started out. Back then, it was still rather nascent and almost all business problems could be solved by gluing together existing tools (I was born in the 80s so I am only speculating based on what I have read). May be that's how it is even now. They were all essentially glue engineers doing some type of CRUD job. For them, the more tools they knew the better they were at their jobs. It is a bit amusing how this glue job is usually oversold as 'architecting' or 'system design'.

However, times have changed. Since late 1990s, the industry has become a lot more aggressive. While the CRUD shops exist, there are more and more companies who produce products that need engineering from ground up. Some of these are truly innovative but many simply reinvent solutions. The kind of funding these new age companies with NIH syndrome get allows them to afford quite a bit of reinventing of the wheel, a wheel that suits their purpose specifically. In this scenario, one needs to know fundamentals of CS, so having interviews of this nature is justified. The candidate must be aware of the sort of company they have applied to and know what to expect. There is no point ranting after they fail.

That said, I do have my objections to these sort of interviews. I am in my mid thirties and what I do is 50-50 in terms of over all architecture and low level details. I am currently looking for a change and every time I see ds-algo mentioned in the job description I feel disappointed.

Firstly, the cargo cult interviewing is quite enraging. I mean, just because a mega corp with NIH syndrome does tough algo-ds interviews because they arguably need it, the CRUD shops following suite is ridiculous. They are glue job companies with CRUD jobs that need glue job engineers whose need to know CS fundamentals will be limited to reading the label on the libraries they use, if they advertise the ds and algo they use in their implementation.

Secondly, even if its a NIH mega corp, I dislike how the interviews automatically filter out experienced good engineers. The sort of questions asked can only be answered by three kinds of people - recent graduates, those who have written ds-algo libraries at their job before, or those who study them just for the interview. I feel the third kind is a sham as its worse form of rote learning without applied knowledge. People like me who possess a lot of knowledge through real world experience on a lot of things and can build a lot of things from scratch, basically generalists, but can't write code to balance a binary tree on whiteboard in 5 minutes feel almost discriminated. Why can't where be a middle ground where we discuss the solution strictly qualitatively without having to answer it as if it were a college exam? I think this is how it ought to be for mid career engineers.

I have had my share of both kind of interviews that has left me extremely disappointed. I have realized that people like me are best suited to work at medium sized product companies whose name not many have heard of. I used to work at one such and had tremendous success, and I am exclusively looking for such now.