Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Articles How to Select the Right People

How to Select the Right People

In years of building remote teams, I learned one thing – your team will make you succeed or fail. You may say that it took me a long time to understand the obvious and you are right. Too many times I have relied on others to build teams for me; too many times I blamed regions or providers for my own failures.

Just like many of those before me and many that will follow, I looked at outsourcing as a way of solving a technical problem while maintaining or even cutting costs. After years of trial and error I am now a firm believer that no one but me can build my team. People are not widgets that can simply be fitted to a specific spot and just work.

This article is the second article in a series of articles on managing remote teams. The first article Working Together, Sitting Apart shared experiences in developing a rock-solid process for remote collaboration. In this article I’ll be covering some steps required for building teams and sharing my own experience so you can avoid some of the costly mistakes I have made.

This article first appeared as part of a book “How to Get Prepared for Managing a Remote Team (part of a series of books on managing remote teams) where a group of authors attempted to provide some down to Earth practical advise on how to prepare for remote team operations.

Part One: Hiring

My process of building a new team focuses mostly on a few areas. This process is very similar between growing a local team and growing one remotely. There are some caveats and extra challenges that I try to pay attention to when doing it from thousands of miles away without being able to meet with every candidate. These areas are:

  • Detailed analysis of the team’s need
  • Behavior, not skills
  • Prepare screening and interview questions
  • Conduct interviews
  • Make a decision

Below I will go into more details on each of these components, but before I do I’d like to touch on one the most important aspects of all - TRUST. If you can’t trust your team, if you hire people that are not mature enough to be trusted, if you think they need to be treated and managed differently from your local employees, you will not succeed. Not only will trust help you achieve what you need, but it will also allow you to hire absolutely the best. The truth is that remote guys are used to not being trusted. They are very familiar with tight control and micromanagement. They know how to deal with constantly having to explain their decisions or, even worse, not being able to make decisions. Give them a little bit of freedom and show them that they are equal and you have just created an unstoppable recruiting machine.

Another interesting aspect of trust is that it’s universal. There are many debates on which country/regions are best for outsourcing. Some are productive and some are not as much. What remains to be true is that people want to be trusted the same way anywhere in the world. If you treat them as adults and give them room to maneuver, they will respond with excellent work and amazing creativity.

The next several sections will provide a more detailed look into each step and what has worked for me and many of my peers who have successfully built teams in multiple locations all over the world. This would also be a good time to explain my definition of what a successful team is. I am only satisfied when a remote team is equally productive to a similar local team as measured by its customers. It’s just that simple. Note that it doesn’t include costs or number of people or anything like that. I simply expect a similar team structure producing similar quality and quantity.

Detailed Analysis of Needs

For me, the building of any team starts with a very detailed analysis of what my needs are. This analysis is a lot more extensive than just a list of technical skills. By starting with analyzing your entire work process, you are more likely to find people that fit in. Some of the questions that may help you are:

  • What are the personality styles that I require? What is my current team like? Is it a high-energy, outgoing group or more quiet and reserved? There will be plenty of challenges in integrating teams across the world. By picking the right personality we make it a lot easier for ourselves. Another factor that I pay a lot of attention to is the right blend of personalities. A team without a natural leader or a few will not move, but a team with too many leaders in it will have conflicts.
  • What is the communication level that I require? Will this team be working directly with other departments? Clients? Partners? Will they be required to attend meetings with senior management or executives? I prefer to hire people who can speak up and voice their opinion. I would much rather deal with objections upfront than missed deadlines later.
  • What is the work structure? Do I have detailed requirements that I can pass to my team or do I work in an agile environment where extensive collaboration is required? Am I looking for people that are motivated and creative or those that simply follow directions?

By having a good understanding of the type of person I need, I can now focus on technical skills and a breakdown of seniority. One of the main objections I have to a majority of outsourcing providers is their 'blended rate' approach. Blended rate means that they will provide a client with a mix of people needed to complete a job. This mix consists of developers, testers, project managers as well as senior and junior people for each group. Unfortunately this approach takes any control away from clients and may not address their needs. I am a very strong believer in building my own team and interviewing and picking each person individually.

While this approach is more time consuming in the beginning, it pays off over time and uniquely positions you and your company to be able to scale your operation.

Create a Job Description

Creating a job description is probably the least challenging step in the process. Once you know what your team’s needs are you simply need to document them. The tricky part is to include both technical requirements as well as personality traits you require. A job description you’ve created will act as an ad and a marketing brochure for potential employees. Write it so it’s appealing to the right people. The same job description will be used later to evaluate your team members.

By being so involved in building a remote team you are probably shattering many standards that exist in your market. Most large outsourcers simply staff projects with people they have and when they hire, they hire for themselves. You, on the other hand, are not hiring for a provider, you are hiring for yourself. By not limiting your job description to just a list of skills but expanding it to talk about challenges and opportunities as well as culture, you will make it very appealing to a mature and self sufficient job force.

Behavior, not Skills

Having the right people on my team is a lot more important to me than having people with the right skills. “Right person” can have a different meaning for different people and different situation. My “right” person is someone who has the drive, the motivation, and capabilities to get the job done and grow. When interviewing, I pay all my attention to how they will work with the team, how they will solve problems, and how motivated they are. While technical skills are important and some knowledge level is required for each position, these skills are a lot easier to learn than to change someone's personality.

In today's world of agile development and fast pace, our requirements change constantly. New products are being built and the old go away. By hiring the right team players I am a lot more likely to succeed under any conditions and be able to adapt to current business needs.

Having the right people is what will differentiate this undertaking from many that failed.

High Initiative

One skill that you will not be able to teach and train is initiative. I always focus on finding people with high initiative because such people are the foundation blocks that will always get things done. Because of the time difference, your remote team will work in isolation most of the time. They will come across problems like not understanding requirements, or not knowing something, or just having technical issues with your systems. The level of initiative in your team will determine what story you'll hear in the morning. Will it be "here is an issue we had and here is what we did to overcome it" or "we didn't complete our task because we had this problem".

Interviewing for initiative can be challenging. There is no one question you can ask that will give you a full answer. A good place to start is just to ask “Tell me an example of when you showed an initiative.” It’s a very open-ended question which will help you get started. Another question that I always ask of a candidate is this: “Give me an example of when you worked for a company and realized that something could be improved. It could be a process or anything else. What did you do about it?”

Interviewing Questions

I assume that you have a set of interview questions that your team uses. This would be a good time to evaluate them. Are those questions geared toward discovering what a person knows or what a person can learn? No candidate will know everything you need. They will always have to learn new things. By creating an interview set that helps you understand how people learn, how they react, and what their overall capabilities are, you will learn a lot more in the long run than simply discovering their knowledge level about a specific technology.

For remote team members, I try to concentrate my discovery on areas that are important in this particular situation:

  • Can a person find a solution to a complex technical problem?
  • Can a person work without constant supervision?
  • Communication skills, specifically communication skills over email and phone

I recall asking someone a question related to a specific technology we use. A candidate said: “I don’t know, but I can find out and learn it”. Since we were talking over Skype and he was sitting at a computer. I immediately said: “Great. You have five minutes. You have Google. Go for it.” In much less than five minutes I had an excellent answer to my question to more depth than I anticipated. Really the skill I was checking wasn’t technical knowledge, but the ability to solve a problem and move forward.

Conducting Interviews

The first and unbreakable rule for me is that I will only do interviews using some kind of video technology. It could be Skype, Google Hangouts, or whatever else is available. Video allows you to better understand your candidate and also put them at ease. You’ll be surprised by how much easier it is to talk to people by video. Even some of the language issues disappear as people start using an international language of pointing fingers.

It’s an interview, not an interrogation. It’s a two-way interview, not a process of selecting a product to buy. I see this happening so frequently, especially with remote teams. Interviewers will get on a call or a conference and will fire question after question hoping to make a decision. Remember this is a sales opportunity. Do you want to hire the best or the first person qualified to do the job? If you are looking for the best, you need to spend a lot of time on selling your company, this opportunity, and yourself.  Often you’ll have to spend more time and effort on the sales component than on ‘interviewing’. In many markets where offshoring exists, there is a shortage of good people. You need to attract them. If mediocrity is an option, you may continue with an interrogative style of interviewing.

Let me make a few suggestions on what to avoid when talking to people, even if it is at a risk of offending few people that are expert interviewers.

  • Conduct interviews with one or two people at the most. Don’t do group interview. Your goal is to set up an environment where a candidate can show his/her best, not be afraid and reserved.
  • Make people feel comfortable and special. Remember they will make you successful. You need them as much as they need you.
  • Offer a candidate plenty of opportunity to ask questions and share their thoughts. Not only does it make them feel special, but also gives you an opportunity to learn a lot more about them.

Closing a Sale

The biggest disappointment for any hiring manager is when an offer is turned down. You don’t want that happening. After all you just spent a lot of time and multiple cycles of evaluation selecting the very best person. Here is a little thing that I do which really helps me a lot. When I am ready to present an offer, it’s presented with the following quote. “Mr. Best Candidate, please review this offer and this opportunity. If you have any questions or hesitations about the position, please don’t hesitate to reach out to me (this would be an HR person) or directly to the hiring manager. His/her email address is XYZ and his cell phone number is 123”. This makes a candidate feel very special and it tells them upfront what kind of relationship and communication they should expect. If during an interview we feel that there is a high risk of rejection, I will actually make a call myself later in the same day when an offer is presented. It’s a little courtesy that often closes the deal.

Part Two: Settling in

After you have hired your team, the real work begins. Just putting right people in right places is not enough to call it “Done”. The next step is to make this team work together, which is a much harder job.

Forming, Storming, Norming, Performing

Any time you make any changes to your team and especially when you build a new one it will go through stages of first discovering who they are, followed by conflicts and misunderstandings, which will, in turn, be followed by team members figuring each other out and learning to work together. Only after going through all these stages will the team start functioning as expected. The same stages are applicable not only to interpersonal relationships, but also new projects, new processes, etc.

As a leader you’ll be challenged to move your team faster through all of these stages, but if you rush too much you are risking not having the right foundation for the next step.


This stage can be described as a honeymoon period. People are still learning about each other, they are polite and courteous. Some will engage in active conversations and others will observe from the sidelines. This is also the time when your remote team is trying to impress your local team, while your local team might be viewing them as a threat. In my experience of building teams, this period is usually surprisingly short. While this can last a few weeks/months in local teams, it is frequently limited to days or just a couple of team for those that are remote.

Managing this stage can be done by introducing people to one another and ensuring that no one is left out. Extra time should be spent on introducing teams across shores. Investing in some travel where few of your senior people can travel and visit the team offshore will go a long way. Senior people are better equipped to train others and to establish communication bridges. If your project is going on for a while, you can alternate people and even use this travel as a reward for some of your more junior staff members.


As the initial politeness fades away, people’s real personalities start to emerge. Arguments may break out and some negative emotions can start forming. These are the conditions under which the situation can be especially fierce: more than one person is fighting for a leadership role, objectives and/or roles are not defined, people feel threatened. Remote location and distance between teams and team members only adds to the complexity. People’s minds tend to always assume the worst and as a result, anything that’s done by someone else is frequently taken out of proportion. Because of natural insecurity surrounding local teams when an offshore team is born, this where you’ll frequently see passive-aggressive behavior or openly hostile relationships.

Managing storming is best done by first minimizing external factors. Define roles and responsibilities, define short and long term goals of the team, and address any external threats that might exist. Beginning to establish rules promoting communications and collaboration can also help. At the very least this is the time to understand why those rules are needed. Since you are dealing with geographically distributed teams, this is the time to start managing communications. The key is to develop mutual respect between teams and team members. Once there is respect the rest will start falling into place.


As personal conflicts are ironed out and roles are defined, the team will start focusing on accomplishing tasks. Feeling more as a team people will start helping each other. Group rules are defined and refined. Also internal conflicts might be replaced by external and ‘us vs them’ attitude. As in many offshore teams, this phase is associated with the understanding of roles of the remote team and fears beginning to subside. As teams continue to work toward the same goal, minor issues and disagreements will disappear.

Managing norming requires a very balanced focus on people and work. As people get used to working together, things will just start happening. As a leader you need to continue pushing your staff to work together and work past their differences. It’s too easy to accept conflicts as a norm and start working around them, but it’s not productive. Another challenge is not to stop too early. Seeing teams getting better at working and results improving, one might assume that the work of establishing a team is done. It’s not so and stopping too early will push teams back to earlier stages of development.


This is the stage where your team has reached the optimal level of performance. A team now is a like a good group of friends where personal differences are worked out. The ultimate test to know if you’ve reached this stage is to have any separation of onshore/offshore or local/remote teams removed. Work should be progressing without any regard to the person’s location, and performance measurements should be absolutely identical for any individual regardless of their location.

This is not the time for a manager to just let loose and disappear. Instead of focusing on people the focus should shift to work and projects. Attention should also be paid to maintain an effective team ecosystem.

Your teams will be constantly changing by way of adding and losing people, changing projects, changing management, etc. The cycle described above will be repeated over and over again. With every major change, you should expect going through all stages for forming, storming, norming, and performing to some degree. As your group’s leader, it’s your job to identify those stages and apply the right level of involvement where needed.


Another very important factor of building a team is to maintain it and let it constantly grow. As part of the remote team-building plan, there should be a section dedicated to ongoing training. Not only will you need to provide initial product training to get the team growing, but you also need to invest in ongoing technology and developmental training for your internal team.

The beauty of a well thought through training plan is actually two-fold. First you’ll provide training, which will help your team grow. But even more importantly, it also provides one of the best retention and recruiting opportunities.

You may think that everyone provides training and yours wouldn’t be any different, but this is not the case. Your competition is another company that is in business of either building an outsourcing shop or using an existing outsourcer. When companies view their remote teams members as easily replaceable widgets, they don’t invest in them. This is what will make you stand out. Your approach of having a remote team as your own and treating them as you would your own, will bear fruit in no time. The cost of investment will be recouped and the team will be more productive.

The good news is that doing so will not break your bank account. For example, a good professional conference in Ukraine may cost under USD 500 to register. Travel costs are also lower than what you’ll find in the United States. This is a very small investment which will bring an ongoing string of qualified and dedicated candidates.

Apart from formal training and conferences, don’t forget to use existing team members for peer-to-peer knowledge sharing. It is important to pay extra attention to provide this training both ways. Way too often companies will do training sessions where someone from their main office teaches their offshore team. This is unavoidable as this is how knowledge transfer happens, but as time goes on and both teams develop unique skills, they need to start sharing it both ways.

I remember well the first time I told one of the senior engineers in my remote team to conduct training on a technique he developed for our team in US. His was really uncomfortable with the proposal and was very concerned that he is ‘just an offshore guy’. Not only did this training session help with sharing a very useful skill, but it also helped break yet another barrier in the way of team integration.

I hope that using some of these techniques will help you build a better team and have your projects be more successful than ever.

About the Author

Zhenya Rozinskiy is a seasoned technology leader with expertise in an entire cycle of software development. With over 20 years of IT experience Zhenya had an opportunity to help grow and make successful many companies of different sizes and different maturity levels. Zhenya has successfully setup and managed local development organizations as well as offshore development centers in various locations including Asia, Europe, South America, and Middle East. Zhenya is a frequent speaker at technology conferences, trade shows, and user groups. Zhenya has also taught classes in software development processes life cycle at University of San Francisco and published several articles on the subject in Software Quality Assurance magazine. In addition Zhenya Rozinskiy is a coauthor of series of books on establishing, growing and managing outsourcing engagements.

Rate this Article