Pros
- Friendly and helpful coworkers. Everyone really cares about their work. - Managers are very understanding and advocate for the employee instead of for profit. - Attention to employee engagement within the company. - Competitive pay and benefits.
Cons
- Struggles a lot with legacy codebase, and management seems to focus more on satisfying the customer with new features than addressing the outdated architecture. - Promotion and leveling requirements are absurd. An engineer has to act at the next level for a year (could have changed recently though) before actually being promoted to the next level. Why should someone continuously act beyond their job description for a chance at a promotion to make that their official responsibility? - Touch and go on a per-team basis, but documentation tends to be lacking so ramp-up can be very rough. Engineers operate on a lot of tribal knowledge and person-to-person knowledge transfer.