Hacker News new | ask | show | jobs
by Kaizeras 2033 days ago
Most of the people I know who did competitive programming in high school spent a just a few evenings preparing for FAANG interviews and still got offers in the end.

I have the feeling that all the bitterness towards this interview process comes from people who refuse to do the initial investment of time to learn the foundation for solving coding challenges. Once you go through and understand a few hundred coding challenges, things start to repeat themselves and then it just takes practice and consistency.

Personally, I find coding challenges fun and even quite enjoyable at times, so I don’t see why it’s a waste of time to get good at them. At the very least, I learned a lot about Java doing them than I would‘ve learned if I did a side project where I‘d need to use some framework or library that’s based on Java.

Edit: grammar

8 comments

The problem is that coding challenges are OK if you are hiring for an entry level position and need to make sure that the fresh grad can actually write some code at all (surprising amount of them does not).

However, what exactly are you hoping to achieve with this when hiring a senior engineer who is likely to have 10+ years of experience in the field? With verifiable references?

You are only wasting everyone's time. Sorry but I am really not going to spend a month preparing for a single interview where I have no guarantee of neither an offer and not even knowledge of the team/project I would be working on (Google recruiter calling me seriously thought that this is normal - you apply "blind" and only after passing through their hiring "torture test" of 7 or how many interview rounds you get told which position may be "the best" for you. I said "No, thank you" and hung up.)

The issue with this is that you are both testing the wrong skills (senior engineer really shouldn't be doing basic algorithms but system design, leading teams and managing projects!) and that this is "senior engineer" position is likely senior only in name because the recruiters want to attract more competent people. In reality it is an entry level job ...

You're taking a personal feeling and extrapolating onto others. Not everybody finds sitting on leetcode 3 hours a day a fun task. I'm one of those people. It's absolutely mind numbing.

A few hundred coding challenges is months and months of preparation if you're actually trying to internalize everything very well. Kudos to those who can do it and have the willpower to, but I can't seem to get past 3 weeks tops before my body starts physically rejecting these problems.

It also seems to skew towards recent grads and single people that can spend all of that time on these problems.

> I have the feeling that all the bitterness towards this interview process comes from people who refuse to do the initial investment of time to learn the foundation for solving coding challenges.

My bitterness comes from the fact that the interview process does not reflect what happens in day-to-day work. If I had to invert a n-ary tree, I would google how to do that, which I can't do during the interview.

> Once you go through and understand a few hundred coding challenges, things start to repeat themselves and then it just takes practice and consistency.

Assuming you spend about an hour to solve and understand a given coding challenge, that's a couple of hundred hours. Assuming an hour a day, that's about 3 months for 100 questions. That's not a trivial amount of prep.

>Personally, I find coding challenges fun and even quite enjoyable at times, so I don’t see why it’s a waste of time to get good at them.

Personally, I would prefer to spend that time enjoying my life. Whatever floats your boat.

In my experience, most people who do coding challenges are the younger folks. As we get older, we have better things to do than do coding challenges, especially a "few hundred" on our spare time. They might have other hobbies or responsibilities.
the problem is that DS/Algos interview questions, besides deep in low level programming, have little relevance in real life work scenarios. The only thing of value that my formal CS education gave me in respect to my day to day, really is the ability to problem solve.

Also, the reverse can be said about this - that individuals who had a more formal CS education are feeling bitter that more and more people are starting to realize that their time spent in "coding challenges" prove to be of low value in their work, so they keep hammering them in the only place they can - interviews.

Mainly it's just annoying if you've been working for 4+ years and haven't touched that stuff in a while. It's an entirely separate skillset separate from your role as a developer. The fact that there have now been several studies showing it doesn't correlate with job performance makes its emphasis in interviews questionable.

There's also some fear on the "poseur" factor that people worry about. If candidates can simply rote-learn their way into senior roles I wouldn't really feel comfortable having them as team members.

With that said, I do like think the advice of reading Programming Pearls and Designing Data-Intensive Applications -- two books useful for the job at hand, and just your general knowledge of how systems work and how to approach problems. Leetcode, by contrast, is empty calories.

> Personally, I find coding challenges fun and even quite enjoyable at times, so I don’t see why it’s a waste of time to get good at them.

You really can't imagine that someone feels differently? Please try to have a more open mind.

I, for one, would much rather spend my free time on my side-project that is actually used by people. I would have a hard time working on something that was a throwaway. (Which is what actually happened when I tried to interview at FB. I spent more time working on the side-project than studying leetcode. FB promptly told me I couldn't code... "OK")

ditto. I like to play with these as a fun intellectual challenge, even though I've never been interested in FAANG.