Pros
- Mostly friendly and positive environment working with other developers of the same or similar title. - Most direct supervisors are very cooperative and helpful. - Slightly competitive pay. - Good work-life balance.
Cons
- Promotions are a popularity contest. If you aren't "seen" by people multiple layers above you, there's no chance. - Project managers have no vision about what they actually want. Requirements will change frequently without proper communication, and developers are blamed for this. - Project managers see developers as an obstacle and are eager to use LLMs to replace them even at the cost of application stability. - Project managers are vindictive and will get a developer in trouble for disagreeing with them on implementation details. - Project managers take credit for work of developers (see: promotions being a popularity contest) -- but only if the work looks good. If a project goes poorly for any reason, PMs will blame and throw developers under the bus. - Project managers are adamant about sacrificing code maintainability for churning out features at all costs. - Middle management often micromanages two or more layers below. They will join meetings to dictate minute implementation details for seemingly no reason other than to exert authority and to be "seen." - Many senior developers treat anyone with a lower title than them like idiots who cannot be trusted to make any decisions, but at the same time won't provide clear guidance for the "correct" way to do things.