Vantaggi
* management always helps you to optimize your time, i.e. managers will usually protect your time, so you can focus on completing your tasks * people you work with are extremely talanted and organized * you can expense whatever you need to get the job done * there is a focus on team improvement, e.g. I was assigned to a new team that was really struggling to meet goals in the beginning. About a year later, team was running like clockwork.
Svantaggi
* on-call is Hell and you will often get unreasonable pages in the middle of the night that you can't really do anything about, but you still have to own that issue and drive it to completion * meetings up the #@!. Out of 40 hours per week, 15-20 hours could be taken up in meetings. Even worse, meetings don't come in blocks, so your time is fragmented and getting anything done becomes a challenge * relationships with third parties are sometimes strained. If there is a third party involved in what you ship, e.g. you ship an app on a specific model of TV or STB, SDEs often have to deal with that third party directly, due to unavailability from TPMs * sometimes you have to work weekends to meet goals