I often see web apps with separate frontend and backend dev teams
I often see web apps with separate frontend and backend dev teams.
This front/back developer split leads to a common problem: Frontend devs become victims of backend problems that they can't fix.
Common backend problems:
🚩Instability
🚩Performance
🚩Clunky API design
🚩Poorly structured JSON
A frontend team can't fix these issues alone. They can only try to mitigate them via client-side caching, optimistic UI, etc.
The backend team holds the political power in this relationship, because the frontend team relies upon the backend.
Three solutions I've seen work:
1. If the backend is for a single frontend, consider merging the teams.
2. Consider a monorepo to foster collaboration. This also allows the frontend devs to open PRs for simple backend changes.
3. A single manager over the frontend and backend can assure the backend team is responsive to frontend concerns.