What Makes a Great Tech Team?

The People and the Culture
(the technology is only a part of the process)

Hiring the right team members is crucial to the process.

There are two aspects to creating a great team: hiring the right candidate for the role and hiring a person with the character traits that align with the organization’s goals and values (the culture). Sometimes this means reassigning current team members within the organization to achieve these two points.

Well-defined organizational objectives, behaviors and values guide decision-making on which candidate to hire. In this manner, the team and culture become aligned towards the goals to achieve.

Qualities to look for in candidates are:
  • Passion - The team member loves the work they do and wants to do more - pushing the boundaries.
  • Loyalty - They understand the company goals and want to help meet them. The team member is not afraid to get into the trenches and do the hard work.
  • Collaborator - Collaboration and communication make a great team member. At the same time they need to show humility - eager to learn, eager to share.

Learning to Fail

Failure is where these three qualities come together to define an aspect of the organization's culture. I believe team members should be allowed to fail. If there are no failures, one of two issues is occurring. The first problem is when the employee is trying to create a perfect piece of code or technology. However, perfection can become the enemy of progress and speed-to-delivery. The second issue is the team is not making an effort to push the boundaries. Pushing the boundaries means taking risks and with those risks come failures. The trick is to fined mistakes early in the process, and there should be some learning as a result of it. Early failures keep the pain to a minimum.

Progress through failure is found by:
  • Clearly explaining why the failure happened
  • Defining the steps to correct the error
  • Tracking the expected results during the correction

When new information is found by correcting an error; explore the possibility of applying this new knowledge in other areas of the organization. The goal is to continually improve the process, whether it be development, testing, deployment or other internal procedures. Fostering this learning process will create an atmosphere where people are not afraid to admit to failure and take accountability.

Creating the right culture within the organization, along with finding the right team members, are vital to developing great technology.