Pluspunten
As a software engineer you will have to use a lot of different technologies in your day-to-day activities. You'd also have the opportunity and resources to build up additional expertise in any one of your choosing but you need to do this a bit on your own time. If you ever get bored there are usually opportunities to switch groups and in fact you are encouraged to move around.
Minpunten
Your employment experience will ultimately depend on the team you are in. You may end up being placed in a team where you're not a good fit. Generally, a lot is expected of you and it can get stressfull if your team members don't have your back. You need to be constantly improving yourself and can't get by with knowing just one or two technologies and programming languages.