Avantages
It was a very steady job. You have meetings for what's up next for everyone, you're given your tasks, you have freedom to investigate and give your expectations for said tasks, you do the tasks, and things start over; standard SCRUM. My excellent program manager was to thank for keeping this running well.
Inconvénients
Things started with a solid foundation and degraded slowly. When I joined, I learned over the first year the helpful and friendly resident employees versus the adversarial ones, which was key considering how scarce internal documentation was. My favorites began leaving about two years before the end of my time here, including my original staff manager who was wonderful. With my new manager, my reviews went from praise that led to promotions and stock rewards to criticisms of the outcomes of my set goals we agreed upon that they had given me no opportunity to fulfill. When I asked if these goals had sway in my overall performance ratings, I was told that was not the case and that I was just "growing into my promotion" and that my job was not at risk. Bonuses that were smaller than what was promised during onboarding (but still rewards) immediately turned into not even cost of living adjustments. The next year I was let go for "underperformance" but still somehow mysteriously given severance. No, there was no PIP, no discussions that things were not right or discussions on how to improve. A sham. In summary, I felt that my actions had no real sway in managerial perception of me, I was not provided opportunities for further growth or in-house knowledge to be useful even when asking for them, and the best engineers who actually fostered growth instead of gatekept have been leaving for several years.