Software Engineer • Former Employee
Pros: The compensation is above average at the start.
You get exposed to many production responsibilities quite early.
If you are a new grad (and everyone is), this is a good way to learn good industry standards and practices about software engineering.
The office is amazing, but you get indifferent to it quite fast.
Your peers are often interesting new grads like you are.
Cons: The compensation does not grow adequately (20% after 18M + 5%/y).
The organization is chaotic, political, and non-meritocratic. The so-called "architects" are mostly there for historic and political reasons and are not impressive, but they really believe they are. They often take unexplained, untransparent, and authoritative decisions that serve their agenda.
The horizons are always short-term. The vision is always at most a few months away.
The codebases are quite poor and hard to maintain, having been written fast at first. They are often slow and buggy. As long as it mostly works, the original author will have moved on to a new shiny project. Refactoring, improving performance, and correctness are seldom rewarded, even though the services do not scale for the vast majority. What matters only is to start the project.
Projects done in-house are reinventing the wheel of better existing open-source alternatives. There is no project with significant depth. It is mostly about building shiny apps for the platform.
Your peers are all new grads like you, and very few have industry experience. Clueless people are often the most pretentious.