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

How To Build a Productive Laravel Team

How To Build a Productive Laravel Team

What does it look like to build a healthy, productive team of Laravel developers? How do you heal a broken team? In this talk, we talk about how to understand the dynamics and processes in and around development teams, both more broadly and specifically in the world of Laravel.

Matt Stauffer

June 18, 2024
Tweet

More Decks by Matt Stauffer

Other Decks in Technology

Transcript

  1. Three types of clients: 1. Healthy team 2. No team

    3. Unhealthy team Write code, help them code better … & help them hire & build process … & help them fix process & relationships
  2. THE CONTEXT 1 What is a team? The team (in

    this context) is the group of people responsible for building Laravel apps.
  3. THE CONTEXT 1 Who’s in our team? Business Design Product

    Development Dev-ops/IT QA BUSINESS ENGINEERING
  4. THE CONTEXT 1 What’s in a team? • “Business" &

    “Engineering” • … and their relationships with each other • … and their relationships with senior leadership • … and their relationships with customers • … and the processes (or lack thereof) 
 that make it all happen
  5. THE CONSTRAINTS 2 • Team size • Project scale •

    Existing tech and structures • Existing team’s capabilities • Cost to hire in your market • Unique constraints of your domain • Deadlines What impacts the decisions you make
  6. THE CONSTRAINTS 2 • Fear • Ego • Emulation •

    Consultants • Probably other stu f People are why we get in bad shape
  7. THE SUGGESTIONS 3 • How to build a healthy culture

    • How to structure a dev team • How to hire developers • How to build product process • How to build development process Our agenda
  8. THE SUGGESTIONS: How to Build Product Process 3c • Healthy

    culture is based on trust, respect, and communication • Lack of trust will turn any organization unhealthy • Engineering leadership: believe in your devs and go to bat for them • Involve devs in feature planning • Engineering leadership and product leadership: trust each other’s priorities and values How to build healthy culture
  9. THE SUGGESTIONS: How to Structure a Dev Team 3a •

    Full stack dev teams, preferably 2-4 devs • Max of one junior to every two non-juniors • Each team needs a technical leader (senior dev) and a process leader (PM or senior dev) • Technical ability != Interpersonal leadership skills Dev team shape
  10. THE SUGGESTIONS: How to Structure a Dev Team 3a •

    De fi ne your roles • De fi ne a global quality standard • Senior dev = capable of holding code to your global quality standard • Need someone at the company to de fi ne the global quality standard; or bring in Tighten/etc. Technical Seniority
  11. • Junior code has to be reviewed before deploying •

    Mid code doesn’t need to be reviewed often, but their architecture should be guided • Senior code doesn’t need to be reviewed and their architecture is trusted Tighten’s roles, simplified
  12. THE SUGGESTIONS: How to Structure a Dev Team 3a •

    You run a software company now • Most senior technical person should have: • programming experience • equal power to the leaders of business Structuring the engineering organization
  13. THE SUGGESTIONS: How to Hire Developers 3b • Hire full-stack

    devs • What position are you hiring for? • Seniors need real Laravel experience What to look for
  14. THE SUGGESTIONS: How to Hire Developers 3b • Post on

    Larajobs • Test for real practical things, not linked lists • People can’t always write code on the spot but they can read it! • More than one interviewer at a time 🔑 How to find and interview candidates
  15. THE SUGGESTIONS: How to Build Product Process 3c • Use

    “epics” instead of massive spec docs • De fi ne features collaboratively • Give developers fl eshed-out tasks, immediate access to business for clari fi cation, or leeway to interpret tasks themselves How to define and hand off feature specs
  16. The goal The goal of any development process is to

    enable developers to write and deploy good code.
  17. THE SUGGESTIONS: How to Build Development Process 3d • Protect

    fl ow state • Allow fewer interruptions • Hold fewer meetings • Empower devs to write and ship code • Work iteratively; ship early and often Build an environment conducive to coding
  18. THE SUGGESTIONS: How to Build Development Process 3d • Speed

    up tests (less than a minute locally) • Upgrade dependencies • Speed up CI/CD (less than ten minutes) • Merge PRs quickly • Allocate time for code quality improvements (technical debt) Avoid death by 1,000 cuts
  19. THE SUGGESTIONS: How to Build Development Process 3d • Watch

    out for Shiny Object Syndrome ™ • Your dev doesn’t know better than the framework • Beware the brilliant asshole • Code should not be a special snow fl ake Protect against devs’ bad habits
  20. THE SUGGESTIONS: How to Build Development Process 3d • Automate

    code linting • Automate deploys and ensure they can run in less than 15 minutes • Trigger deploys by code merges • Deploy weekly, at least Simplify pushing to production
  21. By working for it. It takes active, empathetic, informed, fl

    exible, communicative leadership to build a productive team of any size. There’s no magic bullet. It’s up to you.