Pros
Upper management communicates well and they help you develop good habits to grow professionally. I was very fortunate to work as a tech while they let me finish my Master's degree. My undergraduate degree was not in the respective field was in and they knew that. So they let me work part time while I went back to school. Most companies do not do this but I was very grateful that they let me stay.
Cons
In order to advance you need at least a Master's degree, PhD preferably. Other downsides are that you can get let go at any time. That is how it is at any private company, though. If a project you are working on has no funding, they may not need your services anymore. This is how corporate culture is so you always have to be performing well.