Pros
Decent flexibility for temporarily working remotely. I no longer work there.
Cons
Where to even begin... Bureaucracy. Everything was riddled with red-tape and pointless blocks to getting anything reasonable done. I spent more time trying to get to a place where I could actually do my job than actually doing my job. Pointless meetings made up large chunks of days. Getting things done was a political game, and you had to play your cards right and play the game to get even simple things added or changed. Rules and red tape dictated many everyday activities, and budgeting heavily dictated what what was worked on and who got promoted. Advancement within the company was made even more difficult if certain people didn't like you. Regressive. Used to be an agile development with two flex WFH days. Now, we have deadlines, mandatory work weekends to meet said deadlines (salaried, no overtime), and when I left people were concerned that they'd lose their last bastion, a Friday only WFH day. Talks of replacing US contractors with overseas ones for the sole purpose of "saving so much money!" was especially hilarious, given that they escalated mere days before the severity of Boeing's losses due to the same behaviors came to light. Incompetence. Failure was VERY infrequently recognized. Many departments, mine included, would cover up failure or excessively 'focus on the positives' allowing for people and programs that should have long ago been course corrected to continue producing sub-par work. Nobody wants to admit that they could have possibly been wrong, and a pathetic childish insecurity permeates far too many decisions. Mistakes are repeated, and quality of work continues to fall. The quality of a delivered feature was largely irrelevant, the only real metric was that they "had it", and that it sounded buzzwordy enough to impress executives. Claims that it could be done better would be met with "Well, we're not a tech company". Poor Guidance. Developers were architects, BAs, developers, and occasionally product owners, all at the same time. The actual architects provided no guidance, and all goals were about getting X added to the project, with no indication of how to get there, or what business or tech hurdles were to be expected. Despite this, management would feel more than comfortable constantly making promises of what will be delivered, without consulting anyone who would have insight into the feasibility of that action. Work would have to be done and re-done, and it was not uncommon to have to miss a deadline or scrap a feature for a release due to a requirement unknown at the start of work on a feature blocking progress entirely. Chaos and Zero Transparency. Frequently, radical changes to team structure, objectives, deliveries , and even tech stack would be learned of mere days (if even) before work began. One team in my department learned that their entire feature-set they had just finished spending four months re-platforming was going into the trash, and they would have to do it again in a new language (that none of them were hired for, no training provided). They learned of their fate from a powerpoint presentation, but at least the director of the department was in the same boat, as they also didn't know about it until that slide came up. Promotions Through Attention-seeking/Tantrums. The only way to move up was to constantly talk about how great you are, or to seem like you were going to quit. Only by constantly mentioning the quality of your work or by putting down the work of others could you impress management into giving you a position you likely didn't earn, and then proceed to contribute nothing of value in your new role. They had no visibility into what you actually do. You would NEVER have your work recognized on its merits, every single promotion found its way to a charlatan or somebody moderately skilled on the verge of exiting the company out of frustration. Lies From Management. We sure talk about our "corporate values" a lot for a company that constantly puts actual user experience and feedback considerations to the side in favor of impressing stockholders. You will be told that you'll get a promotion or raise "very soon" for months before you see any progress, if any. Promotions and raises are just keys to be dangled in your face, in the hopes that it will placate you for another week. Doing things "for the user" is used to inspire/coerce people into giving up their free time, more often than not for something that is actually a senior management checklist objective with little bearing on user impact. High Turnover. Guess why?