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

Modern Staff Engineering at a Startup

Modern Staff Engineering at a Startup

Presented at DevOpsDays in Birmingham, AL - August 21, 2024.

DevOps is all about breaking down barriers to a fast flow of value to customers. This fast flow is especially important at a startup, where every day is a precious race to create revenue faster than the runway drys up!

In this talk, I describe my first year in my role as Senior Staff Software Engineer at the NYC startup Smartrr, providing subscriptions as a service to Shopify brands. I share what I have learned about what makes working at a startup different from a larger organization and how I have adapted the concepts of DevOps, Staff Engineering and Platform Engineering to this environment. I also share examples of my work and how these concepts have supported my work.

I argue that DevOps is very relevant at a Startup and hope you agree after my talk.

Avatar for Chad McElligott

Chad McElligott

August 21, 2024
Tweet

More Decks by Chad McElligott

Other Decks in Technology

Transcript

  1. Hi, I’m Chad McElligott Senior Staff Engineer @ Smartrr •

    Subscriptions & Loyalty for Shopify Brands • Based in New York City • 18 in Product & Engineering • Series A Startup
  2. { About DevOps, Platform Engineering, & Staff Engineering } •

    A mentality of collaboration • AND the automation of toil • AND Embracing modern tooling and techniques … to sustain a fast flow of value to customers. DevOps is…
  3. { About DevOps, Platform Engineering, & Staff Engineering } •

    A technique for reducing cognitive load on developers • Engineering Velocity 🤝 System Stability • Investing in the developer experience my 2023 talk Platform Engineering is… Engineering Enablement podcast
  4. { About DevOps, Platform Engineering, & Staff Engineering } •

    Servant leadership for software engineering • Group or Organization-wide responsibility and impact • A partner to managers, directors, or VPs Staff Engineering is… Staff Engineer book
  5. There is no time to waste { Cultural Qualities of

    a Startup } We all wear many hats
  6. { Cultural Qualities of a Startup } There is no

    time to waste We all wear many hats
  7. { DevOps, Platform Engineering, & Staff Engineering at a Startup

    } • Alter processes to fit your tools, not the other way around DevOps at a Startup
  8. { DevOps, Platform Engineering, & Staff Engineering at a Startup

    } • Alter processes to fit your tools, not the other way around • Avoid as much custom tooling as possible DevOps at a Startup Martin Fowler’s post
  9. { DevOps, Platform Engineering, & Staff Engineering at a Startup

    } • Alter processes to fit your tools, not the other way around • Avoid as much custom tooling as possible • Choose boring technology DevOps at a Startup Martin Fowler’s post Dan McKinley’s talk
  10. { DevOps, Platform Engineering, & Staff Engineering at a Startup

    } Platform Engineering at a Startup Engineering Unblocked podcast
  11. { DevOps, Platform Engineering, & Staff Engineering at a Startup

    } • Expect this to be a part-time hat Platform Engineering at a Startup Engineering Unblocked podcast
  12. { DevOps, Platform Engineering, & Staff Engineering at a Startup

    } • Expect this to be a part-time hat • You’ll want to work in small batches - There’s no time for long projects! Platform Engineering at a Startup Engineering Unblocked podcast
  13. { DevOps, Platform Engineering, & Staff Engineering at a Startup

    } • Expect this to be a part-time hat • You’ll want to work in small batches - There’s no time for long projects! • You’ll be blazing new trails, so choose your work wisely Platform Engineering at a Startup Engineering Unblocked podcast
  14. { DevOps, Platform Engineering, & Staff Engineering at a Startup

    } • Effective execution > navigating internal dynamics Staff Engineering at a Startup
  15. { DevOps, Platform Engineering, & Staff Engineering at a Startup

    } • Effective execution > navigating internal dynamics • You’ll move between the “Staff archetypes” Staff Engineering at a Startup
  16. { DevOps, Platform Engineering, & Staff Engineering at a Startup

    } • Effective execution > navigating internal dynamics • You’ll move between the “Staff archetypes” • Mentorship and Sponsorship will be key skills Staff Engineering at a Startup
  17. { How I helped remove the merge freeze for better

    DevEx } Image credit: https://www.youtube.com/watch?v=6IoXFkfnYzE
  18. { How I helped remove the merge freeze for better

    DevEx } • Slow to manually regression test • Changes frequently resulted in regressions • Merge freezes led to merge conflicts Quality Assurance Challenges
  19. Company Objective: Enhance Smartrr’s Quality Project: Automate Manual Regression Test

    Suite My Task: Provision a new integrated testing environment The context of my first task { How I helped remove the merge freeze for better DevEx }
  20. { How I helped remove the merge freeze for better

    DevEx } Simplified Smartrr Architecture
  21. { How I helped remove the merge freeze for better

    DevEx } • Co-located the infrastructure with the application code Key Infrastructure Choices
  22. { How I helped remove the merge freeze for better

    DevEx } • Co-located the infrastructure with the application code • Built Terraform for all environments, using variables for differences Key Infrastructure Choices
  23. { How I helped remove the merge freeze for better

    DevEx } • Co-located the infrastructure with the application code • Built Terraform for all environments, using variables for differences • Simplified the CI/CD Key Infrastructure Choices
  24. { How I helped remove the merge freeze for better

    DevEx } • Co-located the infrastructure with the application code • Built Terraform for all environments, using variables for differences • Simplified the CI/CD • Moved secrets to a proper secret store Key Infrastructure Choices
  25. { How I helped remove the merge freeze for better

    DevEx } • Stop using Kubernetes for such a small application Out of Scope
  26. { How I helped remove the merge freeze for better

    DevEx } • Stop using Kubernetes for such a small application • Automate terraform apply Out of Scope
  27. { How I helped remove the merge freeze for better

    DevEx } • Stop using Kubernetes for such a small application • Automate terraform apply • Using a Kubernetes-native secrets manager Out of Scope
  28. DevOps Staff Engineering Platform Engineering How did { } apply

    in this story? { How I helped remove the merge freeze for better DevEx }
  29. I applied • Seeking clarification across the company • Leading

    with intent • Assuming a “tech lead” archetype • Addressing larger goals in scope of the task { How I helped remove the merge freeze for better DevEx } Staff Engineering by…
  30. I applied • Fully managing our infrastructure with Terraform •

    Choosing to walk away from some nice-to-haves { How I helped remove the merge freeze for better DevEx } Platform Engineering by…
  31. • Leveraging Infrastructure as Code for consistency • Improving the

    release process once the tools were in place • Introducing RFCs for inclusive decision making { How I helped remove the merge freeze for better DevEx } I applied DevOps by…
  32. { Iterating toward a productive engineering process } Image credit:

    https://productivitymatters.com.au/wellbeing/occupational-burnout-its-real/
  33. { Iterating toward a productive engineering process } agile all

    the things! • Draft proposals of changes • Frame changes as “experiments” • Make goals clear to all • Use retrospectives to reflect Image credit: https://hyperboleandahalf.blogspot.com/2010/06/this-is-why-ill-never-be-adult.html
  34. { Iterating toward a productive engineering process } Experiment 󰳘

    Short-lived Feature Teams • Goal - Build a sense of responsibility • Change - Short-lived full-stack feature teams • Outcome - Mixed. Has evolved to our squad model
  35. { Iterating toward a productive engineering process } Experiment 󰳘

    Epic Kickoff Documents • Goal - Clear communication when starting a project • Change - New meeting with a templated agenda • Outcome - Success! Value-packed discussions This is the doc, if you’re curious
  36. { Iterating toward a productive engineering process } Experiment 󰳘

    Group Code Review • Goal - Faster lead times; Encourage collaboration • Change - New twice-weekly open huddle for code review • Outcome - Success across the board ✨
  37. DevOps Staff Engineering Platform Engineering How did { } apply

    in this story? { Iterating toward a productive engineering process }
  38. I applied Staff Engineering by… { Iterating toward a productive

    engineering process } • Filling a void in process leadership • Empowering teams to shape their own processes • modeling desired behavior
  39. I applied Understanding that process is a part of your

    platform Platform Engineering by… { Iterating toward a productive engineering process }
  40. Leveraging the L in CALMS. Lean I applied DevOps by…

    { Iterating toward a productive engineering process }