Pros
I worked at TeraDiode from June 1st until August 28th for a coop and I had a better experience than I originally expected. There were three software developers during my time there, and my supervisor was one of them. The first few days I got situated with my work environment, got my tools ready and had a complete tour which gave me a good scope of the company. My supervisor had a few tasks in mind for me however after I showed interest in image processing he gave me the option to work on a few projects that were better suited for my skills. The company works with .Net 4.5 as the main framework, I used C# and my supervisor knew C# but mostly used VB.net which was not a problem because it's .net and completely compatible with C#. After doing well with my first project I was given creative freedom on what to do next with it so I automated my software to process gigabytes of data and then I ended up developing 3D visuals of the data I produced for the internal website. Over the course of a summer I touched upon: C#/VB/.Net LINQ/SQL OpenCV/EmguCV ASP.Net Three.JS OOP concepts lasers/optics and other things I don't have time to list. The management issues that other reviews mention are getting addressed but as an intern I don't know the details. I will say that I actually enjoyed getting up for work because I had fun working on my projects.
Cons
I never had any bad experiences during my 3 months working there.