Pros: Open communication, excellent coworkers, leader-leader model
Cons: There weren't any permanent positions available after my internship was over
Typical day is a phone meeting with other Harris locations to discuss what we've accomplished, what we plan to accomplish, and any difficulties; throughout the day, breaks are allowed and encouraged; leadership encourages asking questions and listens to input from employees; leadership also tells employees what to do and allows the employee to figure out how to do it, with no micromanagement.
As an intern, I learned about how software developers do their job in the real world. I was exposed to a lot more than I ever learned in school. My employers asked me what I thought about particular tasks and actually considered my input seriously (read Turn The Ship Around, by L. David Marquet). My coworkers were extremely helpful in getting accustomed to the job.
The hardest part of the job was throwing out the habits I learned in school and becoming familiar with how software development is done in a real environment. Adapting to large systems with many dependencies took some time and effort.
The most enjoyable part of the job was open communication with coworkers, and the ability to take breaks when I need them.