Wednesday, January 29, 2014

8 Practical Tips for Technical Team Leadership




This is the first article in the series "CTO Tips From the Trenches". The article is based on my personal experience as CTO, Manager, and Team Lead and focused on selected practical aspects of team leadership. I included tips I used most 
(prioritization poker anyone?)

Most of the tips here are pretty obvious and common sense-based, do not expect anything you would not come up with yourself. And yet formalizing and following a few simple rules included here can make things… more efficient.

Let's dive in.


Tip #1: Before you start hiring - take a pause... and plan


How many times have you hired a developer because your team is shorthanded, realizing later there is not enough work for his or her skill set? Or brought in somebody just because he or she was recommended and available? 



Here's a lesson I learned. Before putting together a new job profile - pause, ask yourself the following questions, write down the answers:
  • what is the team's goals? (what do you want the team to achieve within a year)
  • what positions and skills are necessary to achieve the goals?
  • what position shall I fill first? (fill Senior positions first!)

Once you formulated the answers you can start writing job profiles - you now have a vision you understand and can explain to your peers and management.

Tip #2: Be super-selective during interviews.


After screening hundreds of candidates and interviewing tens of them it is easy to settle on under-performing candidates hoping he or she will pick up. Don't (unless it is your intention to hire lesser experienced resource). 

As painful and time consuming as it is - keep interviewing until you and your team feel right about the person. The extra time and effort you spent will pay off with dividends.


Tip #3: Fill Senior positions first.


Something I mentioned already, cannot emphasize it enough - fill senior positions first. Otherwise you might find yourself in situation of micro-managing junior resources with nobody to delegate to. 





Tip #4: Trust your team with decisions


It is extremely important for a team make their own decisions as opposed to accepting somebody else's. Why? Decision ownership. If the decision is made by the team - team owns it and will do everything to achieve the decision objective. Therefore - trust your team with decisions, but...



Tip #5: Put structure around team decision making


Making team decisions takes time, usually more time than management decisions. To speed things up - put structure around the process. 

Have a standing weekly (or whatever frequency makes sense) "technical decisions meeting" with your team. Go through a backlog of problems, prioritize them, identify constraints, start discussing and documenting solutions. 


Tip #6: Keep the Final Say


Although it sounds like contradiction to #4, it is not. It could be situations where team is divided over the decision or do not take into account certain important constraints. 

In such case be ready to take over, providing arguments to the team regarding your choice. Ensure it is known ahead of time that you have final say (and are not afraid to use it !). 

Word of caution: exercise this prerogative only when there is no other choice, otherwise you are risking undercutting the team self-confidence.


Tip #7. Work on team culture


Whether you managing a team or department - work on team culture. Making people feel they are part of unique team identity will increase team performance and help to attract and retain talents. 




Tip #8. Use common sense!!!


It is easy to follow well known methodologies and processes, however at the end of the day none of them will cover 100% of situations. If you not sure what choice to make between several options - common sense is your best friend!


Next: Ideas Prioritization with your Team: Agile Approach

About Author:

Alex Apollonsky has over 20 years of technical leadership experience in software industry. Throughout his career Alex served as CTO, Architect, Technical Lead, and Technical Manager across multiple companies and projects, was awarded several US patents, certified Project Manager and Scrum Master. 

Attributions:

photo used courtesy of Rilee Yandt under Creative Commons License
photo used courtesy of Paul Inkles under Creative Commons License
photo used courtesy of Joel Telling under Creative Commons License
photo used courtesy of richevenhouse under Creative Commons License
photo used courtesy of Daryl I under Creative Commons License


No comments:

Post a Comment