I am already working as GIS Consultant in UK. Being an engineering consultancy (not IT or GIS based) company there wasn't any need of GIS development in the organisation.

But due to some recent project requirements my company is trying to promote us towards GIS development.

So my question is that, which route should I progress my career, like: Python - C# - .Net
OR Java?

Quicker advice will be much appreciated as I am in India for my 3 weeks and have an opportunity to join some basic programming courses. Recent visit to the local computer institute, C# and .Net was the main stress.

4 Answers 4


It's a hard question to answer. With regard to programming languages, it's always good to know quite a few. If I had to pick one to start with now (with the intent of working with GIS), I think Python would be my first choice as it's reasonably applicable across open-source tools (such as QGIS and others) as well as proprietary tools (such as Esri). It's also equally at home in web and non-web applications and on various operating systems.

That said, C# and .Net have broad applicability across a number of GIS platforms as well. FWIW, I'm doing a lot of C# work right now but I still think I'd start with Python if I were in your position.

Not sure if that helped or not. ;-)

  • 2
    I concur wholly.
    – Brad Nesom
    Commented Dec 12, 2010 at 3:02
  • Thanks Bill, but its really hard to find an institute who teaches python. I will keep your advice in my mind and wait for few more responses to take any step.
    – B.B
    Commented Dec 12, 2010 at 18:39
  • 2
    The beauty of learning Python is the size and depth of the open source community behind it. So many people (many of which are right here on gis.se) are always willing to help. Commented Dec 13, 2010 at 18:33
  • I agree. There are plenty of online resources as well. I've been able to pick it up without any formal coursework. Python is also more than a scripting language for novices. There's a lot of advanced work going on with it. You can do pretty much anything you need to do. Commented Dec 13, 2010 at 18:37
  • To learn Python there are a few (new?) introdutory Python courses in the Internet. Check link and link. Commented Dec 1, 2012 at 11:21

If I had to focus my efforts on a single language, than I concur with Bill in that Python is probably the shortest learning curve and would give you the most bang for your training buck. It sounds like you have short term access to some training other than Python. The three languages that you mention above (Java, C#, VB.net) can all be used to accomplish similar results. Just pick one and dig in.

Personally, I would choose VB.net because my shop has a lot of in-house expertise and I'm fond of the warm fuzzy Visual Studio IDE. Those are the kinds of considerations that you ought to take into account when you choose your weapon.


If you don't have any prior programming experience, I'd go with Python. It's easy enough for a novice to learn pretty quickly from a 'Learning Python' book. If you're also an ArcGIS user, it's easy to get started using Python with ArcGIS.


If you want a technical answer, then yes, start with Python where you can get quick results. If you're looking for a career focused answer, go with C# or Java.

  • Thanks guy for the advice. At least I am getting an idea about which way to go. So far Python and C# is the best way forward.
    – B.B
    Commented Dec 13, 2010 at 8:06

Not the answer you're looking for? Browse other questions tagged or ask your own question.