Pros
The Fusion team hired me as a summer intern in 2013. They provided me with instruction from the Japan office and one-on-one mentoring with the project Program Managers and experienced engineers. I was provided with hands-on exposure to Agile development methodologies and given specific assignments that reinforced the models being taught. The project team leaders were open and easily approachable when it came to roadblocks, and the critique of my assignments was always balanced between the needs of the project deliverable and what I needed to understand in order to deliver my task. At all times I was treated as a real contributor and not just a temporary staff member.
After I returned to school to finish my senior year the Fusion managers stayed in touch and provided excellent references and support in my job search. I was invited back to the office and allowed to see the finished product that was released to the public.
The team I worked with was great, lead by a very senior program manager that was actually off-site, but in communication with us on a daily basis. It was also a very international team with consultants from Asia, Europe and the US involved and each of them highly skilled in their practice areas. The practical application of basic computer science skills was invaluable. The insights from the senior developers changed the way I developed code after this position.
Cons
As an intern I didn't earn as much at Fusion as I thought I might have deserved. The office was in a warehouse and was in need of a significant upgrade to compare with other software development companies in California. (Note: They since have moved into a new office tower in Torrance, CA)