Finding the right place for me is very different from finding the right place for you. For example, where I work (zulily) there is a ton to do. I think about all the cool problems I get to solve. But at the same time, I have to deal with a lot of "not how I would have done it" solutions. Don't get me wrong, I'm fully aware that any decisions that I make will be castigated by current/future workers (the wheels on the bus go round and round).
With that said, find an industry that interests you right now. Find companies that are using software to solve problems in that industry. Then just start working. When you are there, you have 2 outcomes - one is that everything is amazing and nothing needs to change (unlikely) and the second is that it's mostly OK.
If it's mostly OK, you can decide to put up with it (because the challenges and coding are tilting in the favor of happiness) or you can (cliche alert) be the change you want to see. If you see a process that you don't get, question it and find out why it got instituted. If no one can give you a good reason (and good is subjective I know), then change it. Get rid of it. Nuke it from orbit (it's the only way to be sure). If your boss says things like "Because I said so" - find somewhere else to work.
A lot of people will tell you "Just code on side projects". That's an awesome idea. but you can work on side projects about 2-3 hours a day (assuming you've got friends and other hobbies). Is that 2 hours a day really enough to make up for the soul sucking 8+ hours you spend at an office? I know it isn't for me. I've got side projects, but most of them revolve around how I can learn a new technology to help the company I'm currently working for.
And just to answer your original question: Yes. I'm still excited by programming.
Be careful with the definition of 'difficult problem'. Building a HTTP server from scratch is not a difficult problem. Trying to understand a 30 page generalization of financial calculations and implement it on a programming language when you are not a mathematician is a difficult problem. Most programmers, specially 'juniors', have a very shallow understanding of what difficult means. Nothing you know how to do is difficult, it can just be lengthy, only new things / things you don't fully understand are difficult.
This is valid for pretty much every career, really.
The only advice I give to people entering this career is to get ready to deal with the complete, absurd social ineptitude of the majority of technically great professionals in the field. Which is not all bad, with a bit of social skills, you will lead.
Luckily the field is really vast to keep you interested for decades.