I worked at NetApp as an intern for a summer at the NC office about two years ago. The best thing about it I felt was the people. For one, I found people to be generally older than the typical 20's software engineers that seem to be everywhere in the Bay Area. They keep normal schedules, get their work done, and basically traverse a happy medium in between overworking and not working at all (just the right amount?). I think that goes a long way to keeping employees happy. They have company-wide happy hour on Fridays which everyone looks forward to. Great beers on tap always at these things supposedly, but I was 20 so I only got root beer. :-( Overall, it's probably one of the most stereotypical tech companies you can think of (cubicles, lots of meetings, set company hierarchy). Compared to Google, Facebook, and those other tech giants, I definitely got the feel that the company is not as ambitious in that they do not want to change the world (and build crazy software applications to do so). Instead, they focus on their strength, data storage, and do it well. A lot of the stuff they work on is a actually pretty cool if you are into databases, big data (like Apache Hadoop), or data in general from a CS standpoint. But their main products are their [filers](http://en.wikipedia.org/wiki/NetApp_filer). So I guess I would say they are hardware-oriented because without these, there would be no NetApp. I put NetApp up there. You have to enjoy the stuff they work on, but otherwise pretty solid.One of my good friends interned at the Sunnyvale HC and hated it. He didn't like most of the full time employees and his project wasn't realistic or fun. He didn't learn that much and most of his fellow interns felt the same way. Just another perspective, remember to take it in all in with a grain of salt. Just because some company is listed as a good place to work doesn't mean you will fit in well. The only way to find out is to go there and make sure to get a good look around when you interview.