I started with c++ but as we all know, c++ is a monster. I still have to take it and I do like C++ (it takes programming a step further) 
However, currently I have been working with python for a while. I see how you guys can turn some long algorithm into simple one.
I know programming is a progress, and can take up to years of experience.
I also know myself - I am not a natural programmer, and software engineering is not my first choice anyway. However, I would like to do heavy programming on my own, and create projects.
How can I become a better python programmer?
The already-posted answers are great.
In addition, whenever you're coding something in Python and you start doing something that feels clumsy, take a step back and think. If you can't think of a more elegant way to do it, post it as a question on Stack Overflow. I can't count the number of times that I've seen someone reduce ten lines of Python into one (which is still perfectly easy to read and understand).
How to become a good Python coder?