- Management only looks at some metrics, which uses to push people to do more, often causing problems.
- VB6 is probably one of the worst language you can work on at this scale. Epic is way to big to be using a language which was intended for quick projects.
- Some very special people are entitled to work in C#, and this makes it even worse for you.
- Code base is terrible, full of hacks, dead code, magical constants (both VB6 and C# are affected, sadly), despite the two round of code review mandatory for every check-in.
- Senior people, who built the horrible things you work on in VB6, are now working in C#, making your future life hell.
- This depends on your team, but you will often just maintain an old code base, fixing bugs and praying for a project.
- No unit testing, integration testing or any automated testing for what it matters (for most teams at least). Which means that things breaks easily and often.
- Very fragile toolchain. Even doing easy things such as backporting fixes to other versions takes hours and needs manual testing.
- Depending on your team you get to work some nights or weekends (and you are almost forced to stay).
- Supervisors will throw as much as work as they can, because their supervisor is asking them to do so.
- None of the problems I encountered during my day job are even vaguely interesting on a CS standpoint.
- Did I mention VB6 is horrible?
- People leave left and right, making building a network inside the company very hard.
- For the same reason a lot of projects lack owners. A lot of code is actually unmaintained.
- Most of the upper management doesn't code, and has never written code inside the company. Most of the managers don't have a clue about the code base they're managing.
- Promotions is based on how much you fit in Epic horrible culture, rather than merit.