Pros
* Many different types of projects for different clients keeps things interesting
* Many technical improvements come organically, giving junior and mid-levels an opportunity to shine
* Backend capabilities are organized into services
* Web Development is split into segments according to various work streams
* Most of the time, people don't seem to push over 40 hours per week
Cons
* Far less efficient than they could be
* Client work trumps all, pushing internal work to the side and creating massive amounts of technical debt
* Too much client work in the system
* Backend services are not discoverable and have no standards for interface design, making it slow to work with a new service
* No senior technical leaders; too wrapped up in management duties
* Weak engineering culture
* Rarely hire seniors on any team
* Can't retain seniors
* It feels like upper management operates based on instinct and reaction rather than learning lessons from other companies. There are precedents for many of the problems they face, but they aren't being leveraged.