Pros
The work is technically interesting and challenging, high levels of responsibility and autonomy, opportunities to attend conferences, events etc. A cool area to be working in at the moment, and you are able to manage your own work to an extent. Strong emphasis on technical and academic rigour. Tech provision is very good and you can work flexibly if you need to (obviously everyone does now but it was totally fine even before the pandemic). Used to have Friday lunch and drinks as well. Salary okay for a junior but not great for mid-level. Five a side was great. Having MSc interns was also fun. Not too many meetings and SMT always open to feedback about anything at all. Felt like your opinion was always valued.
Kontras
Classic start-up issues, no structure, progression or training, high staff turnover, you are expected to work very independently the entire time which might suit some people but I found it difficult. High pressure (although not overt) and constant stress, overall quite an intense work culture maybe due to close proximity to finance sector (many clients are financial institutions/banks). Often seemed like all work revolved around frantically creating bespoke solutions for whoever was our current or potential client. Stuck on the same project forever as there is basically only one main project. No senior developers (I did not realise until starting my current job how much of a downside this is as a junior). Probably a great place to work if you ARE a senior developer though as you will have so much responsibility and influence. Small team and you feel like you are personally letting people down if you are ever slow/unproductive at something. Low tolerance of mistakes due to fast-paced and client-facing nature of work. No broader dev community or communities of practice (again not something I ever thought of as an issue until I started working in a larger organization, but now I would never go back). Some of these cons are just what you might reasonably expect from working in a startup though.