Tech team consulting

How do you get the most of out a technical team?

  1. Knowledge, Experience, Skills
    Do you know how to execute on the work you're selling?
    Are you aware of your missing gaps?
    How are you closing skill gaps?
    How are you helping your team grow their skills?
  2. Communication, Coordination, Leadership
    Does the team communicate effectively?
    Are people in sync, or colliding on when they need input?
    Is there clear leadership and decision making authority?
    Do developer have ownership over their work, or just do what managers say?
  3. Satisfaction, Compensation, Incentives, Relationships
    Do people like working for you?
    Is there anything you can do to improve your working relationships?
    Are you open to feedback from your staff?
    Are you willing to confront and resolve any relationship or communication issues?
  4. Mentorship, Advancement
    How do you help people grow in their role?
    Are you grooming talent for leadership positions?
    Are you communicating your expectations and advice?

 

When your team is performing at it's best, everyone knows what they're doing, they're happy with their roles and enjoy working with each other. Every ticket is an opportunity to learn new things about design and technology, and the team improves over time. Everyone is self motivated to do their best work, and are in alignment with the managers and clients so they're focused on the right thing.

The challenge is getting to this point and keeping it going. Sometimes good developers find new opportunities, or growing developers lose their motivation without effective coaching. It can be hard to find and bring the right people into the team.

My consulting services focus on growing and managing a technical team that can reach and sustain high performance levels. The secret is to get to know each person as well as the needs of the team, and to surface and resolve any issues that are getting in the way of satisfaction or performance. There needs to be an agreement among all that in order to meet performance expectations, all conditions must be met that allow for that to happen. This seems obvious, but in my experience this means confronting longstanding habits and behaviors that have impacted people, and agreeing to a new way that works. If this can't be done, there is no point in continuing the relationship as the misalignment will continue to drag down the work and attitude of others. This means that managers and teammates need to work together, the blame is not on one party or the other.

Developers can quickly repeat things they've done, because they're familiar with how it works. When they encounter new challenges, it can take a lot longer to deliver the work. By working with an experienced developer, they can quickly get the knowledge and experience to get on track. The team needs to have a process for raising their hand and asking for help. Large teams can find people internally, but I offer services to bring people up to speed quickly when you don't have the knowledge in house.

I have on-demand hours available for a set rate. This is for working with your team on architecture, technical, and coding challenges that I am able to help with within a reasonable amount of time. Within this time, I will help get through the current problem and will tailor a relevant training to fill in the knowledge for the team. Between these two services, you will get quick help and quick team building.

A functional team can be strictly professional, or you can develop deeper relationships with people. Usually when people like working together, they will communicate more openly with each other. What relationship do they have with the business though? Their management structure gives them the impression of their relationship with the business. If there are any weak or toxic relationships, it will prevent your team from performing. The only way to know if employees are happy or about to leave is to have enough of a relationship with them to talk about it. You can catch and fix issues, but if they fester, the problems will become permanent.

Have regular check-ins with your staff. Make it clear who in the company is accountable for their satisfaction and empower them to resolve issues. Maybe people just need a break between projects and they won't end up quitting?

Instead of treating developers like cattle, you can treat them like intelligent people who will grow when supported and encouraged. They are often smart enough to understand your intent through your attitude and mannerisms, and easy for bosses and managers to come across as arrogant and bossy. The difference between a good developer and a bad one is often how happy with you as a manager.

Employees expect to have annual performance and compensation reviews that provide a cost of living adjustment for annual inflation AT THE MINIMUM. Within a year of work, a developer gains so many new skills and experience that they are now worth more. If you are unable to recognize and reward the behavior you want, you will not be able to retain talent. Instead you should foster an environment of growth so that the growth of the team actually helps grow the bottom line. Then they will be motivated to do everything they can to grow the company and end of year bonus.

When a developer leaves, it costs the team a tremendous amount of knowledge and capability. Everything they knew about past projects, clients, and unique skillsets are now a black hole for your team. If they were a good developer, it will take a while for others to figure out everything they were responsible for. You may not even know how this will impact your delivery time until you see the loss in velocity later on.