"Everyone does everything" has been the developer mentality at the company that I work for, which is a small software company of about 14 devs and 3 teams. We're an agile/scrum shop and all developers work on front-end, back-end, devops, etc. We do have a UX person, product manager and sysadmin. All developers work on all products, as well.
The advantage is that knowledge is shared between all developers and any can do most tasks. The downside I see is that nobody is really the specialist in an area and thus less efficient at getting their work done.
The advantage is that knowledge is shared between all developers and any can do most tasks. The downside I see is that nobody is really the specialist in an area and thus less efficient at getting their work done.