a Technical Team Lead. ▸ What success looks like. ▸ Communication. ▸ Ingredients that make up a great engineering team culture ▸ Mentorship ▸ Engineering management and leadership skills
technical chops. ▸ Have reached some level of competency in various areas of software development: ▸ System Design - to architect your software and validate all the risks on early stages. ▸ Operations - to keep your systems up and running. ▸ Quality engineering - to prevent loss of your company's reputation. ▸ Engineering management - to delegate implementation to your team or even other teams. ▸ Lead with company values. (Andela “EPIC” Values) ▸ Understand the business ▸ Deliver value to customers
Mobile (Android) * ▸ Mobile (React Native) * ▸ DevOps ▸ Product & Design ▸ IT ▸ Operations (Main Stakeholders) The teams with the * are the teams I currently lead
Need analytics to understand how conference & meeting rooms are being used at the office. ▸ A system that enables the company gets insights needed to refine space to fit changing needs. ▸ System that enables users to give feedback about the state of the different conference/ meeting rooms. SOLUTION
gap. ▸ Some engineers had never done Android or GraphQL ▸ Communication Breakdown because of team size. ▸ Lack of proper product support: ▸ Slow turn around time for designs. ▸ No full time Product Manager. ▸ No backend. ▸ Slow builds.
Admin access to Google Calendar API. ▸ A strong competitor: Robin App ▸ Building out certain complex features: ▸ Notification System ▸ Custom Views ▸ Fragments. ▸ Deeply Nested UIs affecting performance. ▸ Bureaucracy and Company Policies: ▸ Okta & HelpDesk ▸ Remote Teams & Cultural Nuances.
into the trap of writing code all the time and leaving other responsibilities behind. ▸ You are no longer an individual contributor but a multiplier. ▸ You are to multiply the productivity and impact of your team.
are your responsibility. ▸ Be aware of the mood of the team and how that affects your team. ▸ Be an emotional outlet for the people’s problems. ▸ You are to remove any obstacles in their way that they may be experiencing. ▸ Practice empathy and create psychological safety in your team.
impact to team: If you take on all the interesting challenges, what is left for everyone else? ▸ You don’t want to take all the hard decisions on, bcoz you won’t have all the tech information your team will have. ▸ Involve you team in the process of decision making. They will own the problem solving process more if you do this. ▸ It empowers them to think critically and allows the team to come up with the best solution for the challenge.
Engineers can be strong willed and very opinionated. ▸ As a result, arguments are bound to happen from time to time. ▸ Think about how you resolve arguments in the team. ▸ Help the team come to a consensus.
Don’t make the assumption that the team knows what they are doing. ▸ You need to strike a balance between stamping your authority and not doing anything at all. ▸ As a TL you need to ensure everyone is aligned rather than pulling in different directions. ▸ Think about time for different initiatives: ▸ Time for playing with new tools ▸ Time to solve technical debt built over time ▸ Time to churn out features.
OK to say: I don’t know. Let's ask someone or find someone who knows. ▸ Side Effect: You have exposed a place of vulnerability and vulnerability give you a really strong place of being a leader. ▸ It shows we can never be perfect and that we can give other people an opportunity to learn and grow.
what gives you credibility and what helps you make decisions and lead your team effectively. ▸ This doesn’t mean that you have to know everything. ▸ You have a team behind you, leverage their knowledge. ▸ Create career ladders for your engineers. ▸ Not everyone wants to get into management. ▸ Create opportunities for growth ▸ Leverage these ladders for feedback and performance reviews. ▸ Feedback loops that enhance career growth. Timely useful feedback. ▸ You depend on your team to meet your KPI/ OKRs ▸ Ensure knowledge is evenly distributed to prevent bottlenecks & empower the team to continue producing quality output as you go. ▸ S-Curves of development is your responsibility.
DEVELOPMENT ▸ The low end, involving a challenging and sometimes slow push for competence. ▸ The up-swinging back of the curve, where competence is achieved and progress is rapid. ▸ The high end of the curve, where competence has evolved into mastery and can quickly devolve into boredom and disengagement. TIME LEARNING
addition to understanding the competence level of your engineers, you should also understand the kind of engineers on your team: ▸ RnD engineers. ▸ 20% time would work great for them ▸ Gurus working on the bleeding edge. ▸ Routine Engineers: ▸ Love routine and writing maintainable & bug free code ▸ Understand the personalities of people on your team. ▸ People are complex. ▸ Think about each person individually instead of generalising them.
Rapid Change New Normal Focus Motivation Communication In person 2 way Empathy In person 1 way Context Written 1 way Transparency Values Vision Product Strategy & Roadmap Empower vs Direction balance Inspiration Clear Goals Investment (in the important company priorities) Prioritization Biz Model Profit Execution and Delivery (on Key initiatives) Investment
▸ Reviewing code. ▸ Outlining technical skills to learn - level up project & curriculum. ▸ Pair programming. ▸ Discussing engineering tradeoffs. ▸ Explaining how to prioritize better. ▸ Offering guidance on how to work well with different team members. ▸ Leverage an engineering growth framework. ▸ How an engineer can grow from one level to the next.
you reward grows and what you “punish” dies. ▸ If you don’t speak up about the wrong, your are responsible for it spreading. ▸ Culture evolves and changes over time.
(Andela Engineering Playbook) ▸ Open Source Contributions. ▸ Announcing a promotion is one of the most engaging cultural events that can happen on our team/ company. ▸ Spot Check Sessions. Midweek team syncs to catch any crucial things that may affect the demo. ▸ Building Trust. (Trust Banks) ▸ Feedback. (ASK Feedback) ▸ Celebrating wins. ▸ We speak Emoji. ▸ Humour: ▸ Makes the tough days bearable. ▸ Growth Mindset.
back and forth on a matter more than 3 times on slack, jump on a call. ▸ Daily Slack Threads. ▸ Github Wiki Info: ▸ Contains videos of our spot check sessions and core pairing sessions. ▸ Helps with knowledge distribution in the team.
▸ Rolled out to 3 locations. Currently rolling out in % ▸ Major Backend refactor that resulted in an Android v2 ▸ Currently saving the company money. $20,000 annually. ▸ Working on a companion application in React Native. ▸ Operations team can make data informed decisions around optimal room usage and they can get feedback about the room from users. ▸ Currently exploring the idea of open sourcing this solution to help other companies solve the meeting room management problem. ▸ Automation of Google Play Store Deployment ▸ Happy Developers. ▸ Slack Notifications for room statuses.
size fits all, you will have to experiment a lot and see what leadership style works with your team. ▸ Your team culture is about the people, build it together. ▸ Grow your network and learn from other TL’s in the industry. ▸ The non-technical areas are just as important. ▸ You may get less instant gratification from the non-technical but they are just as important ▸ Time Management is critical skill you will need to develop.