I don’t want to contribute to the frontend engineer vs backend engineer mud slinging, but I have to say, denigrating each other’s areas of expertise really cuts both ways.
So many frontend engineers seem to think of backends as just a cache for the frontend’s data, maybe with a few simple transformations sprinkled in here and there. Hoo boy does this fall apart hard when the illusion is shattered by changes in the system’s requirements. Starting out with the cache mindset can lead to really inflexible designs and terrible interfaces, which are much harder to repair than just building a backend which enforces its own structure from the start.
This isn’t just a case of engineers being bad at what they don’t have experience with, either. There’s so many frameworks and cloud services which promise to make backends unnecessary, fueling and profiting from the delusion.