Pros
When I first arrived at Volusion, engineering was in a sorry state. A distributed monolith spread across hundreds of AWS lambdas, developers pushing to production without testing or even a pull request, no monitoring, stories of former toxic lead engineers who refused to give other devs access to GitHub repos because they would "mess it up", a very bad codebase, traumatized developers, and more.
In the short time I've been here, the engineering team has rolled out system monitoring, sound testing and development practices, release management processes, continuing education budgets and tech talks, and a cultural emphasis on collaboration (and a strict "No A**holes" policy). We've undertaken significant projects to improve the quality of the codebase, including converting it to TypeScript to aid refactoring, moving from a completely unmodeled Mongo implementation to a Postgres model that actually serves our purposes, and working a new admin site in modern technologies (React, Apollo GraphQL), in order to prepare for significant feature development to bring Volusion up to speed with its competitors.
Senior management has been beyond patient with engineering while we've undertaken this work, as they seem to have realized just how far the product had fallen. They've been responsive to justifications of tech debt and I have seen the PDE organization get better at providing estimates and setting expectations, and the attitudes around engineering have improved noticeably. Despite the halt on some areas of feature development, we're building some very interesting site building and store rendering technology that has dramatic performance and SEO improvements and cutting edge tech.
I've been very impressed with the transition we've made in engineering, and feel optimistic about the future of the company.
Other things: the perks are solid and the flexibility around incidentals, PTO, and remote for the product-design-engineering (PDE) departments is phenomenal. People and Culture operate as an H&R department should.
Cons
There's an internal tension at the company between the limitations of the platform due to poor engineering decisions in the past and the desire to build new features to remain competitive. The current V2 platform has improved significantly and working in TypeScript makes things much more pleasant but the underlying code is still poor and needs a significant amount of work. There appears to be a disconnect between product and engineering processes, but nothing that can't be fixed with better communication. The "accelerators" (more or less like Spotify pods) weekly meeting format seems to have drifted from its original intention and no longer enforces accountability, although accountability does exist through managerial and project relationships.