Hacker News new | ask | show | jobs
by flimsypremise 738 days ago
I'm going to give you all a bit of very real advice from a very senior engineer. The premise of this discussion is based on a fundamental misapprehension of what the job of a software engineer is about. The amount of time you get to spend finding fun optimal solutions to optimize individual operations is like, 0.001% of your career. Most senior engineers, even those without a background in advanced math, have an intuition for optimization patterns over years of solving problems, and often the reason something has not been optimized for speed is not because nobody knew how to do it, but because speed was not a requirement.

The sort of engineer who can define the requirements of a project and execute based on those requirements is much more valuable to me than a algorithmic prodigy. Seniority is not defined by the mathematical complexity of the problems you solve. Focus instead on design patterns and best practices, scalability and maintainability concerns, mentoring of more junior teammates and the buildout of tooling that helps ease the overhead of working with the codebases under your purview and the development, deployment and testing of that code.

1 comments

I've done over a hundred interviews now. One of the most valuable engineers I hired had an interview that steered off course from the original algorithm question I had in mind. I opened with a "what's the most challenging part of your job currently?" and he responded "Upgrading our monolith front-end from Angular 1 to Angular 2".

We spent the entire hour discussing back and forth all of the challenges not just for him but the team in great detail and how they went about doing the upgrade. I'm glad the interview didn't go as planned because he's still here and he's great.

Yep, I love doing interviews this way - we just talk shop. It shows way more about the candidate than any abstract problem I could devise.

Doing leetcode in interviews is like if the NBA drafted players based on trick shots.

This is how I mostly do interviews. Get the candidate talking about their previous roles and see how they talk about the problems they've solved and what that reveals about how they see the job.
I personally would make something like this the default interview approach for anything but entry level positions.