If you are a junior developer or an intern, you don’t know what a good workplace looks like in software development. Even if you are an experienced dev, you might work at a company that has bad habits or a huge technical debt. Don’t get stuck – finding a more efficient workplace can help you speed up your career.

However, unless you have a friend inside, you have to work there to know how good they really are.

I specialize in the technical aspect of hiring developers: I have conducted more than 500 interviews with devs during my career. I also helped to create world-class engineering teams for Lazada and CodersRank; some of them now work for Google or Amazon.

Over the years, I concluded that there is ONE question you can ask at a developer interview and immediately get a glimpse of the type of dev team you’d be joining.

Just one question and you will know whether that team is a high performer or they just try to look like one.


What is a high performing team?

Before we talk about the question let me clarify what I consider a high-performing team. A high performer team can get a job done fast. They can keep up high velocity without burning out the team. AND it is fun to work there. Teammates help each other and individuals can grow. 

How to identify high performing teams

Ok, enough talking! The question you should ask at every technical interview is:

“How often do you deploy code to live?”

And the right answer to that? Here’s what you want to hear: “on-demand”, or “several times a day”. What you don’t want to hear: “every quarter”, “once a month”, etc.

There is a proven correlation between the performance of the team and the number of deployments. The higher the number the better the team performance is.

Related: 15 surprising things tech recruiters look for on your profile

Why are accelerated deployments a good thing?

1. Advanced technical knowledge

High performance cannot be done without sufficient technological background.

There is a high chance of regular CI/CD, testing, code review, monitoring, proper version controlling and change management that is already implemented. So if you haven’t worked with them you will have a chance to learn.

Implementing so much automation requires some smart and experienced engineers. So you can be sure you will have good company.

2. High autonomy

A high deployment number means the developers have high autonomy.

Instead of implementing artificial barriers to make sure the dev team doesn’t make any mistake, the management trusts the dev team. It feels much better to work in an environment where teammates cover each other’s back. This team culture prefers collaboration to individual gatekeepers. 

3. Optimized for speed

Instead of waiting weeks or even months, your code might be live a few minutes or hours after you pushed it. It helps you keep your projects on track and fix problems much faster. Because you don’t have to pick up old tickets and remember what you have done several weeks, months ago. 

(Big shout out to our team here at CodersRank, who migrated the entire CodersRank front-end to Vue 3 in just 1 day.)

Big companies with hundreds of developers tend to have a lower number of deployments/developers. This is a sign of scaling problems. High performers can scale, solve the problems of big teams, they might even increase the number of deployments/dev.

deploy frequency chart
source: Accelerate, Figure 5.1

Overall, high deployment numbers mean high performing team. If you don’t trust me, trust Nicole Forsgren Ph.D., Jez Humble, and Gene Kim they have written a book about it, Accelerate. Excellent book, I can recommend it.

High performers have high expectations

Finding a good company is just one part of the equation. You have to be good enough to get hired. Don’t be surprised if those companies have higher expectations. So make sure to invest enough time in the preparation too. This is a whole new topic but I as a starter can recommend this book: Cracking the Coding Interview.

Exceptions

Of course, there are exceptions. Some teams don’t deploy frequently but they are still high performers. And the opposite is true. Some teams deploy a lot but still cowboy coding, not caring about the risk and breaking live regularly. 

I also have to mention that there are industries where it is not possible to deploy frequently. You might have no chance to revert your code after a reactor meltdown or alter the code after the rocket exploded on the surface of Mars.

Conclusion

So, there you have it. Make sure to ask the recruiter or company about their deployment practices to get an idea about their coding culture.

This way, you can significantly lower the chance to land a job where your career development gets stuck for months or years at a time. On the other hand, I have also heard about developers who were actively looking for bad performers. They wanted to help these companies get on the right track and become high performers. 

Anything is possible. The most important thing is to stick to your preferences ’till you find the right place. Good luck!

Open to new opportunities? Create a developer profile on CodersRank to find a tech job you love & deserve.

Author

CTO & founder of @CodersRank, the very same website you are looking at. Back-end developer, father, sports man, author of an e-book and audiobook, creator of an online interview platform. Avid gamer when time allows. | CodersRank: Our goal is supporting CODERS growth by their always up to date, professional CodersRank profile.

Write A Comment