If you made a modernized Dilbert for software, it would look like this
Pros
- Free soda / coffee, free food on Fridays - The staff is helpful and friendly, when stress levels allow it - Good job security - between the work load and number of people on their way out, you're not going to get fired for being an under performer if that's how you want to play it. (You might get yourself into trouble by challenging the status quo too much, however) - Working on robotic automation is pretty cool, in theory - Your customers are household names
Cons
- Awful upper management to the point of being borderline hostile. From the directors up through the owner, the company is run in an archaic command and control style. They're isolated with little to no interactions with the staff. When their direct reports give push back, they're stonewalled or belittled - so mostly they just don't any more. And then there's bizarre self-defeating decisions, like mandating a team average 2.7 out of 5 on the yearly performance reviews because the company isn't meeting it's goals. Of course it was so ridiculous managers and staff knew what was up and just ignored the numbers entirely, but that built up a lot of ill-will. - Non-existent work/life balance. Working nights and weekends has become normal, people are asked to work holiday weekends or travel cross country with a day or two notice. A hallway conversation between managers: "Well I guess people are just going to have to work long hours until August." "The problem is the plan already included that". - Extremely low staff morale. Unhappy customers, unreceptive management, and a death march atmosphere. There's a lot of "gallows humor" as one manager calls it: openly passive aggressive tones and conversations to make light of obviously bad situations. Teams average a 1.5-2 out of 5 on self-reported happiness in retrospectives. - Because of the enormous amount of work and harsh deadlines, there's very little cross-team cooperation if it's not something that team is on the line for. It's not because the staff is unhelpful, they very much want to be, they just can't be. - Similarly, there's very little long term investment, because there's no time and little autonomy to do anything about it. Technical debt piles up, you'll find yourself struggling against the same known (or unknown) issues over and over again. - Don't be fooled by any claims of following agile or scrum methodology - this is the epitome of flaccid scrum. Sprints, content, priority, and deadlines are predetermined months in advance by people outside of the department. Teams have no control over scope or timeline. There are constant interruptions due to production issues, management interference, and cross team dependencies/support. Scrum masters are not team members or individual contributors and are essentially an arm of management . Meetings are not autonomous and product owners are essentially project managers with no authority.