You can’t build software without communication and teamwork.
Published: 2020-02-10
The demand for software developers that are “rockstars”, “ninjas”, and “10x” are on the decline. This isn’t because employers don’t want amazing coders anymore. Rather, it’s because they’ve realized that they’ve been looking for the best coders when they should have been looking for someone that is most likely to help achieve their organizational goals.
Hiring for the skills you need: teamwork and communication
Almost all software is produced by teams of people. Coordinating these teams is hard. There’s the famous adage: ‘what one developer can get done in one month, two developers can get done in two months.’
What makes it harder is if the team is composed of people who lack the skills necessary to work well with others. If the team isn’t working well together the product suffers.
While a good manager can take steps to improve communication and teamwork, making sure a person has those skills before they are hired is an obvious strategy for success. These skills are critical to a product’s success and should be evaluated during an interview as thoroughly as a candidate’s technical ability.
Hiring managers should challenge a candidate to gather (mock) requirements or write documentation. They should ask probing questions about how the candidate has handled interpersonal conflict.
Being able demonstrate teamwork and communication skills should be on the mind of anyone seeking a job in the tech field.
Shared goals
There’s a great scene from Saving Private Ryan when they are deciding to storm an enemy bunker: “it’s not our mission” a soldier gripes. To which Tom Hanks replies: “our mission is to win the war.”
A software developer’s mission is to help make the best product they can. If a colleague is struggling to implement a feature it is the responsibility of the entire team to help that developer out.
Software that is riddled with bugs is still a piece of junk, even if the code you worked on is flawless.
Implementing shared goals isn’t as easy as setting policy: it’s about developing culture. Things like sensible policies are important, but good leadership is critical. Selfishness and backstabbing will destroy a team, and must be snubbed out quickly and firmly.
If you are part of a team with leadership that tolerates selfishness then you should seriously consider changing jobs. Not only will that job be soul-sucking, but you’re not likely to be a productive team, either.
Everybody wins
If you’re able to be part of a team that works well together and has shared goals you’re setting yourself up for success. And when failure does come, as it does periodically on all teams to some degree, you’ll have positioned your team to learn from your collective mistakes.
It’s better to be known as one of the developers on a team that successfully launched a product, than the best coder on the team whose product flopped.