Pros
As a midweight developer, there is an exceptionally high caliber of senior and lead developers to learn from, each of which is eager to teach and pass on their learnings. Developers continually strive for simple, maintainable code and although projects can feel siloed at times, regular tech talks and discussions are held to share ideas and learnings across the team. There is also a heavy focus on code reviews, which is fantastic learning resource to both receive feedback for your work and have the opportunity to digest someone else's approach. The culture is incredibly welcoming and social. There are regular outings, none of which feel forced and people seem to genuinely enjoy spending time with each other. The social hierarchy is also surprisingly flat. I've spent just as much - if not more - time with top-tier management than my immediate peers. An interest in cycling and FIFA skills will serve you well here. There are also a number of quality of life benefits. You can attend a weekly gym/boxing /CrossFit class. There's a well-stocked drinks fridge, plenty of snacks, coffee machine, etc. There's also the option to sign up for for a healthcare cash plan that offers a range of heavily discounted treatments and examinations over the course of the year, as well as the regular insurance benefits (health, dental, critical illness, etc).
Cons
Developers should be involved in projects much earlier in the process. I've worked on projects with a waterfall-esque approach, where UX and design pass on their designs as scripture. It would be beneficial to have each of the disciplines collaborating from the ground up. There could be a stronger focus on unit and end to end testing, although that is not always applicable to the project requirements ( e.g. prototypes and proof of concepts). Aside from the founders, there is a lack of permanent UX within the business and sometimes leads to designers inheriting the mantle.