What is your opinion about full-stack teams? I’m referring to teams where the desire is for every member to competently contribute at every point in the stack.

  • Do they work?
  • What has been your experience?
  • Does team size and/or experience level inform your opinion?
  • Do you notice an increase/decrease in quality?
  • Do you notice an increase/decrease in team and product cohesion?
  • speaker_hat
    link
    fedilink
    arrow-up
    10
    ·
    1 year ago

    It works, but not better than having each team member specialized in one subject. It just works, but it has it’s own pros and cons:

    my experience

    In my specific experience, when you talk about “full-stack” I don’t only think about one “FE-BE-DB” project, but also another projects which are part of the company products (i.e. embedded products, testing infrastructure, cloud engineering…).

    Pros:

    • For management, it reduces the “cost” of a team member quit, because the rest of the team can quickly and easily cover up his tasks.
    • For management, it’s easy to assign a feature, they can peek anybody.
    • It makes developers to understand how the different parts of the projects communicate which each other, their impact and how they work.
    • Works better for startups where projects and teams are small and agile and usually the projects are MVP.

    Cons:

    • Developers who specialize (or really like to specialize) in a specific subject, naturally won’t last in this team more than 1-2 years (guaranteed).
    • Features quality and velocity, at the beginning, slightly drops, a bit more bugs occur. Overtime it will be better depends on the team members learning curve.
    • You won’t have someone that masters a specific subject if you’ll need one.
    • Doesn’t work good on enterprise, where there are lots of huge projects, and the product is stable and full (not only MVP).
    • jubilationtcornpone@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 year ago

      I think there’s a benefit to having at least some “specialized” full stack devs. I happen to be one. I do mostly backend, which is technically my job, but occasionally I will pick up a front end ticket or one that incorporates back and front end.

      Being able to see and understand how all the pieces fit together can be really helpful. If your entire team is made up of specialized devs, they tend to solve problems only with the tools they know. In my limited experience this frequently materializes as too much business logic in the UI or improperly implemented database integrations.

      But I think the real value that full stack devs bring to these situations is not so much in the code that they can write but in the insight they can offer during the planning phases by helping the BA or whoever’s writing the tickets, clarify who’s responsible for what and how something should be implemented if it may not be clear to the dev working ticket.