Have a reasonable understanding of PHP. Make sure you can write clean understandable code.
Learn the WordPress Theme API inside and out. If you really want to be good, learn how to build plugins.
Solid CSS skills are required to if you want to making themes that are responsive and look nice. Maybe take a graphic design class to understand fonts and what makes things asthetically pleasing.
Oh, and make sure to have a good toolbox of plugins to use that are clean and simple and do some good things for you but don’t weigh down your site. It’s better to have a few plugins that do some things then have one big one that tries to do everything
That’s about it. Good luck!