Until last year, I was CTO of a young startup named Cozy Cloud. While the company and the engineering team was growing, my job changed. It was very new to me and I wanted to keep performing well. To anticipate my new situation, I decided to look for documentation on the web. Surprisingly I didn't find much. So, I decided to network with more experienced CTOs and ask them if they can provide me with advice about the practice.
I discussed with people with different backgrounds. One grew a team from 4 to 70, another led a major French news website and another one led a team of 10 during 10 years. From these conversations I gained interesting tips I would like to share with you today. By the way, if you have good insights, links or books to share, I would love to know them. So don't hesitate to let me know!
Tips I collected
- Small teams are more efficient (A team of 2 to 3 people provides excellent results).
- Adding more people won't always make you go faster as the cost in new process and communication has a lot of impact.
- Define clearly the roles of the team.
- Your role is closer to a sport coach. You are no longer the best player of the team.
Relation with the product team
- Product and technical teams should stay close. If the communication is broken, your project is doomed.
- If you don't have a product team, build it quickly.
- Most technical people are not enthusiastic about becoming product owner.
- Understand clearly what is product management.
- It's good if everyone in the team spend time doing support to figure out your customer's problems.
- Engineers are known to be good at doing support.
- Usage of new technologies should be the exception, not the norm (good frameworks: chosing boring technology and the Etsy way of chosing technologies).
- Repeat three times when you ask for something.
- Never grow tired in explaining how the organisation works.
- Define the done, saying "it works" is not enough to be considered as done.
- Firing someone who creates a bad ambiance is a good action.
- Drop customers that occupy too much of your time compared to the value they bring.
Books recommended to me on the subject
During that time, I also read several books people recommended to me. Here is my short list:
- Turn Your Ship Around (awesome framework to build an horizontal organisation)
- Mythical Man Month 2nd edition Chapter 18 (this chapter resumes the whole book and is full of good practices).
- ZMQ Guide - chapter 6 (especially this part)
Of course, good comprehension of agile practices is a must, but you can find many existing publications about the subject on the internet. If you really want a book read Agile Samurai.
To finish, here are several good links I collected at that time. You will find great insights about how to create a team culture, managing your boss and answers about when to code:
- 7 Habits of Highly Successful CTOs
- How I Structured Engineering Teams at Linkedin and Admob for success
- Challenges Managing Dev Team
I hope you enjoy this article and that it will help you in your role as a CTO. All these good practices need confidence and will be challenged a lot by your collaborators, so be bold when applying them. Another thing, never forget that trust is hard to get and even harder to keep.