Pros
1. Great place to learn, amazing experts, who are eager to share their knowledge 2. Atmosphere of mutual respect, kindness, openness, being part of the team that has common goals 3. Atmosphere that promotes sharing knowledge, teaching, learning 4. Managers are mostly not bosses but leaders who help you grow, who are holding your back and are caring for their teams and every individual
Cons
1. In my location salaries are reaaaaallly lagging behind competitors. 2. Rotation of workers is too fast, due to lagging salaries or organisational changes. All companies should focus on retaining employees because right now the fastest way of getting higher salary or promotion is to change your job/position. Costs and time of onboarding software engineers to complex projects is tremendous - it's not accounting or selling which everywhere is rather the same - and companies should do everything not only to get the right people but also actively encourage them to stay. 3. Too many wannabe PMs with their powerpoints, MBAs and 'groundbreaking strategies' and not enough developers. 4. Forcing 'new strategies', by PMs or other middle-management guys who want to show how important they are, which bring only chaos. 5. Inequality between wages by country - I don't believe that engineers in San Fransisco are 10 times more efficient or work 10 times harder than people in Europe, Asia etc.