I have been working with GIS for about 8 years and I have used basically ArcGIS family of products. Recently I have starting to look into open source alternatives and have chosen QGISfor Desktop GIS.
Python is a programming language that is common to both GIS softwares so it was only natural for me to select it to learn how to code and start taking advantage that certain tasks can be scripted.
Since I have absolutely no previous programming experience I was suggested by Richard Burcher that I could try
Code Academy to start learning Python. I have about 2 weeks on it and I am really making some progress, it has exercises to do online on their site that makes you get the basic concepts for programming in Python. I do feel certain things are missing like the basic explanation of things; so I would really suggest doing the course together with reading a bit the Python documentation from the Python website
If you are planning on using ArcGIS or QGIS I would really recommend that you start learning Python