Where Geography and Computer Science Meet - The GIS Skills Gap
Anthony Grescavage
Helping organizations with systems design and integration at the intersection of GIS and smart sensors/IoT for transportation, infrastructure, and smart cities.
A short while ago, I opened my email to find the Reddit post:?What planet do the GIS Developers come from?. If you're a GIS professional, in a position of leadership overseeing GIS operations, or otherwise work in a capacity involving GIS, I suggest reading through many of the comments. They provide an eye-opening perspective on the realities of the GIS industry directly from GIS professionals. While the post focuses primarily on GIS?developers, it highlights how skills gaps are a growing problem in the GIS industry. If we want to continue to develop this industry, we must ensure that we're continually attracting new talent and introducing new skills. To attract new talent, we must make sure we're addressing some of the key issues that stand in the way of bringing new computer science talent to the GIS industry. Let's review:
GIS?Has?Historically?Focused?Far?More?on?the?“G”?Than?the?“IS”
Geographic?Information Systems?- it's right in the name. GIS is a marrying of?geography?and?information systems.?However,?most?GIS professionals have historically come from the?geography?side, with few coming from an?information systems?background. I can't think of a single GIS professional I know that?started?on the information systems side via an IT, IS, CS, or similar degree or background. Even with my own experience, I learned GIS?first?(via the army), self-taught programming, then returned to school to fortify and formalize my information systems knowledge and experience. I've since spent?far?more time on the "IS" side of GIS, but I still got my start focusing primarily on geography and cartography. As of this writing, I have yet to meet another GIS professional who has formal training in?both?GIS and computer science/information systems (I know you're out there, somewhere!). Considering how much easier it is for a computer science major to transfer their skills to GIS than for a GIS major to learn computer science, it's a bit surprising that we don't see more taking this path. Well, it?would?be if not for the pay disparity and other issues discussed later.
GIS Titles Are Confusing
GIS Technician. GIS Specialist. GIS Analyst. GIS Scientist. GIS Developer. GIS Systems Engineer. Can?anyone?in the industry give me a clear answer on the primary responsibilities for each of these roles? What do you think the chances are that job descriptions posted by numerous companies will agree with you? At what point does one transition from being a GIS Technician to a GIS Analyst? If a GIS Analyst is required to write Python scripts for statistical analysis, what?exactly?are GIS Scientists and GIS Developers, in contrast? Does "Python" = "GIS Analyst" but "HTML5+JavaScript" = "GIS Developer"? What about a GIS?Data Scientist? While we're at it, does?anyone?know what the heck a?GIS Specialist?does?
If you sit at a table with ten GIS professionals, you're likely to get ten different descriptions for each one of these job titles. If even those of us?in?the industry can't agree on what these titles mean, how can we expect management, HR, and others to understand, especially when many aren't GIS professionals? These days, many GIS jobs are not in GIS-focused organizations. They're typically in companies that?need?GIS services as a part of their daily operations, much the way many companies need IT departments to run their computing technology. If the job titles don't make sense to us, they?surely?won't make sense to?them.?If you're a GIS professional, that should matter to you. Otherwise, it'll be really difficult to explain why that neat little deep learning model you trained all by yourself justifies you getting paid?double?what that entry-level GIS Tech is going for.?Someone?needs to extract those 40k+ building footprints. They're not going to digitize themselves, right?
GIS?Programs?Rarely?Focus?Enough?on?Relational?Databases
GIS is built?almost entirely?around relational databases. Reddit user Barnezhilton (whose profile indicates he is a "GIS Software Engineer") commented:?"I started in computer engineering and once you learn GIS is just a database it all clicked."?In?any?software engineering program, you should expect to learn a?lot?about relational databases. While a few GIS programs involve courses on relational database management, very few include courses focusing on relational database theory or database design. It's uncommon to find GIS professionals with an in-depth knowledge of critical relational database concepts like primary and foreign keys. It's even rarer to find those with knowledge of more "advanced" topics, such as composite vs. surrogate keys, normalizations and the different normal forms, stored procedures, scalar and table-valued functions, etc. These are all topics taught in "Relational Databases 101", but are notoriously absent from the typical GIS professional's skill set.
To be fair, most GIS professionals don't?need?to know these topics to perform their daily tasks, and the most popular database platforms rely almost exclusively on surrogate keys and hold your hand through most of the basic database design and management operations. Still, with even a little bit more relational database knowledge, GIS professionals can often save themselves a?lot?of effort and make their jobs?much?easier. It's amazing how much time and effort you can save, as well as how many issues you can avoid, just by something as simple as extracting a concept out to its own table (or feature class) to improve data integrity and reduce redundancy. In addition, the amount of information that can often be derived through the use of simple views and table joins is astounding. Unfortunately, few GIS programs go beyond covering the minimum level of knowledge required to get a GIS database up and running.
GIS?Developers and Other Highly-Specialized Roles?Rarely?Have?a?Support?Network
Most software developers work around other software developers. If you get hired as a new developer in a "software shop", chances are you'll get your start doing some mundane task, such as writing documentation. If you want to move up the ranks, you'll have to show your skills. Fortunately, you'll likely have a broad swath of other software engineering professionals to lean on, ranging from junior developers all the way up to software/systems architects. You'll even likely have a full-blown database administrator, should you want to engage in an ever-so-interesting discussion about composite vs. surrogate keys or the "ideal" level of normalization for a given database. This is rarely the case for GIS developers. Many, if not most GIS developers work alone or in very small groups. Even in offices where there are multiple GIS developers, they often come from similar backgrounds and experience. A GIS developer isn't likely to find someone with a computer science background that they can lean on to learn about more advanced CS topics, such as what might be required when making critical decisions in the architecture of the GIS system. Even principles as basic as single responsibility and encapsulation are foreign terms in GIS. Without someone to serve as a guide, it's hard to know what you don't know. With so many GIS developers working "on an island", professional development is stunted. As a result, the entire GIS industry suffers from a lack of programming knowledge.
GIS Software Developers are Paid Less Than "Traditional" Software Developers
With many people commenting that it's easier for a computer science major to learn GIS than for a GIS major to learn computer science, the solution may seem simple - just train more computer science majors on GIS! Unfortunately, there's one major flaw with that approach. Computer science professionals typically earn?way?more money than GIS professionals at every level. According to salary.com, the median salary for a software engineer is $116,300, while a GIS Developer comes in at $72,637. While it would seem illogical to have such a wide pay disparity for?specializing, the reality is that the skills?expected?for the average candidate in each respective role are vastly different. The title of "GIS Developer" can mean anything from "Can write Python scripts for geoprocessing" to "Full-stack software engineer who specializes in GIS applications." Unfortunately, understanding the difference between the two requires at least a basic understanding of computer science, which is rarely found among those typically responsible for managing GIS personnel. That makes it unlikely that interviewers will know the difference between the person who has picked up Python after working in GIS for five years and the software engineer who picked up enough GIS to develop GIS applications. The right choice depends on the circumstances and is rarely obvious. Unfortunately, the general lack of understanding of the topic also makes it difficult to convince hiring managers that the 100k+ software engineer is justified over the 70k Python scripter, even if that's what the particular role requires. The net result is that both roles are treated as interchangeable. This drags down the salaries of software engineering talent, potentially causing them to look for better-paying opportunities outside of GIS, thinning the GIS talent pool.
领英推荐
If we're going to address this issue, we're likely going to have to differentiate between these roles. Unfortunately, that means adding more titles to the mix. That certainly presents its own challenges. However, it's important for HR and hiring managers to understand what the market is for a given role, both within and outside GIS.
Few Outside of GIS Know How Complex the Industry has Become
When I got my first introduction to GIS some twenty or so years ago, there was a lot less to learn. If you knew points, lines, and polygons, how to make a map, and how to run basic geoprocessing tools, you had all you needed to be successful in the field. Most deliverables were either in the form of a map or shapefile. We're talking printed maps here. Digital (PDF) maps came a bit later. That's not the case anymore.
Ten years ago, I was building voice-enabled field data collection applications using ArcGIS Engine for dashboard-mounted computers, along with corresponding custom web applications to display the video track and corresponding features on a web map. It took quite a bit of custom development to get there. Nowadays, you can get 90% of the way there with ESRI's out-of-the-box field apps and drag-and-drop web apps. While the original development effort was measured in months, a comparable setup can now be put together in days or even hours.
Paper maps and shapefiles don't cut it anymore. Even the shiny, fancy custom web maps of a decade ago are considered old hat. You have to be able to move nimbly and respond quickly to change. Four months to stand up a web application is too long. You need to be able to do it in no more than a few days.
To deliver paper maps and shapefiles, you rarely needed more than GIS technicians and GIS analysts. That's not going to cut it these days. You're going to need to get comfortable with titles such as GIS Developer, GIS Software Engineer, GIS Systems Engineer, GIS Database Administrator, GIS Data Scientist, etc. Depending on your specific requirements, one or more of these roles may be critical to your success. It's important to not only be able to identify which ones you need but also know how to properly evaluate talent for those roles. With artificial intelligence and machine learning already making their way into the industry, evaluating the need for talent will not get any easier.
Artificial?Intelligence,?Machine?Learning,?and?Other?Advanced?Computing?Are Making?Their?Way?Into?GIS,?but?the?Field?Is?Not?Prepared
Just when the GIS industry started to recognize the need for software developers, they decided to throw a new challenge at us. Artificial Intelligence (AI) and Machine Learning (ML) are quickly becoming some of the hottest topics in GIS. Why wouldn't they be? When your job often requires digitizing thousands of features such as buildings and roadways from aerial and satellite imagery, software that promises to do that?automatically?will surely be of interest. However, for the GIS industry to take advantage of this newfangled technology, we will need an influx of talent. So how exactly are we going to manage?that?when we?still?haven't figured out the GIS Developer issues?
A?Light?at?the?End?of?the?Tunnel?
One interesting trend that I've noticed over the past few years is that there is a?lot?more interest in GIS among high-tech firms. This includes everything from autonomous vehicle companies to social media and everything in between. At such high-tech firms, it's far more likely that management and other staff have a solid understanding of the capabilities of GIS personnel and a better understanding of their value, even relative to one another. That tends to lead to better pay. Better pay in one supported industry creates a talent vacuum in others, helping drive up pay across the board. Naturally, better pay drives interest, which in turn brings more talent, helping to drive the industry forward.
Closing Thoughts
One of the key takeaways from the post is that the knowledge and skills necessary to get a job in GIS are vastly different from what's required to work as a software professional. We touched on a few key issues, though there are undoubtedly many more topics that we could cover in search of ways to address the apparent skills gap in GIS. While university GIS programs are beginning to catch up, many "GIS Programming" or "GIS Developer" programs focus on "lightweight" programming - basic scripting skills using Python and some basic web development. Penn State's?Spatial Data Science?and?Geospatial Programming and Web Map Development?programs are great examples of how universities are beginning to address these issues. However, significant obstacles must be addressed before we can truly consider these issues to be resolved. There's certainly a lot more work to be done to close the skills gap in GIS.
What are your thoughts? If you have any insights into how we can improve the market for software engineers, data scientists, AI/ML professionals, and other advanced computing professions within the GIS industry, I'd be interested in your input.
Microsoft Azure certified | Data Engineer | Cloud | GCP | Financial Analyst | GIS
1 年I mainly studied computer science and got exposed to GIS because of a previous job. Got so interested, eventually did a course on GIS. Trying to use my skills for a GIS job but most of them expect people from geography or civil eng backgrounds. Do you think a Master's degree in GIS would help me?
Student at University of Maine at Augusta
1 年Great stuff, thank you for the info
Data Analyst & Data Literacy Professional| Google Certified Business Intelligence Analyst | ETL| Excel| Power BI| SQL | Python
2 年This is one amazing read. I completed my GIS degree and now taking a Software Engineering course, after that I'll look into Machine learning
GIS Manager at Duquesne Light
3 年I came from a Geography background with only an intro to GIS class in college and a 1 year internship using command line ArcInfo. I have since pivoted out of GIS completely after 15 plus years in the industry