Pros
The company has a very flat hierarchy, with only two levels of management above me - my boss and the CTO. The CTO is a very down-to-Earth person and, as the man responsible for much of the software I work on, has responded to my questions quickly and clearly. The company holds regular events where we meet in-person and socialize with members from other departments & the CTO/CEO. The management have been receptive to the issues raised by the team and have implemented a lot of tools/procedures to attempt to improve the team's efficacy.
Cons
The company has grown from effectively a one-man effort to a team of 7 backend developers in the last couple of years, with all the associated growing pains. Previously, there was little/no automated testing, no CI/CD pipeline and little/no automated deployment. Working for this company has involved both setting up the systems we intend to use for work, as well as attempting to implement iterative improvements/bug fixes to the products. The tooling is now largely complete, but still has some shortcomings in some places. Many of the projects I work on have been iteratively extended for some 10 years in an undisciplined way, and have accumulated a lot of technical debt. Moreover, even some of the younger projects (written in the last ~2 years) now have high code complexity, with individual functions that are over a hundred lines long and very high branching factors, making them difficult to modify and test.