Pros
You will learn a lot. You will have the opportunity to do many different types of tasks and really grow as a programmer.
Cons
-Underpays employees compared to other companies in the industry. Can't get many good upper level programmers due to low pay. -They have a tendency to use their internship program to try and get all of their best programmers and to build up the programming department. This puts a constant burden on upper level programmers to always have to be training new and inexperienced programmers. -You will be expected to work high hours in order to meet deliverables. They almost never push back on sponsors when it comes to tight timelines. They put sponsor expectations and wishes over what is realistic even if they don't have the resources to get it done. -Communication within the department is not great. They rarely had department wide meetings, and didn't do a great job to communicate updates/important changes.