Interviews should be a balance between testing problem solving, ability to learn, and knowledge that applies to the actual job they would be doing.
Interviews should be a balance between testing problem solving, ability to learn, and knowledge that applies to the actual job they would be doing.
If a given company has a lot of people who want to work for it then it makes sense for that company to have people attempt very challenging programming exercises so that the org can filter the applicant pool down to the number of positions they have open.
These companies have the luxury of being able to have hiring processes that turn away perfectly good applicants that couldn't pass their tests (false negatives).
Perhaps. I would also encourage companies to look past programming ability, and consider things like work ethic etc. I would argue that once you can do the job, reliably showing up and working hard every day has a lot of impact.
Maybe we're not as special as we think and not just a few mythical uberengineers are qualified to do the take-something-from-here-and-put-it-there coding that is 90% of the field...
Be ready for a surprise. Almost anyone who can spend 3-6 months on solving every single problem at LeetCode\HackerRank can crack these so called high caliber interviews. Unfortunately, a lot of us deny to take that route
I interviewed with booking.com in Amsterdam a couple years ago and it was the same thing — same questions testing prep.
I interviewed for one American company once. Didn't like it despite the nice hotel. I also didn't get the job.
If you want a job in those companies, sure. But if you want a decent job in a decent software company, you don't have to go through all that show. There are companies that don't ask that sort of questions and instead they interview you in a sane manner (they ask about past experience, they let you talk about what you actually know... The whole interview feels like a conversation).
There are exceptions, but they are getting fewer and fewer. i.e. some companies that did not leetcode when I got my current job (5 years ago) are now leetcoding. Even companies in that famous "they don't whiteboard" list will leetcode you from my experience (I reckon its really a team by team basis thing).
You might be able to find a good company that will not leetcode you, but if you are trying to maximize your potential to get a good job at a good company, the best strategy is to grind leetcode, as opposed to hunting for a White Whale.
My own definition of a good company to work for as a SWE would be somewhere that:
- treats and respects tech and technologists as valuable first class citizens. Not merely a necessary evil.
- good compensation and perks.
- good working environment.
- great, talented colleagues.
- bonus: looks great on your resume and opens doors to potential future opportunities.
I would say most jobs at most well known tech companies (say, FAANG and others) would qualify...and most are gatekeeped by leetcode. I'm guessing you would not consider these to be good companies?
leetcode and puzzle-based interviews are indicative of thoughtless interview process that are lacking evidence as to their efficacy. Google used to focus on puzzles so everyone followed. Eventually google thought to look at the efficacy and realized it was poor, so google focused much less on the puzzles and it's taking a long time for folks to catch up. If an organization claims to respect evidence (as most large tech companies do) but have lackluster or nonexistent feedback loops around interviews, that hypocrisy is a red flag.
Take home tests like leetcode show a lack of respect and trust in the engineers, which I consider a bad work environment.
The high pay is usually because the organizations have tons of cash and are rarely indicative of interesting work (or the work is interesting but the product is discarded after completion). Most large, high paying, highly respected software companies have been stagnating for over a decade and sailing through on their monopolies. Then there are ethical considerations. At least that's how I justify avoiding that world. Maybe I'm totally out of touch with reality.
These questions are a less bad way of filtering people out than others. They're not the only filters used, and others have different tradeoffs. Sometimes if you're hitting these questions it's because the other filters have already excluded you.