These are not downsides so much as things you should consider, because a lot of people would struggle with them:
- Old technology. What Epic is doing with medical records is modern and impressive. The tools are not. Do you care that you are probably going to be programming in old/uncommon languages, Cache and VB6? I don't, but a lot of people do. There are a few teams that work with new and cool iPhone-ish type stuff, but most don't.
If you like software development because you enjoy working with the latest and greatest platform, you will likely not get that here. If you like software development because you like problem-solving and want to make something useful that's never been done before, you will get that.
- Lots of work. I don't mind, because I enjoy it. Typical work week for most developers is about 45-50 hours. Before a release deadline? Anything goes, you just need to get your stuff done. And since it's medical software, a safety-critical bug can mean you're staying late and not leaving until you figure out what's going on.
That said, it's not as much work as a lot of these reviews would have you believe. I stay late and work more hours than most, and the place is pretty cleared out by 6:00 or 6:30. (Implementers are another story - they're on the road a lot and work way more hours than the average developer).
- The expectation is that you will find a way to solve your own problems. I don't mean that you're expected to know everything yourself, just that you're pretty much on your own to seek out help when you need it, since no one's going to be looking over your shoulder. You need to have a lot of self-discipline to keep your work on track, and you need to have the attitude of, "It may not technically be my responsibility, but it's still my job to make sure everything goes right." "My project was late because I was waiting on X thing from Y person" is a non-starter. For better or worse, it's still your fault if you could have seen it coming. And if you couldn't have seen it coming, it'll be your responsibility to find a way to make sure it doesn't happen again.
What this means is that if you're looking for a place where your duties are explicitly spelled out, you won't find it here. Your job is to ensure a successful end result, whatever that happens to mean at the time.