Pros
Some teams get to work with modern tech before it goes mainstream. Most have heavy exposure to enterprise messaging bus platforms like masstransit and modern SPA frameworks like angular.js. Historically high attrition rates from the engineers afforded us a lax dress code that allows for blue jeans every day. Guys who wear t-shirts and sandals don't seem to catch too much flack. Time clock is not super strict. Pace of work is mostly kept at sustainable levels. Good on-site gym. Some teams may work from home occasionally. Great on-call pay structure Great employee stock purchase plan.
Cons
401k match is capped at $2,000. Substantive specialization of talents is highly discouraged by managers so that it is harder to escape the longer you are here. The ideal candidate is a jack of all trades, master of none. Employee opinion surveys are rarely met with material change. Two years in a row the employees resoundingly said that health insurance was the top dissatisfier. Rather than take this and actually do something worthwhile about it, the employees were given a series of re-education meetings to mansplain how our insurance coverage and cost structure isn't as bad as we all think. Firefighters extinguishing their own software arson are frequently rewarded with presidents medals of achievement and promotions while the teams producing sustainable quality are looked down upon. Agile implementation is a bit of a joke. Every project manager and their superiors want to turn story points into hour commitments on a multi-month plan. Most of the business analysts are incapable of having customer value centric discussions or making product decisions that the customers actually like. Ask about how they had a whole dev tribe labor on supplier configuration in EMM for months only to have it rejected because every customer hated it. To be fair, most of this anti-agile pressure comes from the budgeting process. Every touch point outside of software development has never been in an agile organization, so when software dev announced, on its own, that they were going agile, you could understand that an impedance mismatch would create. Hardware team's software is dailywtf.com worthy. It's like taking a time machine to 1996 when you deal with them. Several hardware centric product failures like the windows robot project have not deterred them from course corrections either. The same managers, developers, tools, tech are all in place for all the new hardware initiatives. Above all else, it has been most dissatisfying to make features in products that we rarely get to improve on. The rough draft gets shipped and little ever gets cleaned up. Also not entirely convinced that the employee grading represents a meritocracy. I have spent an abnormally high amount of time coaching up to level 3 and 4 developers on 101 programming topics.