Pros
As a developer, I'm constantly pushed and challenged. Challenged in terms of project complexity, encouraged to grow and improve and write better code. I feel like I'm constantly learning. All the senior devs seem to have been there for like 15-20yrs so there's always someone to ask for help. There are opportunities to attend conferences and subscriptions to some premium online learning tools provided, so continuous development is available. the parent company offers all sorts of training if you look for it. By way of project work - there's a great variety and opportunities to work on or build applications for household names, which is nice. If you do a good job on a project you get offered a better client/project next time. Those bigger and better projects for et household names do come along if you visibly put the effort in. I started on smaller brochureware stuff plus support but quickly got the opportunity to work on National platforms. Good benefits package. Pension, death in service, good sick pay coverage, etc. Remote working is supported, but if you want to go into the office - the location and views are great. And sharing an office floor with a radio station means you do occasionally share the elevator with the odd pop star :-)
Cons
It can be high pressure sometimes. It's agency work and client demands come with that. You need to have your eyes open to that up front and plan ahead. Agency life doesn't always suit some people but I've been in a few agencies now and it's basically the same type of agency life whether dev, marketing, advertising, etc - agency brings pressure and deadlines. The flip side of that is the variety of work - never the same old thing day after day. So pick what suits you personally - variety or slower pace. Since this agency has been around for a long time there is a lot of legacy code to support. Support is no ones favourite but it's a good way to learn as well. You see different techniques and learn a lot about refactoring.