“Is there an app for that?” has become part of the general vernacular. Don’t think so? Try searching on that particular question and see how many results you get. 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 discussion in the social sphere recently 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 ArcGIS 10. 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 Python add-ins will be supported.
- Many organizations are starting to have non-GIS staff use web applications because of their 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.
- Language: This depends on your organization’s preferred platform. Custom desktop applications are most often developed using ArcEngine and .NET, Java, or C++. At ArcGIS 10.1, the ArcGIS Runtime SDKs will be an option. For web and mobile apps, there are quite a few options to choose from.
- 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.