Pros
- Interesting engineering problems - Learned how to fend for myself in a chaotic culture where politics play a heavy role
Cons
- Lack of diversity, especially at senior levels. - Management is quick to promote terrible employees, and it seemed like this was especially true for white men who worked long hours. - Upper management never listens to feedback. As a result, the best employees are constantly leaving, and everyone else is stuck in a stagnant culture - Projects are frequently mismanaged - I spent months on a project that was suddenly put on hold right after it was finished, and never made it to production - Management will constantly pull engineers off of strategic initiatives in order to support old projects. As a result, new projects are seldom completed on time. - High stress with little reward. Teams are often pitted against each other to complete projects. This stifles collaboration, makes projects drag on, and fosters resentment among engineers and team leads. - From an engineering perspective, things are not set up with developer happiness in mind. As an example, during my tenure at Chewy, I used four different CI systems - Bamboo, Travis, CircleCi, and finally Jenkins. This is in addition to a legacy project that used manual deployments. I am not sure why we switched so many times, but it made it difficult to manage our deployments since even on the same team we used many different technologies, and we had to sink a lot of developer time into maintaining our various automated systems.