Pros
Personally, I set work-life balance boundaries early on (literally 7 hour work days), made competent software engineering decisions and stayed engaged while in the office, and learned from those around me, and it pays off. I've received on average 9% annual raise. I am not advancing as quickly as some around me. There is still growth and need for people to step up and individual contributors can be greatly rewarded for growing and contributing. There is so much room for improvement and ideas too. Also moms and dads both great fully paid maternity paternity leave! I like the PTO system which includes unlimited unpaid time off if you accidentally go over. That is, if you feel like you don't have enough time off or holidays and book a little too much time off, you won't get fired for not coming to work, you just won't get paid for a couple days. That is fair to those who work more.
Cons
You have to be receptive to change and adaptation as teams split, grow, move desks, tools change, we adopt better frameworks and libraries and coding practices. It depends on what software team you are working on as to what the specific culture, work, tech stack is like. But I see that all teams are heading in the right direction, some more slowly than others.