Pros
There aren't any pros. You are surrounded by dingles working on garbage that your client's engineers don't want to do.
Cons
Oh wow. So they will random put you on a project in which you are the lead. Often with other Thoughtworker with literally no hands on experience with the given technical stack. Which is fine but it obviously increased my workload. So I would skip "optional" cheerleadering meetings to, you know, give my client what they paid for. Yeah. This also makes you a bad person. It's not a culture for someone who is passionate about the science of computing. Believe me I'm an easy going person. I had literally never been had any issue with coworkers. It just takes one person though and your insensitive. It's like, "huh? I explained why I didn't think that was the best approach and followed my claim up with real work experience and I'm a somehow a jerk now?" It was bazaar. It's like everyone's goal is to police one another and I just wanted to do a good job, ya know, engineering. I struggled to find ways to have professional technical discussions so I quickly just stopped doing what they hired me to do which was be a technical professional and planned my escape. I've honestly never worked in an environment where I constantly felt like I was walking on glass. In the end you waste your 2 decades of experience at the cost of the client. Let me tell you, if you go in there make professional suggestions which can be measured and weighed it won't matter. You need to always be concerned that if you express why you prefer one technical approach verses another you may be reprimanded. I'm not talking about raising of voices or even heated arguments either. I eventually just laid low will look for another job. There's simply no way to be an effective team lead when you don't feel safe to provide technical guidance. If you have a busy money and are late one morning you'll relieve emails from people who are in not even your superiors. "Like sorry I was up till 3 doing all of our jobs. I'll try to never let that happen again. What? Who are you again?" If you take one thing away from my review let it be this: You are not going to working on some exciting open-source project. You will not be doing something that makes the world a better place. And buy for a moment that they will keep you on the west coast if that's where you are. Oh no. You got important pep rallys to attend at 6 am and when they get a client on the other side of the world.. you're going to scrum when they want you there. Again, don't be late either or a coworker will literally tattle on you. I guess that's how you get ahead? I stay long enough to see if that worked. For example one of my first assignments was to work on a boring call center application for a financial institution whose entire business model was offering high interest credit to people at "high risk". So my task would be to write algorithms to help some call center vulture attempt to take advantage of people already who are already vulnerable. After that I had the pleasure of working with some rich dude who behaved like a 20 year old frat boy. Daddy gave him money. So he had a revolutionary idea about sports betting and fantasy sports. Yeah.. cause that's not been thought of yet. I remember thinking I just know Ill be adding social network features to this thing. Cause the only way this could be more contrived is we started reinventing Facebook. In hindsight building a Twitter or Facebook clone would have been immensely more interesting. This place was absolutely sole sucking and I am ashamed I was ever affiliated with this company. Did I mention the pay is shit?