With the ever-changing shape of web development, a new pattern is emerging.
Traditionally, development tasks were clearly separated into the back-end - where most of the logical processing occurs - and the front-end - where the user interface is built and delivered.
With the rise of JAMstack and the headless CMS, the line starts to blur. The task of modelling content for a website, traditionally a back-end task, has shifted more towards the front-end.
That's not to say the role of the back-end developer is heading to obsoletion, the responsibility has just been altered slightly. The back-end is now more responsible for integrations with external services, processing and aggregating data, optimising the performance of APIs, etc.
With this the idea of a middle-ware or "backend for frontend" or BFF has emerged. Addressing concrete technologies that would be the frameworks such as NextJS and Gatsby. These frameworks (or BFFs) are the central point pulling in all the data from various sources and presenting them to the user.
The problem with this approach is defining responsibilities, whose role is it to build and maintain that BFF? The back-end, or the front-end developer? It probably calls for a greater collaboration than ever between the two.