The best coder I’ve come across in my career once told me he attempted to solve some leetcode and was stuck fairly early and gave up. I was surprised to hear that he even cared to try.
What made him a fantastic engineer was his meticulous work ethic, his track record of never having missed a deadline, him spending 40% of his time designing before he even wrote a single line of code, writing extremely human readable code, his obsession with unambiguous and simple APIs and his extensive unit testing.
He was humble, loved to crack jokes and was always fun to solve hard problems with.
None of that is captured by leetcode. This is probably my personal bias - but the only people who work hard at leetcode are people who want to prove something to the world. I’d rather work with people who like the profession and don’t feel compelled to prove anything.
The ability to do Leetcode well when a reasonable amount of time is applied to it and doing all the things you mentioned are correlated. The only issue here is the guy, in your words "was stuck fairly early and gave up." He didn't see it worth his time. Many people share that attitude about Leetcode, but it doesn't mean it's not tapping into something that's important for the job (intelligence).
What you are saying would be kind of like someone saying "I knew an athlete who could do a mile in under 4 minutes, but one time he got on a bike, fell and then never cared to try biking again. Therefore, the ability to ride a bike has nothing to do with athleticism." Which is technically true, but misleading. It misses the key idea that the main factor is the person not taking the bike seriously as if he actually decided to take the time to learn how to ride a bike, it's virtually certain he would be better at it than 90% of people because the underlying traits that make one exceptional at running would also make one good at biking.
It also sounds this person had a good temperament and personality which worked in his favor. That wouldn't matter though if he didn't have the cognitive ability to never miss deadlines and correctly design out code in his head and on paper before writing it as you say.
There is SO much more to coding than algo's. Those looking to apply clever algo's that give a O(n log n) solution to a problem where n is never greater than 20 are hurting the industry. Give me simple to understand, works, and you saved us a P1 and thousands of dollars not trying to understand the clever algo. In 10 years of coding, the number of times I needed a clever algo can be counted on two hands. Leet coding is fir a lack of better measures.
The bicycle analogy is interesting, it us more like getting someone on a time trial bike and checking if they can hit 25 mph. That counts for almost nothing when doing a downhill mountain bike course. Can you communicate to people clearly? Can you convey expectations? Can you write simple and easy to understand TESTS?? Leet code is part of a cottage industry for interview styles that faang employees for lack of anything better.
I did one faang interview and omg I bombed so badly. A week prior, I did another with the same company and they couldn't stop calling me asking me to stop interviewing and work for them. The hiring manager wrote a love letter of how much I'd enjoy it there. It's crao, half of the senior engineers at that company can't pass their own interviews, it's a broken system. You can't know if a dev us good until at least 3 months after hire, if not 6.
> Give me simple to understand, works, and you saved us a P1 and thousands of dollars not trying to understand the clever algo. In 10 years of coding, the number of times I needed a clever algo can be counted on two hands.
This reminds me of an old anecdote:
Beginner programmers pump out 100 lines of good code a week. Journeymen programmers do 1,000. Master programmers do -100.
It's the same sentiment as the famous Churchillian quip: “I am going to give a long speech today; I haven’t had time to prepare a short one.”
I didn't know that one. "If I had more time, I would have written a shorter letter" is from a Blaise Pascal quote "Je n’ai fait celle-ci plus longue que parce que je n’ai pas eu le loisir de la faire plus courte." which translates to "I have made this longer than usual because I have not had time to make it shorter."
You are setting yourself up for failure with the "I want FAANG money & benefits" right from the get go. That happens to the top 1%, all other work their asses off or get lucky.
But I think you are doing your now not_future_colleagues a solid by giving up. If you are that square to think there is only one way to reach the "prestige, benefits and pay of Google" and that is by excelling at some Leetcoding pissing context: I see you not solve issues that are exciting to solve which is exactly what I like to see in programmers.
Sure. I agree with your broader point. But a lot of companies don't have the time or inclination to conduct useful interviews (take home assignments, project deep dives etc). So they simply ask a bunch of leetcode questions and 1-2 system design, "behavioral" questions, and expect you to give perfect answers. Conversely, if you are in a situation where you want a job at these companies, then you do leetcode. As an anecdote, I like solving programming puzzles (advent of code, ICPC problems etc) but couldn't clear FANG without leetcode. I despised leetcode because the puzzles/problems there are uninspiring as compared to ICPC problems. Of course, software engineering has very little to do with any of it :)
The best coder I’ve come across in my career once told me he attempted to solve some leetcode and was stuck fairly early and gave up. I was surprised to hear that he even cared to try.
What made him a fantastic engineer was his meticulous work ethic, his track record of never having missed a deadline, him spending 40% of his time designing before he even wrote a single line of code, writing extremely human readable code, his obsession with unambiguous and simple APIs and his extensive unit testing.
He was humble, loved to crack jokes and was always fun to solve hard problems with.
None of that is captured by leetcode. This is probably my personal bias - but the only people who work hard at leetcode are people who want to prove something to the world. I’d rather work with people who like the profession and don’t feel compelled to prove anything.