I just answered another question of yours assuming that you didn't have any programming background, so now I feel a little silly. Sorry about that.
I have two main suggestions from where you are now.
My second suggestion is to look for languages that will expand your horizons. Java and Python approach programming in a pretty similar way. I'd recommend learning Scheme, Haskell, Erlang, or another functional programming language. They are much different, and it is likely much harder to do things that you are used to, but experiencing that approach will go a long way to letting you pick up additional languages in the future. You will be able to think in terms of how to express a problem to a computer, rather than in terms of Java or Python's individual syntax. Go might also be good, for practice with multithreaded programming.
I hope this helps!