Last time I looked at two skills that every good user experience person should have in their toolkit for getting ideas from the mind onto paper and into the computer. This time around I will be suggesting how to take that vision and make it a reality. After all what good is an excellent design if it cannot be converted into a functional system?
There are a multitude of excellent references available for each of these so pick up something that matches your experience level and run with it. The key to success is not just to read but to experiment. Don't assume that because you read jQuery in Action that you are now an expert. Create small applications that scratch some itch you have. Maybe it is redesigning an awful web site you have to use on a day to day basis. Perhaps you have an idea for something that will make your own life easier. Either way do not be afraid to get dirty.
One skill that I have noticed seems to be in high demand right now are designers who are not afraid to dip their feet into the water of programming. Nobody expects you to have a deep understanding of the J2EE architecture or how to implement a TCP/IP stack. However learning a lightweight language like Ruby or Python can give you a leg up when it comes time to talk to the developers.
Instead of handing over some dynamic mockups generated in Axure or even a medium fidelity HTML prototype you will be able to go one step further. When somebody tells you "that's impossible to do the way you want it" you'll be able to judge if they are lazy or honest. It also means that you won't be constrained by waiting for a full implementation - creating a rough cut lets you move forward with things like usability testing while waiting on the programmers to do the data modeling, business logic, and other messy details involved in a rich Internet application.
As with the prototyping advice above don't be afraid to dig deeper. Start with a set of basic tutorials or an excellent reference like Agile Development with Rails. Once you feel comfortable explore the APIs. Try different features that sound interesting. There's no need to develop your skills to the point that you could do it all yourself but at least you'll know what the framework is capable of. This means you'll be able to know which boundaries you can push and which are foot thick steel walls.
The most brilliant idea in the world will go nowhere if you don't have the ability to clearly share your vision with the rest of a team. Excellent communication skills come with practice and time but that doesn't mean you can't develop them on your own. Start with a good reference like Communicating Design or A Project Guide to UX Design.
Pretty pictures alone will not sell a design so also focus on developing good writing skills. Find examples of reports on the web and study the way that they organize information. Apply the principles of information architecture not just to your products but the items that are generated along the way. Get in the habit of rewriting drafts by looking at them through the eyes of your target audience. The language you need to use when speaking to programmers is not the same as when you are presenting to the marketing department.
Finally practice giving presentations. Anyone who says they don't get nervous when speaking before a crowd is either lying, has a huge ego, or has done it so many times they could present in their sleep. Either way the secret is to be so prepared that you give your nerves time to settle down. I can't give any advice on one particular style that works because over the years I have seen so many different approaches succeed. Take notes when you go to conferences, local talks, and other events on what you liked about each speaker's style. Experiment until you find your own comfort zone. Confidence is king and will get you through most rough spots.