Pros
I both interned and worked full time at General Mills as a software developer. Let me state first and foremost that I loved working there, and that they always treated me really well. Some pros, from a career standpoint: -The internship program is a well oiled machine. I would argue that it's almost flawless in its blend of appropriate sized projects, matching you with fellow employees as technical resources, and arranging social activities with other interns. -There's a wide variety of teams and technologies to move between if you so choose. -Smart, driven, friendly people everywhere. Since the company has such a low turnover rate, you may find yourself on a team with someone who has spent 15-20 years in a given technology. I particularly enjoyed being able to work directly with these people and draw knowledge from them. -Due diligence will ensure that you move up through the ranks. If you do your job and do it adequately, you will get promoted in time. -Best-in-class work life balance. Most teams let you work from home when it's convenient for you. You're encouraged to be in the office during core business hours (9am-3pm), but this is always flexible depending on your team and schedule. Some pros, from a perks standpoint (at the headquarters building): -TONS of amenities. Onsite gas station, credit union, doctor, hair salon, fitness center, grocery store, caribou coffee. -Lots of employee networks and social activities. -Great benefits. 401k, pension plan, etc.
Cons
-The typical red tape you'd expect at a big company. -From a software developer's perspective, you may not end up working on 'glamourous' projects. (Unless you're really passionate about product labeling, supply chain logistics, etc.) -In my opinion, deadlines are valued more than the quality of the product itself when it comes to software systems. -Again in my opinion, promotions seem to be too heavily tied to your manager. I've seen good managers that take time to lobby for the promotion of their employees, and I've seen managers that are too lazy to submit the promotion form. (As a caveat, most managers are indeed great, and the lazy ones are few and far between.)