Pretty much where you would enjoy to work
Pros
1) Leadership makes all the difference. They oversee projects with the sole aim of enabling developers to make progress on projects & free them from blockers. Often agencies place a lot of pressure over developers to deliver things quickly in unreasonable amount of time, but such is not the case here. I have seen clients being let go because they were just not pleasant clients to work with. You know the kind of clients who want to cramp in more work every week after the sprint has been planned, citing it urgent. They got your back. You got to have theirs too. It goes both ways. I always love it when I overestimate my skills leading to underestimating the development time for a particular task and the management gets me a buffer anyway :) 2) Work culture is great. Everyone loves to have a social connection outside of work. People are very friendly, some of the nicest people I have met. When unavoidable situations like missed deadlines do happen, its not a yellow card but a problem-solving approach is applied & the system continues to evolve like that. You get an ergonomic desk setup & vibrant office to show up to with a nice pantry. Personal boundaries are always respected unless its a production issue, at which I would say you want to be the one to get called. Management is pretty much flexible with how you work as well, just get to the week sprint cycle & handle errands as they show up in life. When something is going wrong, don't be afraid to escalate the matter with the management. That always resolve things. 3) Do good work, get paid well. Often the thing that's seen complicated in the industry but my simple take is if you are good at something, you get paid good money. Ask for what you think is fair, negotiate & you shall receive if the particular position is a good fit. If you ever get stuck, there are some experienced developers around to seek help from & learn. Having an access to someone like that is often underrated.
Cons
Personally I can't think of a con worth mentioning. Sometimes things don't go your way and its alright. And its often when a business decision is made to prioritize one direction over another, even though that's not what you wanted to do. And if you are business minded and not just a developer, you can really learn a thing or two. Quick tip: Refactor early. Don't wait for 2-3 months to finish up a build and then plan refactoring & demand allocation of more time to just get that done. Because realistically clients don't understand and it takes a lot more time to do it later than early. So, plan better.