Hacker News new | ask | show | jobs
by fwungy 736 days ago
I've been at this business for a few minutes and can say it's not that hard to identify good candidates.

1) a native and active interest in computing 2) good english 3) good (enough) social skills

A good software team is built like a good NBA team:

1) a limited number of exceptional performance contributors, not many of these, by definition. Right tail of the normal curve. 2) Good support players with specific skills and the personality to allow your superstars to maximize their potential.

Everyone seems to be looking for 1) in the interview process because that's the gold, but 2) are extremely important to get 1) in the door and working at optimal.

Finally, you need to avoid

3) frictional team members, i.e. negative work. These are people who inject drama into the team process that does not contribute to outcome. A passionate team member who takes hard stances at times is a good thing, even if they're not always correct, because they can head off a bad outcome early in the process. However, someone who just causes drama and turmoil, or even simply breaks the team flow state, is also a big problem.

A team can easily be spoiled by 3) even when you have the perfect superstar and supporting cast because the focus turns from the product to the emotional drama, which is a huge drain.

This leads to a tangential, but important point, the current hiring mandates for modern practice are potentially catastrophic for software development teams. Inserting people onto a team who become 3) will kill a product and drive away your highest value contributors. Superstars in this field don't want drama, they tend to be introverts who are happiest quietly working on their own.

It then follows that meeting modern day hiring protocols often means pushing the equity component into the soft skills side of the company, which means your hiring pool for marketing, hr, project management is reduced to fulfill various hiring mandates. This leaves a lot of experienced, valuable people, who understand good software development because they've done it, on the sidelines because they have the wrong physical characteristics, e.g. the 60 year old who is pushed out of the tech side because of an outdated skill set would probably make an excellent project manager because they understand the SDLC from a technical and personal perspective. Who better to mentor young developers?

But those roles are often going to young college graduates who don't have that experience and just end up glamourized secretaries because they don't have the formative passion for the field.

The NBA superstar/support model works in software development. It's the only thing that creates high quality, high impact outcomes historically. It's the desire to reconfigure the schema into a social change experiment via mandated hiring that causes the complications.