Pros
Mailgun has taught me how to setup teams for success. Their focus is on products and removing barriers for teams to execute on a successful product. Which is just a enterprise way of saying we do what we want to make our product successful. Seriously, we get to choose if we want to do scrum, or kanban, or just developer anarchy; provided we deliver a quality product. We get to choose our tasks, we own the data in the databases, we don't have heavy processes and we have a focus on avoiding technical debt. If we have to push back a product or feature release to avoid taking on a ton of technical debit we will. This means our overall technical debit is low, and changes to the system happen much faster than most people are used to. We also deploy constantly, and have great contextual logging and metrics.
Cons
Things move really fast internally, keeping up with everything is tough, and we don't have a good culture of documentation. With our company moving to remote, I'm sure this will change but if you are an developer that doesn't actively engage it's easy to get lost and disconnected quickly. If you are not afraid to engage in slack and setup zoom meetings as needed, you will do fine. Everyone gets along very well, they do a good job of hiring people who fit the culture, you just have to engage to keep on top of things. (Put another way, if you don't say anything in chat for a week people assume you are heads down and working, they won't bother you with updates on what is going on, but they still expect to see results)