From Directions Magazine
GIS Jobs of Today: Should you have programming skills?
Editor’s Note:In a field that evolves as rapidly as geospatial information science and technologies, the idea of “getting a GIS job” may not be as straight-forward as it sounds. What are employers looking for, and how do you know that your training and education will get you there? JoinDirections Magazineas we continue a short series of articles examining these topics.
Traditional textbook definitions of GIS often reference the inclusion of software, hardware, data, methods and people, indicating that all components are part of the system that works with geographic information. Characteristics and components of all of these have changed significantly over time, but perhaps none so much as the software itself. In practice, we have gone well beyond a black and white world of proprietary vs. open-source, or desktop vs. mobile. In professional practice, it’s all of them.
That’s not to say that people don’t use a GIS “out of the box” to do their work. They do. It’s that the box is not the defining container that it once was. Customization of solutions is an expectation, reflecting the diversity of applications and the expanding breadth of use cases. Interoperability is possible, so it is expected. The tremendous driving force of web- and mobile-based solutions can only continue.
As a result, the need for programming skills to complement GIS skills is stronger than ever. “Without a doubt, GIS professionals with Python and other programming languages skills will get the best positions. Those with programming expertise garner higher salaries and are more valuable to employers,” says John Gabriel, co-owner of Alsea Geospatial, Inc., a small company based in Corvallis, Oregon. Like many other GIS-based firms, in the two decades that they’ve been in business Alsea Geospatial has found it necessary to increasingly expand their services into the realm of programming and software development.
As we noted in a recent article, GIS skills themselves are diverse and extend beyond conventional interpretations. “Communication” and “problem-solving” are among those things in demand, the types of general abilities that some people are naturally better at than others. How and where does computer programming fit in to the picture? This isn’t the kind of thing that one just picks up casually.
Success with software programming means being able to understand the desired outcome and organize tasks and processes to achieve said goal. Programmers rely on different languages and protocols to conduct their work, but what supersedes specifics of the languages themselves is understanding the problem well enough to be able to organize the logical sequence of steps necessary to achieve its solution. Having that in place will make the acquisition and application of any language skills easier and more effective.
Okay, that’s all good and fine, but how likely are students getting degrees in GIS to acquire adequate and appropriate programming skills with Python or other languages? The answer depends, in part, on how likely the students are to know that such skills are something they will need, and whether they are proactive enough to seek them out if they are not a required part of their formal learning program.
Recently, scholars Forrest Bowlick, Dan Goldberg and Sarah Bednarz conducted an analysis of computer science and programming courses offered within geography departments in the United States. Of the 55 departments they surveyed, 44 offered some type of GIS programming course within their selections, but only a small fraction of these classes were actually degree requirements at their respective institutions. All in all, only about 10% of the GIS-focused undergraduate degrees they reviewed currently mandate that their students take these programming classes.
To be fair, understanding the full picture between GIS curricula, programming classes and students’ acquired skills is challenging at best. There are no required standards in place for what a programming class within a GIS context is to include, so outcomes are likely to be highly variable. Sometimes such courses are taught by geography or GIScience faculty, while in other situations the departments rely on courses taught by computer science faculty elsewhere in the university. When the content is optional to their program, how many GIS-degree undergraduates acquire programming skills, and what those are, remains an unknown.
Bowlick and his fellow researchers asked themselves, “Are departments reacting to changes in the skill sets needed by their graduates, responding to their students’ request for course work, proactively designing courses and programs based on advances in research, or being influenced by other factors?” Yes, occasionally, and probably not to all of the above, depending on where you look, whom you ask and how you gather the evidence. Relying on web-based information such as departmental and university websites and online course catalogs for answers to these important questions is a standard data collection procedure but, as the authors recognize, often yields incomplete and inaccurate results. Unfortunately, it’s not even a snapshot of the same time, depending on when the information was last updated. Yes, Virginia, people really do look at your website!
So let’s generalize to say that the skills are in need and there’s a good chance that an undergraduate student acquiring a GIS degree – at least from within a geography department – may not be acquiring those skills. If he or she wants to address the shortcoming, what options are there to complement their education? Alsea Geospatial’s Gabriel notes, “Many GIS Analysts are intimidated by the term software developer but they shouldn’t be. There is an abundance of free or paid GIS training and programming courses for both closed and open source tools on the web.” He’s right, there are plenty of opportunities, online or otherwise, for training in Python, R, C++, SQL, Java and dozens of others. However, gaining competence with any of these, especially through classes taken independently, does require a commitment to professional development. Frankly, if a student of GIS were inclined to be talented in programming, he or she is probably already practicing this art.
Are additional courses or an advanced degree always necessary? Bowlick and his colleagues focused only on undergraduate degree curricula for their analysis. Certainly, designers of GIS certificate programs and GIS graduate degree programs have greater discretion and overall class space to require more programming content than a typical undergraduate program might have. They may also coordinate with allied departments other than computer science for this type of class. For example, GIS graduate students at the University of Connecticut take a Python class offered by the Natural Resources and the Environment department. Ideally, GIS-focused geography undergraduate students would also have opportunities to take at least one whole course in programming, comments department chair Ken Foote, but given all of the other curricular constraints, their programming practice is limited to that which can be integrated into other classes. That scenario is a common one.
Should an employer hire a GIS-savvy geographer with limited or no programming skills, or a computer science graduate who knows little or nothing about GIS? This over-simplified question can be answered like most things in life: It depends. Employers want people who can understand multi-dimensional spatial problems, make sense of complicated spatial data, and contribute to whatever knowledge or solutions are necessary. Geographical thinking skills are central to these tasks, and most undergraduate degrees in GIS are based in geography departments, where programming courses are infrequently available and even less frequently required. These are gaps that need filling for the GIS jobs of today.