Updated February, 2014.
These days, “Is there an app for that?” is not just part of the general vernacular, the question has become almost rhetorical. With few exceptions, the answer is expected to be yes. Surprise (annoyance even) is a common reaction if it turns out there is no app for a particular need. With Google, Facebook, Android, and Apple regularly dominating media headlines, developers own the “sexy job du jour” title.
So it’s no surprise there’s been lots of conversation about whether GIS professionals—analysts, specialists, technicians, and others—should add programming to their list of must-have skills. And how much weight are organizations giving to programming expertise when evaluating GIS job candidates?
The fact is that a lot of GIS professionals have been enthusiastic about programming for a long time. If you attend any Esri event, you’re almost guaranteed to overhear some power ARC/INFO user fondly reminisce about jamming with AML (ARC Macro Language). If there are former ArcView 3.x users in the room, Avenue talk rules. When ArcGIS came on the scene, many GIS professionals embraced VBA.
Given this strong tradition, the current conversation should focus not on whether GIS professionals should cultivate a programming language, but which languages and which platforms will help them do their jobs faster or better. The main reason to learn a programming language is to accomplish something, after all.
Here are some reasons you may want to consider.
Be more productive by automating ArcGIS tasks and workflows.
- How: You can create scripts to execute time-consuming or repetitive tasks, and optionally set scripts to run after business hours. You can document and easily repeat complicated workflows that some projects require. You can share your scripted workflows with other ArcGIS users to boost their productivity too.
- Language: Python. Python is the replacement for AML, Avenue, and VBA. It’s free, cross-platform, and integrated into the ArcGIS platform. If you want to script ArcGIS tasks, learn Python if you haven’t already.
Extend the value of GIS throughout your organization.
- How: If there are non-GIS users in your organization who perform GIS-powered tasks, you can help them be more efficient by simplifying things for them. Give them the ArcGIS tools they need without overwhelming them with a lot of other features and functions. Maybe they never even know they’re using a GIS application—maybe they’re just opening a map, getting information, and printing a report.
- Language: For desktop environments, add-ins are a relatively easy way to create and deliver a custom ArcGIS experience. The Microsoft .NET Framework (VB.NET and C# languages) is commonly used to create add-ins. At ArcGIS 10.1 and up, Python add-ins are supported.
- More and more organizations are having non-GIS staff use web applications to do their jobs thanks to their cross-platform accessibility and lower system footprint. One way to quickly create custom web mapping applications is to use the ArcGIS Viewer for Flex or ArcGIS Viewer for Silverlight. With the Viewers, you don’t have to write any code, you just configure the tools and data you need to deliver a friendly experience and enhanced productivity to end users.
Add new capabilities to support your organization’s unique business workflows.
- How: If you really want to embrace your inner developer, you can learn how to create custom GIS applications accessible to desktop, online, or mobile workers who create, maintain, manage, or make decisions using your organization’s geographic content.
- Do you need to learn a programming language? If it’s not a requirement of your current job, then learning how to program is optional.
- Can programming help you perform your job better? More than likely at least one aspect of your job could be done better if you knew some programming.
- Can programming knowledge make you more valuable to your employer or potential employers? A non-scientific review of major job posting sites reveals that about half of GIS-related postings list a programming language as either a requirement or a recommended skill. It’s a good bet that sharpening your programming skills is worth the effort and will help you grow your career.