<i>I&#x27;ve never been convinced about splitting developers into front and back end.</i><p>There isn&#x27;t any &#x27;one true way&#x27; to do it. If a project is best built with a front end team and a back end team, then that&#x27;s the best way to do it. If a project is best built with a team that does everything, that&#x27;s the best way for that project.<p>Mind you, I would add that &quot;This removes all the communication issues.&quot; is <i>completely</i> wrong. Having one person write the code for both sides <i>compounds</i> the communication issues, because it means no one other than that developer knows anything about the system. If communication is a problem then <i>resolve that problem as soon as possible</i> by writing good API documentation and sharing knowledge among the team, because if you don&#x27;t you&#x27;ll end up with an unmaintainable mess of code that&#x27;s eventually sunk by the weight of technical debt.