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

How to eat a burrito (and other lessons learned...

How to eat a burrito (and other lessons learned scaling engineering teams) (Turing Fest 2019)

Every person is an individual and every team is unique. There is no secret sauce or set formula to follow when trying to build a successful team. You need to forge your own path and build your own culture, but you can learn a lot about approaches to try, and pitfalls to avoid, from the experiences of those who have spent time on the wild rollercoaster ride that is scaling a fast-growing software engineering team.

In this talk Olly will uncover some of the lessons he's learned while overseeing the growth of the FreeAgent engineering team from 1 to 75 developers and managers over the past 12 years.

Turing Fest

August 29, 2019
Tweet

More Decks by Turing Fest

Other Decks in Technology

Transcript

  1. TEAM GROWTH 0 50 100 150 200 250 2007 2008

    2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019
  2. •“Make hiring your number one priority, always. •This means that

    it needs to be your organization's first priority, it needs to be each manager's first priority, and it needs to be each engineer's first priority.” 
 -- Yishan Wong
  3. Standard interview process, no exceptions (e.g. phone screen, technical test,

    review call, in office interview) Standard questions for all candidates Standard test with blind reviews 
 Reduce bias at every stage.
  4. Be human! Put in the hours , invest your time

    Think creatively Get out there, exhaust your network Optimise the funnel
  5. Junior Mid Senior / Manager Lead / Senior Manager Principal

    / Head CTO / VP Eng •Define levels ⬅ Dual ladder
  6. Intern ? Junior ?? Mid ??? Senior / Manager ????

    Lead / Senior Manager ????? Principal / Head ?????? •Bands
  7. Intern 23k Junior 25 - 35k Mid 35 - 50k

    Senior / Manager 50 - 65k Lead / Senior Manager 65 - 80k Principal / Head 80 - 90k •Bands
  8. Review bands annually. Use insight from pipeline, network, reports. Use

    expectations to discuss performance and progression regularly, run 360 feedback. Annual salary reviews, bi-annual promotion reviews.
  9. •Single Points of Failure ✅ Knowledge silos ✅ Increased pressure

    ✅ Reduced happiness and motivation ✅ Inconsistency creep. Drift from standards ✅ Reduced code quality. Technical debt.
  10. Build collegiate teams, not silos Work together as a team,

    not a collection of unique individuals Focus on reducing single points of failure (in people and systems architecture!) Optimise for the long term – team sustainability and scalability
  11. What’s our deployment process? When do I get a salary

    review? How do I get on the VPN? Why are we doing this feature rather than that one? What does a senior engineer get paid? WTF am I supposed to be doing?
  12. •“Good code is its own best documentation. As you’re about

    to add a comment, ask yourself, ‘How can I improve the code so that this comment isn’t needed?’” 
 -- Steve McConnell
  13. •Team Knowledge Base Common standards, style guides Development process -

    “How We Work” RFDs Incident reports Our Toolkit (GitHub, DataDog etc) Runbooks
  14. Unless you’re Homer Simpson you might want to try the

    “lunch- sized” burrito Unwrap the burrito from the top, like a pack of digestives As you eat, unwind the foil to expose more burrito Always ensure you have something between your burrito and the table/your lap: The burrito will leak If you have a burrito for lunch, remember to bring enough for everyone
  15. • Side Effects Becoming a better writer Public blog posts

    Hiring It becomes part of the culture
  16. •It’s about the long game You’re trying to scale, the

    last thing you need is for your velocity to decrease. New engineers not knowing how things work, or having to ask for assistance every time they do something, will just slow you down.
  17. •When should you let go? Day 1, when you’ve hired

    your first engineer. Consider yourself no longer on the critical path. Contribute, but put your energy into supporting your engineers, create the culture, remove roadblocks.
  18. •“Moonlighting managers ain’t got no time for bullshit” 
 --

    DHH https://m.signalvnoise.com/moonlighting-managers-aint-got-no-time-for-bullshit/
  19. Hiring is #1: Be Human. Be Kind. Be Fair. Be

    Consistent. Mo’ Money Mo’ Problems: Clear expectations, fair salaries, dual ladder One is the loneliest number: Software development is a team sport How to eat a burrito: Scale teams by writing things down Pulling the ripcord: Get off the critical path, focus on your team