Updated February 11, 2018
These days, "Is there an app for that?" is a rhetorical question. The answer is assumed to be yes. Surprise (annoyance even) is likely to surface if it turns out an app doesn't exist for a particular need.
So it's no surprise there's a continuing 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 an Esri conference, you're almost guaranteed to overhear at least one veteran 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 first VBA, then Python.
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 and 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 schedule them 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 still 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. Tip: Keep an eye on Arcade, a newish scripting language for ArcGIS that may become as popular as Python some day.
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. Python add-ins are also supported.
- More and more organizations are having non-GIS staff use web apps 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 Online configurable apps. With a configurable app, 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.