Pros
Get to work on exciting products. Lots to learn and plenty of growth opportunities. Good pay, good benefits, able to flex hours depending on Manager. Lifetime learning encouraged.
Cons
Advancement is highly dependent on schmoozing the right person, as opposed to technical skills. Young and inexperienced Engineers are often pushed prematurely into technical team leadership roles; which in turn creates chaos, morale decimation, joyless environment, and dysfunction in the team. All because the young inexperienced Engineer doesn't know what he or she is doing. When team members know that the only reason an inexperienced young engineer is in charge is because he or she is friends with a higher up manager, then the team will look elsewhere for guidance and help. As the years pass by, this kind of practice is becoming common place. If this problem can be fixed, it will be a joy to come work. Working under an incompetent or inexperienced lead is a fruitless pain!