Pay is good, especially if your manager likes you; it could go very high.
If you are good at explaining what you're doing to your manager and don't try to overachieve, you can have a life working at Epic.
Food is actually good and cheap.
You have some freedom in the work you do, but it's very dependent on your manager.
Most people are nice and friendly and will help you if you ask.
Helping healthcare is sometimes nice.
Management only looks at some metrics, which is used to push people to do more, often causing problems.
VB6 is probably one of the worst languages you can work on at this scale. Epic is way too big to be using a language that was intended for quick projects.
Some very special people are entitled to work in C#, and this makes it even worse for you.
The codebase is terrible, full of hacks, dead code, and magical constants (both VB6 and C# are affected, sadly), despite the two rounds 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 codebase, fixing bugs and praying for a project.
There is no unit testing, integration testing, or any automated testing for that matter (for most teams at least). This means that things break easily and often.
The toolchain is very fragile. 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 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 from 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 codebase they are managing.
Promotions are based on how much you fit into Epic's horrible culture, rather than merit.
Ditch VB6. Seriously, now is too late. Actually, encourage good code and coding standards. Unit testing.
I had to take a lot of tests and had a phone interview where I talked about my past projects. The tests were hours long and took a long time.
30-minute phone screen, then an OA around 4 hours long. The OA had mental math, but also a few LeetCode-type problems. They were not very difficult if you studied common patterns and implementation.
One single virtual interview after a multihour OA. The interview was 4 hours long, but only ~2 hours was actual interview stuff. The rest was two presentations from different people about life at Epic. The 2 hours of interview included a case study,
I had to take a lot of tests and had a phone interview where I talked about my past projects. The tests were hours long and took a long time.
30-minute phone screen, then an OA around 4 hours long. The OA had mental math, but also a few LeetCode-type problems. They were not very difficult if you studied common patterns and implementation.
One single virtual interview after a multihour OA. The interview was 4 hours long, but only ~2 hours was actual interview stuff. The rest was two presentations from different people about life at Epic. The 2 hours of interview included a case study,