Pros
You have a fresh masters in CS and want to get some experience. You wonder how smart people can create such bad software.
Cons
#1 Decisions are arbitrary. Nothing is merit based any more. #2 There is a new random initiative every 6 months. None of them stick because they are usually based in fantasy. For example, if SCRUM is cool this year, there will be an initiative to use SCRUM, regardless of how absurd it is for a particular problem. Even worse, and the part that tweaks me, is that only a few random aspects of SCRUM will be adopted, nothing of substance of course. Put a big check in my review, " Drove the broad adoption of more agile product mangement methodoligies". #3 Managers and their politics matter a lot more than customers or products. I'm old enough and broken enough to just tell them what they want to hear, but even that is difficult. They often have secret little agendas, so it's hard to ficure out even what they want to hear. And of course, it's not logical, so you can't infer it.