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.
Note: I had to take an assessment prior to the interview. There were multiple parts: * 1 timed assessment * 4 LeetCode questions (of which your browser was locked down) * Some personality questions First interview was a 30-minute phone call w
A recruiter contacted me by email after finding my resume in my school's resume book. I applied for the project manager position, but after I took a personality test, they thought I would work better for either technical writing or QA. They scheduled
1. Got a phone call. Interview: Go over resume. 2. Got a technical assessment: * 10 quick math questions in 2 minutes. * Longer logic section (unlimited time): Classic brain teasers, logical reasoning problems, and arithmetic puzzles. *
Note: I had to take an assessment prior to the interview. There were multiple parts: * 1 timed assessment * 4 LeetCode questions (of which your browser was locked down) * Some personality questions First interview was a 30-minute phone call w
A recruiter contacted me by email after finding my resume in my school's resume book. I applied for the project manager position, but after I took a personality test, they thought I would work better for either technical writing or QA. They scheduled
1. Got a phone call. Interview: Go over resume. 2. Got a technical assessment: * 10 quick math questions in 2 minutes. * Longer logic section (unlimited time): Classic brain teasers, logical reasoning problems, and arithmetic puzzles. *