How to Build a Dream Team: Tips for CTO by@morganmsk

How to Build a Dream Team: Tips for CTO

Vitaly Kukharenko: How to Build a Dream Team: Tips for CTO Vitaly Marenko. He says a team is a group of people going to a common goal and united by the same motives and interests. He lists some basic principles necessary for successful teamwork: interest in performance, motivation and engagement. Vitaly: "What's important to one person is entirely unimportant to another, and in a short time, everything can change again" He says it is irrational to hire people for whom there will be no work in the nearest time and other employees already have enough potential to solve problems.
Vitaly Kukharenko HackerNoon profile picture

Vitaly Kukharenko

Husband, Father, Son, Visionary, Successful Entrepreneur, IT Geek

linkedin social iconfacebook social icon

With no tactic or strategy, you can't win. In any team sport, if you gather super players together and expect to win without giving them time to play together, you're setting them up for failure. This translates over to the business world when you are hiring a team of experienced professionals.

When you hire and lead a team of experienced professionals, you need to know how to solve business problems.

The Team and the Causes of Ineffectiveness


A team is a group of people going to a common goal and united by the same motives and interests. In theory, this is beautiful, but the practice is different.

Here are some basic principles necessary for successful teamwork:

  • Interest in performance. Programmers need to understand why they are doing specific tasks. You cannot set a task without explaining to the person at what stage it is required and how it will be useful in the future.
  • Motivation and engagement. The Team Leader and his team can be motivated in different ways. The Team Leader may be focused on the deadline, while the team might be focused on the technical side.
    Your leadership task is to synchronize contexts, common understanding of expectations, deadlines, requirements, and accepted standards. These may seem unimportant, but these little things make up a team atmosphere.
  • Detailed discussions in a team. When you need to perform a difficult task, the ways of solving it are discussed among colleagues. If someone can speak out, it is good, but sometimes people do not offer anything; instead, they wait until they are given a specific task to perform. They don't suggest anything because they don't know how they can be helpful. 
  • Speaking the same language. Everyone has a different perception of the world, leading to misunderstandings when talking about the same things. For example, when asked to imagine a dog, people will have an image of a specific breed: some will picture a dachshund, others will picture a collie, and still, others will picture a retriever. Because of the difference in thinking, even simple work tasks turn into some nonsense. There are several interesting psychological tests that you can take together with your colleagues to entertain yourself and improve your understanding of each other's mindsets.

Even though a group of individuals is called a team, they are not. People do not know exactly which direction they are going and what they are doing it for, so they pursue different goals. In addition to being driven by different interests, each person is also in a different life situation. Someone is at the beginning of a career and is thinking about building it properly, someone is about to have a baby, and the other wants to learn a new subject area for himself. What's important to one person is entirely unimportant to another, and in a short time, everything can change again.

Tactics, Objectives, and Goals


It is irrational to hire people for whom there will be no work in the nearest time and other employees already have enough potential to solve problems. Such an approach goes against the way the business is run.

Evaluate the scope of work to be done before hiring employees. Write an action plan, stating:

  • What tasks the employees are expected to perform?
  • What issues they should be competent in?
  • What they will be responsible for?

Pay attention to these things, and don't start the search until you've thoroughly analyzed everything.

Working with a Team: the Nuances of Management


I once read some interesting theories about the most optimal number of people in a team. George Miller, who researched short-term memory, concluded that a person remembers 5-9 incoherent elements and does not look for a common characteristic to combine them.

Jeff Sutherland, who developed the Scrum methodology and replicated the success of "Toyota", believed that 7 people should handle one project. He came to the conclusion that such teams can increase efficiency by 8 times.

To my surprise, these theories work. By dividing 12-13 people into 2 teams, I managed to increase their productivity. When new people joined the staff, I created another group of 6 people.

I will list the tips that once helped me manage a team. They are not new but useful in practice.

Here Are Some Tips To Manage A Team Successfully


Gather people with different qualifications into the team

At the beginning of my project, I made the mistake of dividing my employees into two teams, one of which was of a strong qualification and one of which was not as experienced. When I created new teams by taking people from the two previous groups, they became more productive. The strong ones became mentors, and the weaker ones learned from more experienced ones.

Look for what motivates an individual employee

All people are inspired by different things: some are driven by money, others by a high position, and third by professional growth. Give people something that motivates them, and they will put in more effort.
This way is more effective in the long run because it satisfies both the employees' and the company's interests.

Make the tasks moderately tricky

The programmer is among the valued employees. He must continuously improve his skills, but he cannot do this with routine tasks. He needs to have more challenging assignments so that there is room to grow. If an experienced programmer is given the same that a novice can handle, he will quickly lose interest. Alternate ordinary tasks with more difficult ones.

Avoid total control

Employees must be responsible for their work. Given the need to be good, petty control is harmful. Besides being demotivating, it also reduces productivity.

Convenient work schedule

It took me a long time to prove to my superiors the effectiveness of the flexible schedule. After proving its feasibility in numbers, our team agreed on working hours. All employees could choose when it was more convenient for them to be at their workplace and when to be away from it, if necessary.

Engage in training

Set aside a budget to attend workshops, conferences, and other events. If it's expensive, train your team in an informal setting. Over a coffee cup, employees can share their experiences and work methods that help solve complex problems.

Management without management

I think it is the highest level of piloting when you are not controlling the execution of a particular step but working on the company's development. It's easy to give direct instructions, but it's hard to control every action. The Team Leader should periodically talk about problems and new activities, while others offer ideas to solve them. I believe you can build a strong team and establish employee communication by using this method of management.



From Team Leader to CTO, any leader makes the team productive by reducing factors that distract or negatively impact people. 

Team productivity, in my opinion, is enhanced by communication. Using the basics and guidelines below, you can build it properly inside your team.

Outline the ultimate goal

Before implementing any functionality, you need to talk about its purpose. For example, a company can make more money if it increases sales by expanding its assortment through integration with partners. It will be easier for the team to understand the original sense of introducing features by explaining the purpose.

Communicate with employees about their skills and experience

Look for people's strengths and weaknesses by talking to each employee individually. In a team, one person's strengths should compensate for another person's weaknesses. This way, you can increase the productivity of the whole team.

Solve problems together

Get all team members interested in the topic of discussion. It is more effective to solve a problem of one department with the whole team. At first, everyone tends to keep quiet, so ask questions so that those present have a say. Employees see the problem only in what they are dealing with directly. When they solve a problem in their area, they don't think about how it affects others.

For example, when creating a system in which both employees and customers will work, developers first think about their convenience and then redesign everything for the customer's comfort. If you discuss this from the beginning, you can make a convenient system that suits everyone at once.

A mistake is a way to a new solution

Let the team know that a mistake is not a failure but just an opportunity to solve an issue differently. Everyone makes mistakes because they are part and parcel of the work process. You can't pedal without falling off the bike.

Speak in simple terms about complicated things

Explain in simple terms so that the person has a clear idea of what is being said. People who do not know what they are talking about have a hard time explaining it.

Well-deserved criticism

Avoid negativity, argue, and look for alternatives instead of being definite about the proposed solution.

Act together

If you need to solve a problem, gather everyone together. You don't need to call workers individually. On the contrary, they need to be involved in the process to find a good idea. A programmer doesn't just write code but works partly creatively, which requires freedom. If you work together with problems all the time, you can find attractive solutions.

Help room

Create a place to share problems and be heard. Employees need to know that they can come in and talk about anything that messes with their job, from a broken chair to an incorrectly assigned task. Communication will never happen if employees can't communicate among themselves and with you. Talking to them from time to time will increase their productivity and prevent team conflicts.

Words of gratitude

Thank your employees for a great job. Simple words "thank you" are appreciated if the praise is well deserved and not often heard.

The whole team should know about the contributions of individual employees. You should periodically summarize the work done, and pay attention to employees whose work has made routine tasks more manageable, solved a problem, or led to an increase in sales. 

To summarize, many recommendations affect communication. Competently built communication eliminates problems at the root and predetermines the effectiveness of employees. This should be done during the creation of the team so that later issues do not arise.

A true team is characterized by responsible employees who know the goals, objectives, and development direction. We can compare their work to rowing, where everyone moves in sync to win. Over time, employees will come up with ideas to improve or optimize their workflow. They will begin to identify problems and take the initiative to solve them. This atmosphere changes the way routine tasks are handled.


A productive team learns through mistakes, grows on itself, and quickly corrects and anticipates faults. Each team member can listen and help others. The team develops: when everyone works to improve, everyone individually begins to strive to do better.

People who understand the ultimate goal at the time of performing a simple task are more motivated. They can find a solution to a problem that others don't know about without understanding the goal.

It is necessary to communicate and set up development processes in the team. The Team Leader should spend 80-90% of his time on processes and people and the rest of his time on coding.

People are the company's primary resource. Treat them as you would like to be treated yourself. Create conditions for their growth and development.

It took me several years to get the team up from scratch in one of my most successful companies, after which I left it. I gathered and raised an excellent team and properly delegated processes. In case of failures, they promptly fixed everything without my reminders; the initiative of improvements became not my requirement but the team's desire. Developers were motivated for the project's success and growth, feeling their importance in this chain and personal responsibility for their product to the consumer.

I left without any remorse, leaving a full-fledged team of independent specialists who grew out of a bunch of engineers. The effectiveness of this approach is confirmed by the uninterrupted work and developing business. Good luck to everyone!

About The Author: My name is Vitaly Kukharenko! I am an entrepreneur, CTO, and IT Manager with 10+ years of experience. This article shares my personal experience with IT Management­­­­.

react to story with heart
react to story with light
react to story with boat
react to story with money

Related Stories

. . . comments & more!