I've been attempting to navigate this transition for about five years, and I've learned a lot along the way.
First, experience is almost everything. As mentioned in another answer, the 10,000 hours thing (although it's a Gladwell gimmick) is fairly good as a first approximation. But it matters what kind of experience you have.
All of my experience is in startups and small organizations, and I think that has helped me more than I could've predicted. My first job was in a small, very fast-paced nonprofit. I was doing full stack programming, including UI work, and my "sprints" were measured in days, not weeks. I was building mostly in-house tools, so feedback was immediate and unfiltered.
I was too inexperienced to know why people were having trouble in places, but I began to see patterns in interfaces that were easy to use and ones that were not.
My next few jobs got me exposure to different audiences. I worked at an association where I got exposure to poorly motivated elderly people, and I worked at a startup where I had to create interfaces for Joe and Jane Sixpack as customers.
If experience is almost everything, then study is basically everything else. And I don't mean going back to school. You should read. A lot.
Here is a list of useful books I put together a little while ago list of UX and UI books
There are a few types of books that will be helpful to you:
- General design approaches - Books like The design of everyday things, Steve Krug's stuff. These books will help you develop the right thought process to tackle UX problems.
- Theory of design - The Lidwell book is great. These books are your basic design 101, and you learn things like color theory, Gestalt principles, layout, etc. (This applies more to the design side of things than IA, but you need a basic understanding here regardless)
- Information architecture - Information architecture for the World Wide Web is one. These are all about taxonomy, hierarchy, and user flows.
- Design patterns - Designing interfaces is a good one. These are just big long lists of problems and solutions. This type of book is great to help you build your mental map of solutions. For a while, you're going to feel like there are an infinite number of solutions to each problem, but after digesting a few of these books you will realize that most problems have already been solved.
- Case studies - Nielsen used to be great here, but I feel like his stuff is getting pretty dated. Case studies are super important and the benefits to you will be similar to learning about design patterns, only more general.
Start with the general books, hit some design theory and IA, go through the design patterns books, and finish up with practice and case studies.
Finally, on managing your career transition... There will be points in your transition where you just have to close your eyes and jump. For instance, you can do all the self-study in the world, but if you are a programmer at a large corporation where you're insulated from customer and user feedback, it's going to be very difficult to get the needed experience to bridge the gap. On the other hand, leaving a six-figure programming job to take an entry-level UX job usually isn't wise.
But the biggest problem is that nobody is going to believe that you are UX guy until you have had a job where your primary responsibility was UX, and nobody wants to give you one of those jobs unless you have previous UX experience. It's very hard to sit in an interview and say that "yes, I was a programmer, but I studied user experience in my spare time". I handled the problem by quitting my job and deciding there and then that I would start being a UX guy. Nobody will hire you, but you can be a consultant. That's how I did it, and I wouldn't have been able to manage the transition otherwise. I hated consulting, and hustling clients was the worst part, but when I interviewed for my next job, I could point to my resume and say that I'd been doing just UX for the last couple of years.