I came to this late and will probably get buried. Anyway, here goes.

1. Programming punishes you brutally if you do it wrong. Bugs occur for what seems like no reason, problems are unsolveable, and the job becomes an unrelenting, unrewarding slog. (Conversely, it's a hell of a lot of fun if you're doing it right.)

2. Some companies and teams are managed by idiots who will force you to do things wrong. If you're 22, you'll probably end up working for at least one or two before you're 40. Leave them, because...

3. Until you get used to doing things right, and learn how to things properly, and get the credibility that comes with actually being good at this job-- and that takes a while-- nothing will make sense and your career will be for shit.

When you're bad at your job (and everyone is, when starting out) or when things are bad, it's not obvious. Nothing is ostensibly bad, so much as incoherent. You get trapped in a flood of grunt work that seems beyond automation because either (a) you're not skilled enough, yet, to do it; or (b) you're not in an environment of excellence that encourages automation. When things seem unpleasantly stochastic, get out and move to a more coherent place.

The issue with OP is that he hasn't figured out that solving the right problems is far more important than solving the highest percentage of what's put in front of you. IE hacks? If it's your web app, or if you're strongly investigated in the success of the thing, make a cost-benefit analysis and decide whether to do the IE hacks; at least if you end up doing them, you're doing them for you. If it's someone else's ambition and you know that doing good work won't be paid in kind, just do well enough on the grunt work to avoid political adversity. Then pack away as much time as you can to learn the skills you'll need, and make the contacts you'll want, for the next act.

Rule One, which should never be broken: if it's bad for your career, don't work on it. I'm not saying never work on unpleasant stuff. Sometimes, the unpleasant work is important. If you ever want to be a founder, you have to get used to doing annoying or unpleasant work when there's no one else to do it. However, if the work actually hurts your career-- and there is plenty of work like that out there-- then it's virtually never worth doing.

In the short-term, if your boss considers it important, it is (by definition) good for your career. However, if you're getting tossed the IE support while the interesting work gets passed on to favorites or hogged, then it's time to (a) just get up and do more interesting stuff-- it's better to ask for forgiveness than permission-- or (b) find another team or company. So long as people like OP don't realize that they need to take self-executive responsibility for their own careers, they'll be doing the shit work no one else wants to do.

Programming gets a lot better as you (a) get better at it, (b) gain credibility, and (c) learn the warning signs that surround bad jobs and failing teams. There are a lot of people who get to work on better stuff than someone else's IE support. It takes a while to get there, and it's done one day at a time, but unless you're untalented, steady progress will lead that way. Even if you don't care to play politics actively, you have to learn the warning signs. That takes years. Until you develop those skills, everything seems nonsensical and wrong, though; and the industry seems uniformly terrible. It's not. It's mostly terrible; the good news is that it's mostly terrible because of the MBA-style, anti-intellectual management that used to be common everywhere, and that's slowly going extinct-- because what it produces is of too low quality for it to survive.