- Terrible dev ops with a lot of spaghetti code. You will often deal with a slew of errors completely unrelated to your code and this is completely normalized. Ultimately, you will be blamed if your work takes longer because of these errors.
- You will code much lesser than you would at other companies since 50% of your time will go into writing design documents, making powerpoint UI mock-ups and arguing over a button's border style with 10 other people in the room. -
Absurdly long training (3-6 months). You will not be contributing anything during this time but instead learn things you will probably forget and have to re-learn anyway.
- No concept of promotion. You are either a Software Developer or a manager (no level 2 or anything). There are engineers who have been working for 10 years at Epic who do the same tasks a 1-2 year tenured dev would do. It's harder to convey your professional level on your resume when switching jobs.
- Toxic culture. My manager had unrealistic expectations. There is no path for conflict resolution since HR will always take the manager's side. Switching managers is nearly impossible in that scenario. You might luck out and get a good manager but the fact that the bad ones are not weeded out says a lot.