High quality talent
What I liked most about Epic was the quality of the people I worked with. Nearly every person I worked with at Epic was incredibly intelligent and competent at what they did. I was able to learn a ton from the more experienced developers around me and never really had to worry about someone I was working with dropping the ball. Moreover, everyone is always willing to take time to lend a hand if you ever need help with anything, and people are generally pretty cool.
Breadth of responsibility
I'm the type of person who likes to have my hands on many aspects of a project. At Epic, software developers are expected* to do front-end development, back-end development, UX design, requirements analysis, and customer interaction. Going back to the first point, you have the opportunity to learn to do all of these things quite well if you apply yourself. I think this is somewhat rare, especially for large companies where roles are generally more specialized.
*This will vary by which team you are put on and what your interests are. For example, if you hate or aren't good at UX, you won't be forced to do it, and it won't hinder your success at Epic.
Work-life balance
During my time at Epic, even as a TL, I averaged about 45 hours a week. I think Epic has a reputation for making people work crazy long hours, mostly based on the implementer role (which I won't speak to).
Campus
Kind of goes without saying at this point, as it's been said so much. I SO miss the cafeteria(s).
Madison
While not very big, Madison is a pretty cool city to live in, often showing up in top-N lists of best places to live for young professionals. Epic is about a 25-minute drive from downtown.
This was one of my biggest dissatisfiers at Epic. It's very difficult to make significant changes to the software, and even seemingly small changes can take a long time. There are a number of reasons for this.
A large part of it is due to the nature of the product itself -- Epic's main product is Hyperspace, which is a desktop application that is used by many different roles across healthcare organizations. The product is designed in such a way that data flows between modules (of which there are many) seamlessly, and this kind of integration is surprisingly difficult to maintain.
The other big factor, in my mind, is high technical debt, which is a problem that (as of my leaving) has not yet been highly prioritized by management.
The back end uses a language called MUMPS, which actually isn't too bad of a language (the database capabilities are kind of nice), but it's not great, either. A large portion of the front end is in VB6 (not VB.NET), which is somewhat limiting and often a headache to use.
There's been a push to move to a web platform, built on C#/ASP.NET, which has finally been prioritized company-wide (hopefully VB6 will be a thing of the past in just a few years). The web platform is nice to work in, though parts of it already feel dated compared to newer technologies like React.js.
You apply for PM or TS, and they may let you know you are also considered for the QM role. The interview includes a presentation that you have to make. I think it is effectively the same as PM, but you are judged for PM (IS) or QM.
The first round was an online assessment and a phone interview. The online assessment consisted of math, reasoning, and programming-based questions. The phone interview was informal and just a conversation about the position.
30-minute phone interview and a 4-step skills test. The phone interview is a back-and-forth about items on your resume, with an extra discussion about what the interviewer does at the company and their experience.
You apply for PM or TS, and they may let you know you are also considered for the QM role. The interview includes a presentation that you have to make. I think it is effectively the same as PM, but you are judged for PM (IS) or QM.
The first round was an online assessment and a phone interview. The online assessment consisted of math, reasoning, and programming-based questions. The phone interview was informal and just a conversation about the position.
30-minute phone interview and a 4-step skills test. The phone interview is a back-and-forth about items on your resume, with an extra discussion about what the interviewer does at the company and their experience.