Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Leading the Droids - The Memoirs of a Technical...

Leading the Droids - The Memoirs of a Technical Team Lead

Roger Taracha

August 09, 2019
Tweet

More Decks by Roger Taracha

Other Decks in Technology

Transcript

  1. ABOUT ME ▸ Software Engineer. ▸ Python, JS, Android ▸

    Dance Choreographer. ▸ MC/ Hypeman. ▸ DIY Hobbyist. ▸ Traveling. ▸ Community Development. ▸ Technical Team Lead - Andela
  2. HIGH LEVEL TAKEAWAYS FROM THIS TALK ▸ Your Role as

    a Technical Team Lead. ▸ What success looks like. ▸ Communication. ▸ Ingredients that make up a great engineering team culture ▸ Mentorship ▸ Engineering management and leadership skills
  3. MY DEFINITION TECHNICAL TEAM LEAD ▸ Software Engineer with strong

    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
  4. TTL’S ARE… THE ULTIMATE CHESS MASTERS Be the chess master

    that provides Vision and Coordination while allowing pieces to move themselves.
  5. TEAM STRUCTURE THE DIFFERENT TEAMS ▸ Backend ▸ Frontend ▸

    Mobile (Android) * ▸ Mobile (React Native) * ▸ DevOps ▸ Product & Design ▸ IT ▸ Operations (Main Stakeholders) The teams with the * are the teams I currently lead
  6. PROBLEM ▸ Tight on space with a growing population. ▸

    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
  7. MANAGING MEETING ROOM AVAILABILITY TO ENSURE OPTIMIZED AND BENEFICIAL USE

    BY AND FOR ALL ANDELANS Converge Vision PRODUCT VISION
  8. TEXT ARCHITECTURE, INFRASTRUCTURE & TOOLS ▸ Java and Kotlin ▸

    MVP & PBF(Package By Feature) ▸ RxJava2 ▸ Glide ▸ OkHttp (Apollo GraphQL) ▸ Timber ▸ Mockito ▸ Espresso ▸ Static Analysis Tools: ▸ PMD, Checkstyle, Spotbugs, Android Lint, Ktlint ▸ Gradle - Build Scans ▸ Firebase (Test Lab & Cloud Messaging) ▸ Google Cloud Platform (GCP) ▸ Kubernetes ▸ Design System ▸ Invision ▸ Github ▸ Code Climate ▸ Circle CI/ Jenkins ▸ GraphQL & Flask (Backend) ▸ Fastlane ▸ Beta by Crashlytics ▸ Google Playstore
  9. CHALLENGES WE FACED IN THE EARLY DAYS ▸ Technology Knowledge

    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.
  10. MORE CHALLENGES… ▸ Lack of access to crucial systems: ▸

    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.
  11. CHALLENGES TEST YOUR LEADERSHIP ABILITY & AS A RESULT YOU

    WILL MAKE MISTAKES TheDancerCodes QUOTE
  12. MISTAKE #1 WRITING CODE ALL THE TIME ▸ Don’t fall

    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.
  13. MISTAKE #2 THINKING PEOPLE ARE SOMEONE ELSE’S PROBLEM ▸ They

    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.
  14. MISTAKE #3 MAKING ALL THE TECHNICAL DECISIONS ▸ Think about

    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.
  15. MISTAKE #4 THEY WILL RESOLVE ARGUMENTS ON THEIR OWN ▸

    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.
  16. MISTAKE #5 THE TEAM KNOW WHAT THEY ARE DOING ▸

    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.
  17. KEY LEARNING FROM MY MISTAKES VULNERABILITY IN LEADERSHIP ▸ It's

    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.
  18. WHAT DOES ENGINEERING LEADERSHIP LOOK LIKE? ▸ Hands-on expertise is

    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.
  19. THE 3 DISTINCT PHASES OF DISRUPTION IN THE S-CURVE OF

    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
  20. S CURVE FRAMEWORK The S Curve is a framework you

    can use to determine which level your engineers are at and the kind of support to afford at each level.
  21. WHAT KIND OF ENGINEERS ARE ON YOUR TEAM? ▸ In

    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.
  22. CHANGE MANAGEMENT LEADING ENGINEERS THROUGH MASSIVE CHANGE ▸ The constant

    thing in our field is change ▸ Types of change: ▸ Technical & Architecture ▸ Cultural ▸ Business ▸ Organizational
  23. CHANGE MANAGEMENT FRAMEWORK BY YVETTE PASQUA Time Leadership Qualities Acute

    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
  24. MENTORSHIP MENTORSHIP IS A RELATIONSHIP ▸ You need define clear

    expectations. ▸ Accountability is key (for both mentor & mentee). ▸ Regular Meetings and Measurable Goals. ▸ Track Progress. ▸ Acknowledge Success.
  25. WHAT DOES MENTORSHIP LOOK LIKE? MENTORING ACTIVITIES INCLUDE EVERYTHING FROM:

    ▸ 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.
  26. CULTURE TAKE AWAYS THE PEOPLE ARE THE CULTURE ▸ What

    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.
  27. OUR CULTURE CONVERGE TEAM CULTURE ▸ Enforcing development best practices.

    (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.
  28. COMMUNICATION ▸ As a TTL your communication should contain: ▸

    Transparency ▸ Context ▸ Empathy ▸ Listening ▸ Tools: ▸ Email ▸ Zoom ▸ Slack ▸ Github: ▸ Pull Requests ▸ Jira - Project Management
  29. COMMUNICATION ▸ Processes: ▸ Rule Of Thumb: If there’s a

    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.
  30. WINS WE HAVE BEEN ABLE TO ACHIEVE SOME GREAT WINS

    ▸ 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.
  31. TEXT KEY TAKEAWAYS ▸ YOU are a multiplier ▸ No

    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.
  32. USEFUL LINKS & RESOURCES ▸ The Constant Life of a

    Tech Lead: https://dev.tube/video/9jd_vpcLK50 ▸ Blog: https://dev.to/backendandbbq/what-does-a-tech-lead-do-1cpj ▸ Leading Engineers through Massive Change: https://www.youtube.com/watch? v=CnODvHsYfao ▸ Blog: https://abc.danch.me/5-signs-youre-a-tech-lead-congrats-4b89b6b9c071 ▸ Slides: https://www.slideshare.net/amitkapoor/whitney-johnson-on-disruptive- innovation