Pros
Engineering culture enables individual contributors to have influence, and engage with the majority of managers and directors in candid discussions. There are many opportunities to learn through daily work-- there are many talented individuals to learn from, and a willingness to give individuals stretch assignments. There is a consistent desire to improve the team's development practices, processes, and capabilities. There is generally room within individual projects and tasks to experiment with new ways of getting the job done.
Cons
Decision making by leadership can be dragged out well past the point where it affects teams' productivity. There are oscillating decisions about the scope of work that sometimes seem unduly influenced by individual leaders' favorite projects.