Technical Interviews

Again, there's nothing wrong with interview 1 vs 2. They're looking for different types of devs with different skillsets. You can huff and puff and get salty and call them lazy or stupid, but that's because it doesn't relate to you. When you get into dev management, as CTO or VP of engineering, or director of technology, or whatever, you will quickly realize that your company recruits 3 kinds of devs:

  • group 1 is the mistakes. These people are just bad coders. They either can't get shit done at all, or when they do, they leave it in worse condition than they found it. All they do is generate technical debt. These are not necessarily newbies. There are plenty of senior devs who are just bad. Both interviews aim to minimize the number of these kinds of hires. That's what fizzbuzz and other coding quizzes are for.
  • group 2 are the 1x devs. Call them code monkeys, paycheck developers, whatever you want. A large bulk of devs fit into this group. Ask them to do something familiar, like building out CRUD apps and they do that very well. Ask them to do something new, as Interview 1 asked OP to do, and they look at you like you're a lunatic. Interview 2 is designed to find and optimize the hiring process for these devs.
  • group 3 are the 10x, 100x, and 1000x devs. These people think differently. They ask why. They realize that sometimes the stakeholder is asking the wrong question or the goal is wrong. They can take ridiculously vague goals and come up with something very valuable without a 10-180 page design document with specs and reqs. They can solve completely new questions that few others can. They code in their spare time because they enjoy it. They breathe KISS and reusability, and reduce technical debt all over the place. Interview 1 is designed to find and hire these devs. These are not stupid or lazy questions. They have very specific goals behind every single question.

The higher order devs are not magically better for companies. Whether you need 1x devs, or higher order magnitude devs for a particular position varies by the lifecycle of the company and the department. For example, large enterprise companies can't only hire 10x, 100x, 1000x devs. Not only are there not enough of these high end coders to serve the company's needs, these devs are in high enough demand that they can pick and choose the problems they work on. These devs don't work on menial CRUD app tasks. These devs only put up with that stuff so long before they quit out of boredom. These companies need 1x devs. Sure, lots of these companies want 10x devs to work at 1x wages, but they'll readily accept 1x devs. In contrast, in a small startup, if you're not a 10x, 100x, or 1000x dev, GTFO... you're not welcome, and very likely contributing to failure of the company.

/r/webdev Thread Parent