Pros
- Excellent people, you'll be surrounded by some incredibly smart and capable people - Incredibly powerful software that has extraordinary power to change the game and make a real difference - Strong, caring leadership. This is clearly contentious as others have said the opposite, but IMO the CEO is an excellent leader - his personality can come across as strong but you can and absolutely should push back with good ideas. You get to be involved in big decisions. You're allowed to make mistakes. You're incentivized to grow and I think leadership genuinely cares about said growth, even if they come across in a strong way. It may be high "volume", but it's low ego. - Extremely flexible lifestyle. - "Anything is possible" mentality that actually comes to fruition. Honestly scary to see how much the team gets done.
Cons
- Much of the tech stack is pretty ancient and clunky - Extremely convoluted designs and software which can be extraordinarily difficult to comprehend (unless you wrote it). Very little care about testability, modularity, or readability. Documentation is also fairly lacking, and there are a lot of implicit assumptions so you need to be chasing people around to get good answers. - Never-ending influx of bugs - Priorities constantly change and whatever software development process you were following might as well be tossed in the garbage. - Heavy reliance on a select few "hero" coders that appear incredibly capable and smart but are in fact just the only ones that understand the mess they created