Stuart Kelly is the Co-Founder and Principal Engineer of Zego—a tech-enabled insurance company that offers affordable vehicle insurance for private drivers, corporate vehicles, and fleet vehicles. Zego was founded in 2016 to provide customized insurance coverage that suits the way modern businesses use their vehicles to make money.
Zego’s initial market was the gig economy consisting of freelance private drivers. However, the company saw more demand for customized insurance over the years and built a full-stack insurance company to meet market demand. Zego has expanded its coverage beyond the gig economy to multiple traders and global corporations, as well as integrated its platform with several partners.
The Zego platform features a policy management system that is flexible enough to generate insurance policies ranging from three-minute to year-long policies for thousands of vehicles. According to Stuart, “Zego is determined to provide comprehensive policies while ensuring that its clients do not pay for policies they will not use.”
Stuart was initially the Chief Technical Officer of Zego in 2016, when the company was founded. As the CTO in an early-stage company, he had to wear many hats, working across software development, data engineering, tech operations, IT support, and investor relations.
As the business grew and the team expanded, he delegated most of the responsibilities and focused on hiring, team development, and sourcing for funds. However, Stuart learned that he didn’t enjoy his new responsibilities and preferred building software solutions. This inspired him to create a different leadership path within the organization, the Staff Engineering position, which allowed him to guide the software development within the company and lead on a technical level.
This article covers our discussion with Stuart extensively. However, if you’d rather watch the live session itself, here’s the link to the recording:
Carving out new leadership roles is easier than executing the responsibilities attached to these roles. When you develop those roles, you can assign your preferred duties to them and delegate tasks you don’t enjoy to other leaders. However, it is essential that you have some basic skills to make the transition to your new role easier.
Stuart recommends the following skills for tech leaders considering new leadership paths:
While you’re expected to have the technical skills required to succeed in your new position, it is important to practice and develop great presentation skills to be an effective leader. According to Stuart, “Good presentation skills are the number-one skill every tech leader must have, as most of the responsibility will involve communication.”
You will need to present arguments to software engineers and make presentations to the executive team. You will also need to communicate the company’s plans to your team and give frequent activities updates. You need great presentation skills to execute these tasks competently.
Apart from making presentations, a substantial part of your role as a new tech leader will be managing people, mediating disputes, and resolving conflicts. You may also have to mediate and resolve disputes arising within your team or between your team and other teams within the organization.
In order to diplomatically manage and resolve disputes that may arise within your team, good mediation and conflict resolution skills are essential.
Just like Stuart, you may be in a situation where you’ll need to request that a new leadership role be carved out for you or present other requests that are generally not easy to make.
Having a good relationship with the executive team members and your colleagues will make putting such requests forward easier. Thus, it’s advisable to develop great interpersonal skills to build and maintain good relationships both within and outside your organization.
Joining an organization and growing within the organization takes a lot of work and commitment from employees. However, employers, leaders, and managers alike all have a part to play in ensuring that people enjoy working in the organization by providing the support they need to perform their duties optimally.
If you’re eager to make the working experience for your team members enjoyable, here are the recommended levels of support that you should provide for them:
It’s your responsibility as a manager or leader to give your team members a clear picture of the organization’s future goals. You need to remind them of the company’s long-term strategic vision and how they can contribute toward that vision. This way, they will all be working to further the company’s long-term goals.
If you’re taking up a leadership position in a tech company or product development department, you’ll need to support the product team. You can do this by helping them identify the problems that the product they’re developing is intended to solve, the end users of the product, and the necessary features. This will help them prioritize and deliver products suitable that match the specific needs.
Every tech team needs core operational support to perform optimally. The operational support required may include support in activities such as looking out for backlogs, making sure tickets are groomed, and ensuring code is reviewed fast enough to get features released on time. This is typically the role of a Scrum Master or Delivery Master.
As employees remain committed to meeting the company’s goals, it’s important to give them some form of career support to help them grow in their profession.
According to Stuart, “Everyone with a career is often looking out for their career development.” Therefore, it’s best to ensure that employees leave your organization better than they were when they first joined. This is usually the role of an Engineering Manager in tech companies.
Developers typically know what needs to get done, why it needs to get done, and the order of priority in which to do it. However, they may not know the optimal way to go about it and need some technical leadership to figure things out. This type of support is usually offered by Senior Staff Engineers—good leaders who understand the product’s technical requirements and the best way to get things done.
Offering technical and engineering support to your team is one of the major responsibilities of a tech leader. While this may sound like an easy task, that’s not necessarily the case, especially if you’re switching from a broader responsibility like the CTO position to an engineering or technical-focused leadership responsibility.
To help you succeed as a technical leader, Stuart suggests modifying your leadership style and applying the following techniques:
It’s advisable to discuss technical problems your team may encounter directly with said team. This helps you figure out what areas need improvement and analyze each team member’s strengths. Your team will also learn how to resolve problems from the solutions you suggest.
You should be able to change your leadership style to accommodate different contexts. However, according to Stuart, “Context switching is the most difficult part of being a technical leader.”
While this doesn’t come naturally to everyone, it’s essential to train yourself on modifying your leadership style when necessary to succeed as a technical leader. Your team members are more likely to connect with you if they feel you’re flexible and approachable.
A software engineer is more likely focused on the ticket he is currently working on. However, as a tech leader, you have to be futuristic and think long-term. You should be able to map out plans for the business over a period of time.
This will ensure that you figure out the technical, architectural, infrastructure, and resources needed to execute tasks assigned to your team. However, you still need to be involved with the team’s present activities and provide the guidance they need to meet short-term goals.
The engineering leadership position is not dictatorial. While you may know better approaches to each task, you should be willing to guide and direct your team on the best ways to solve the problem or build the product.
However, Stuart states that you should be able to accommodate the views of other developers. In his words, “You should strike a balance between giving directions and encouraging developers to express autonomy.” If you give the direction and prefer other methods, Stuart recommends agreeing to their suggestions and making it work.
While it’s advisable to encourage autonomy from team members, frequent resistance to suggested methods and frameworks may affect your team’s productivity and slow down projects. Here are some ways you can minimize resistance from team members:
Documenting processes and frameworks for your team will minimize resistance, since the team members can always refer to the documented processes in their day-to-day activities. It also makes delegation and onboarding new members easier, as they will easily align with the team using the documented processes.
While it’s ideal to give your team members autonomy, it’s also important to establish boundaries to minimize frequent resistance. Boundaries should be classified into non-negotiable and negotiable.
A good example of a non-negotiable boundary would be the programming language adopted by your team. For instance, your team members should adopt Python when developing subsequent products if your team uses Python for product development.
If certain processes, principles, or boundaries need to be modified or changed, it’s important to encourage and solicit your team’s input in the decision-making process.
Stuart recommends getting your team to debate on the processes to be changed. You can divide your team into two sides and get each side to prepare arguments on the pros and cons of the proposed modifications, as well as pick team members to debate on the pros or cons.
As a company grows and scales its teams, your responsibilities as a leader may change to better suit the company’s leadership demand. On top of that, you’ll become responsible for steering the course in the major aspects of the organization, which includes developing products the right way. Thus, your actions and omissions may very well affect your team’s productivity and the company’s strategic vision.
Whether you’re taking up a new leadership role or you’ve been promoted to a team lead or manager, navigating leadership responsibilities requires a unique approach and set of skills to succeed. However, with the techniques shared in this article, you should be able to navigate technical leadership successfully.
Thank you for reading our article. Our conversation with Stuart Kelly served as the basis for another blog post, this one about turning insurtech challenges into opportunities. We highly recommend you give it a read or watch the full recording of the live session with Stuart if you’re in the fintech or insurtech space and looking to get insights into common challenges facing leaders in the financial sector.
We also have plenty of other useful guides and resources for managers based on previous Tech Leaders Hub sessions on our blog:
Lastly, if you’re looking to extend your team with expert software developers, we have seasoned professionals ready to support you with your next project. Simply reach out to us and we’ll gladly help you out right away!