Your best preparation is: just go and program stuff.
Look at different programming languages and try out each and every single one of it. Every language you dabble into will make learning other languages more easy, and you learn different concepts (the fabled object-oriented for example). Try to implement existing api's into your programs, to get a feel for how to deal with those.
Also, if you ever try out java, don't bother using swt, use javafx instead :I