Gosto dos materiais do curso Python for Geoprocessing, de Chris Garrard. http://www.gis.usu.edu/~chrisg/python/2009/ Pessoalmente, considero indispensável a manipulação programática do OGR / GDAL.
Com relação a encontrar o melhor ajuste para você, considere o software ou o geostack no qual você deseja ser mais especialista (como ArcGIS, QGIS, PostGIS-GeoServer-OpenLayers) e escolha a (s) linguagem (s) de programação que melhor suportam sua escolha. Isso pode ser descoberto ao verificar o idioma da API associada ou outros tutoriais de personalização. Existe uma grande quantidade de recursos de aprendizado de programação on-line, e uma pesquisa na web do seu pacote de software preferido + idioma + "tutorial" o ajudará.
Eu também acredito em "aprender fazendo". Por exemplo, crie um mapa simples com Javascript e Google Maps e tente adicionar geometria, estilo, interface do usuário e análises de interesse. Trabalhe para ver o que é possível e o que não é. À medida que você cria, você precisará de ferramentas mais sofisticadas para personalização, e isso apontará para plaftorms, idiomas e bibliotecas relevantes.