This got a little longwinded, sorry. I found your question because of the same issues, but I'd like to first comment on your idea that your first job defines your career.
I used to worry about the same thing. I went to school for mechanical engineering, got a job as a test engineer in an R&D program. It was pretty cool at times, but I could take it or leave it. I did this for 3 years and decided I wanted to try something in the construction industry, so I applied for (and was hired) at a utility company as a project engineer, running several projects involving equipment and system replacements and upgrades. This involved preparing bid documents, selecting a contractor, overseeing their work, overseeing the design of the system if a new design was required, etc. I did that for a year and hated it, so I went back to my test engineering job.
During my second time at the test engineering job, I used excel alot, crunching tons of data. I ended up fiddling around with macros and eventually wrote something that automated alot of repetitive stuff I would do manually all the time. When I had to change something, it was a mess of a time because I obviously wrote horrendous code. But this sparked an interested. Every time I got stuck trying to make a change that seemed like it should be simple, I thought how can I make this easier. Through googling around I started discovering coding techniques, like not hardcoding things lol. You have to start somewhere right?
Eventually I got so interested in programming that I started taking classes in CS. I took an intro class, then another one covering object oriented concepts, both with java. I took data structures and algorithms, and a class in C. At this point I decided to go to the career fair at my engineering alma mater and show people what I've been doing, get their opinion on whether I was on the right track for a career change, etc. Well I ended up getting a programming job out of the whole thing.
I was so excited about my career change. I loved solving programming problems and it's the first time I can say I really had fun doing school work. Fast forward two years and I'm trying to hang on to that passion as hard as I can, because my job is sucking it all away. I'm in a small development group at a huge company that writes/supports corporate applications (internal software/systems that the business uses to do their jobs). They use Oracle e-business suite among other things, with alot of customization. Our documentation is horrendous. Unit test documents are outdated and don't explain how to run a process through the user interface. I still love programming and solving programming problems, but I feel like all I do here is wrestle with poor documentation and trying to figure out uncommented spaghetti code with 500 line sql queries, and trying to figure out how to run a simple process in oracle.
In summary, I would say that your first job does not define anything. If you want something bad enough, just go get it. That's really all there is to it. Now, if you want to make a switch from an accountant to a heart surgeon, well sure there's alot more to consider there. But for most types of career/job changes, it's not as bad as it may seem at the time. It does require hard work. But if you don't want to do that hard work, that's proof enough that you aren't that interested and keep looking. Which brings me to my next point. Don't settle. It gets frustrating feeling stuck, and it can sound like an easy solution to just accept it and stay put. But keep searching for what really fires you up. You can program anything, but for me, I need to really feel excited about the product or service I'm creating. I think to find fulfilling programming work as you asked, you need to determine what you're really interested in, then see what tools/knowledge/skills you need to be able to get a programming job in that industry.