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

How to Lead? Testimonial of a Lead Android Engineer

How to Lead? Testimonial of a Lead Android Engineer

In this tech talk, I'll be sharing my experience as a Lead Android Engineer and discussing some of the most important qualities and skills I learned during the past 2 years. I'll explore topics such as effective communication, team motivation, project management, and how to stay sharp with your technical skills.

Inside the Android team at Aircall, our learning and development time is very important. We'll discuss some strategies for personal and professional growth, including continuing education, seeking out mentorship opportunities, and cultivating a growth mindset.

Whether you're a seasoned Lead Android Engineer or just starting out in a leadership role, this talk will provide you with valuable insights and practical advice for becoming a more effective and successful lead in the Android world.

Julien Salvi

April 26, 2024

More Decks by Julien Salvi

Other Decks in Technology


  1. How to Lead? Julien Salvi - Android GDE | Android

    @ Aircall Android Makers by droidcon 2024 󰏃 @JulienSalvi Testimonial of a Lead Android Engineer 󰳕
  2. Disclaimer Based on my personal experience Might not work everywhere

    Challenge and adapt to fit your needs It’s always a continuous learning 🙂 This talk will be interactive 🙌
  3. 2013 2019 2020 2014 2011 2021 Mobile Engineer Intern Android

    Engineer Intern Android Engineer from junior to senior in a team of… 1 to 2. Senior Android Engineer Senior in a team of 3 to 5 persons Senior Android Engineer Lead Android Engineer 🥳 Promotion to Lead Leading a team of 4 persons
  4. “Lead” 🔊 /liːd/ https://dictionary.cambridge.org/dictionary/english/lead • To control a group a

    people, a country, or a situation • To cause someone to do something, especially something bad • To live a particular type of life • To take someone somewhere, by going with them (In boxing) to make the first attacking punch, especially with a particular hand 😅 verb
  5. “Lead” 🔊 /liːd/ https://dictionary.cambridge.org/dictionary/english/lead • An action or an example

    that shows a person or group what to do • A piece of information that allows a discovery to be made, customers to be found, or a solution to be found noun
  6. Senior Engineer Mid Engineer Junior Engineer Tech/Team/Whatever Lead Engineer Eng.

    Manager/Director/He ad of… Staff/Principal/Distin guish… Eng. Individual Contributor (IC) Individual Contributor (IC) Manager path
  7. Build a learning environment 🤓 The daily role 🛠 The

    cross-team party 💃🕺 Staying technically sharp 🔪 Empowering your team 🤝 Building a team 🏗 What’s next? 🚀
  8. Building a learning environment 🤓 Tech skills Core skills •

    Identify what are the needs of the team (tech & core skills) • Make sure to provide enough time to learn • Organize workshops or time to learn with the entire team • Don’t hesitate to try! • Go beyond your team to learn something new • A learning environment creates motivation!
  9. Learning env. @ Aircall 🤖 Android Chapter • Working all

    together on various topics (tech, problem solving, redefining processes…) ⚒ Learning & development time • Personal time to craft new features, learn new tech 🤝 Pair/mob programming • Tackle a problem or a bug with 2+ persons 🧪 Internal hackathons • Hack new features, dev tools for the team
  10. Learning env. @ Aircall 🗣 Internal tech talks • Organize

    internal tech talks to share knowledge between the company teams 󰳕 Hosting meetups • Connect with communities and develop the attractivity 󰳓 Internal training • Manager training, resources available (books, articles…) 🗣 External public speaking • Share what the company is doing in conferences or other events
  11. Building a learning environment 🤓 Propose pair/mob programming sessions A

    Chapter is a good way of learning Motivate your team in learning and sharing A good opportunity to identify and tackle the tech debt
  12. The daily role 🛠 Tech skills Core skills • Tech

    expertise • Problem solving • DevExp • Architecture • DevOps • … • Communication • Leadership • Teamwork • Management • Decision making • …
  13. Team org @ Aircall 🏃 2 weeks sprint 🚀 1

    release every sprint validated by a testing session 🤖 1 Chapter running since 2021 📝 Async where possible (daily, estimation) 🤝 Pair/mob programming at any time 🧪 2 hackathons every year (Q2 and Q4)
  14. My lead role @ Aircall 📚 Sprint organisation & ceremonies

    🤖 Developing the learning environment 📝 Quarterly assessments 󰳕 Active participation in the development/architecture 🏗 Building the tech vision with the team 🧪 Crafting and experimenting new features/tech 🗣 Public speaking internally and externally
  15. The daily role 🛠 Be the entry point for your

    team… … but don’t do everything! Delegate to your team! Free some time (focus time, blocking your calendar…) Empower your team Work on the retention Be always fair Making your team grow will me you grow
  16. Senior Engineer Mid Engineer Junior Engineer Tech/Team/Whatever Lead Engineer Eng.

    Manager/Director/He ad of… Staff/Principal/Distin guish… Eng. Individual Contributor (IC) Individual Contributor (IC) Manager path
  17. Senior Engineer Tech/Team/Whatever Lead Engineer Eng. Manager/Director/He ad of… Staff/Principal/Distin

    guish… Eng. Individual Contributor (IC) Individual Contributor (IC) Manager path DevRel Engineer Developer Relation (DevRel)
  18. What’s next? 🚀 A Lead position is the entry point

    to many roles. • If you’re seeking to move forward with the Manager path: ◦ Moving to an Engineering Manager could be a good position • If you’re more into the Individual Contributor path: ◦ Depending on the career path of the company, a Staff/Senior/Tech Lead Engineer position is the way to go • Have interest in sharing and public speaking, maybe have a look at some Developer Relation roles.
  19. The cross-team party 💃🕺 🤝 Have regular sync with close

    teams (iOS, QA…) 🎯 Context sharing when building new features 🏗 Participate in architecture decisions 📚 Make resources available for other teams (documentation) 󰳕 Communicate (async or sync) Interacting with other teams
  20. The cross-team party 💃🕺 🤝 1-1 with your manager (share

    feedbacks, issues, wins…) 🔝 It’s OK to skip levels 🎙 Expose what your team is doing internally (demos, Slack, mails…) 💯 Share the right metrics to top management Communicating up
  21. The cross-team party 💃🕺 Know how to communicate with other

    teams Regular sync for cross-team features Participate in architecture decisions Make sure to well expose the needs of your team Always share what your team is doing for transparency and visibility
  22. Staying technically sharp 🔪 🔪 Be up-to-date and proactive with

    your current tech stack 🔮 It’s OK not to know everything 🤝 Learn from your team 💥 Learn from mistakes 󰳕 Go beyond your stack (backend, web…) 🧪 Craft and experiment new features/tech 🗣 Public speaking internally and externally
  23. Staying technically sharp 🔪 Continuous learning is key Newsletters, books,

    articles, conferences… Learn from your team and managers, make your own opinion (Team Leads) Always participate in the development Be proactive, experiment things It will help you understand the big picture
  24. Empowering your team 🤝 • As a leader it’s your

    responsibility to empower your team • By making the team grow, it will make you grow • Give them advices, guide them but always be fair! • Trust each other! • Define the career path of each team member according to their ambition and skills
  25. Building a team 🏗 • Building a team is NOT

    always adding new team members • You can be appointed lead in a new team and/or new company • With an existing team, bring your vision and expertise without pulling everything apart • If you need to add a new member, well define your interview process with the team
  26. Building a team 🏗 • Adapt the interview according to

    the target level • Build the interview process by keeping in mind the needs of company AND the team • Build a dialog and understand the point of view of the candidate is essential Defining the interview process
  27. Promotion to Lead but must build a team Promotion to

    Lead with the same team New Lead with another team and company New Lead with another team same company Assess the needs You know the team and how it works Build trust with new team members Establish the interview process for the right level You probably know the product and can iterate Be fair! Easier to work on retention Bring new processes that can help the team Share the vision (tech and product) to the team Adaptability and communication are key Build trust with new team members Understand the ways of working from the team New area to discover Manager README Take time to learn company and product vision Build trust with new team members Learn from team first, then bring your personal touch
  28. Building a team 🏗 Bringing diversity to your team Don’t

    always seek the best, seek the best fit From Junior to Senior Build a coherent interview process Be human first
  29. A bit of resources The Art of the One-on-One meeting

    https://fellow.app/blog/meetings/one-on-one-meeting-definitive-guide/ Documenting Software Architectures https://www.amazon.fr/Documenting-Software-Architectures-Engineering-English-ebook Building Great Software Engineering Teams by Josh Tyler
  30. Julien Salvi Android Makers by droidcon 2024 󰏃 @JulienSalvi Merci

    ! Remember to always learn new stuff 👋🙂