Pros
- Interesting products and problems to solve - Free drinks at the downtown tower and discounted parking on-site. - The teammates you'll have - IF you get a good manager, they're solid and work to help you on your career journey. Big IF though.
Cons
- If you are an "engineer" at any level below staff engineer, you are not going to engineer solutions or solve problems. You'll be handed pseudo-code for an already solved problem and told to implement it how people above your pay level decided. You'll find out about program directions and things you're implementing as the sprints start sometimes. - To get promoted, you need to show ownership in something generally. This is impossible when the most senior folks on a team own and have planned every part of a feature. If you're just an implementer, you don't have "ownership" opportunities. Everyone on your team is told by their manager to "get more ownership" so any rare opportunity that comes by gets scooped up in an unhealthy competition with your coworkers. - When i left there was a push to be hybrid several days a week. - Managers change often, and there never seems to be a stable org chart for more than 9-12 months. I had 5 different managers in the 4 years I was there. - Management is only concerned about the burndown charts. Period. - Pay is meh, benefits are okay, promotions and advancement is a joke.