Pros
- You work with smart people who are trying their absolute best to make something great out of a dinosaur tech stack, which has a fun hacker feel to it when you're ignoring the impact of the technical debt. - The food is actually pretty great.
Cons
- You are viewed as a replaceable unit of labor. - Management does not trust you or care about your wellbeing. - If you are struggling mentally or experiencing burn out, if you don't perform well, management will make no effort to intervene and help you out. - Some senior developers will treat you like you're dumb when they probably couldn't get a job outside Epic at this point because they lack basic modern technical and conceptual developer skills. - The way HR goes about pairing incoming new hires with teams doesn't make any sense, and makes them appear completely out of touch with what the company is even doing. - Management is out of touch with the reality of the industry and don't understand that they are fighting a losing battle in the long-term. - Performance metrics are narrow and don't account for your whole job (while being subjectively weighted by high performers), despite affecting whether you get fired or not. - It's impossible to ask questions without feeling like you're wasting somebody's time, and communicating this with management rarely results in change because as soon as you start asking a reasonable amount of questions, you'll be accused of asking too many questions and not doing enough research on your own, which rarely makes any sense considering how poorly documented and designed most of the code-base is. - It appears that management doesn't possess the ability to self-reflect or empathize with coworkers. This is because most managers are picked from the pool of high performers, so they act more as gatekeepers of acceptable performance, despite obviously being biased against what an average acceptable workload should be. - The performance metric system just makes most developers petty and pits them against each other instead of fostering an environment for collaborative growth. - Most software developers writing web code are out of touch with modern web development and still think they're writing Visual Basic, and will try to make you rewrite JavaScript to include micro-optimizations that only apply to VB.