I have been lucky enough to organize a GIS Day ’09 career event at the university of Washington, joined by Harvey Arnone of city of Seattle, Marty Balikov of ESRI Olympia and Dane Springmeyer, freelance geospatial developer. The discussion was titled “What are the essential skills to succeed as a GIS Analyst”, and I have compiled some notes to help with all aspiring GIS Professionals out there. Feel free to add more details in the comments section as you see fit.
The discussion ranged from skills to succeed in an organization using GIS to support business decisions (City of Seattle), ESRI, the leading GIS software producers and freelance development using GIS technologies. There is significant overlap for the required and desirable skills, but also some slight differences. I will list the skills in no significant order and provide a brief explanation. If a skill is something I personally added, it will start with an asterisk.
- Spatial Data and Algorithms understanding: Understand the special case of spatial data, how they work and their internals. Also, be familiar with how certain operations are carried out and when they are applicable. Many operations will run in the software, but not necessarily produce valid results. (Contributed by reader Duane Marble)
- Data entry: Be able to enter data into a database successfully with minimal errors. This includes editing said data as needs arise.
- Data conversion: The ability to convert data from either older sources (digitization) or from multiple sources to either a common format or common schema. It is extremely useful to be able to work with data coming from GPS and performing data corrections as needed. (With contribution by Jimmy Xu)
- Data maintenance: Be able to maintain data, correctly archive and ensure quality control.
- *Metadata creation and editing: Maintain logs of data processing and relevant information to include in metadata and ensure accurate creation and maintenance of said metadata.
- GIS Analysis: Be able to perform GIS Analysis as it is often used to solve common problems. An ability to extend and alter the standard analysis to meet requirements is a plus. Remember, data analysis can be performed on vector or raster data, therefore some remote sensing skills are required. (With contribution by Jimmy Xu)
- GIS Workflow: Understand the workflow to perform some procedure and be able to follow it and enhance it as needed.
- Model Building: Be able to create models of processes to allow for a workflow to be built. Also, model building in the ArcGIS sense is very helpful in this regard.
- Cartography and Graphic Design: Familiarize yourself with cartographic principles and graphic design principles. Maps are used in a variety of ways and presented in a multitude of media. You need to be able to work with that. Think of color, symbology, fonts, etc. Bad cartographic design will often make your analysis hard to decipher and interpret. (With contribution by DavidM)
- Basic understanding of programming: Be able to understand what programming is and what it can do to solve certain problems. Know the strengths and limitations of programming custom solutions to problems, as well as time requirements. (More about programming)
- Programming language: Familiarize yourself with a programming or scripting language, as it is often used to build workflows or custom solutions to problems. For scripting language, both ESRI and the open source community tend to gravitate toward Python. For programming languages, C++ will give you an opportunity to work in multiple environments, while C# and the .Net languages offer you good development tools and interaction with Windows based software. (More about programming languages)
- Object Oriented programming: Learn the concepts of object oriented programming and be able to apply them in conjunction with your programming language of choice. Most GIS development is leaning toward this paradigm, and you should too. (More about object oriented programming)
- Basic GIS architecture (desktop and web): Understand the architecture of GIS and the method of communication between the different parts of GIS. Be able to distinguish when one can introduce internet-based communication in the mix and how it would work. (More about GIS architecture)
- Able to understand data models and structure: When given a database, you should be able to explore the data models within it and understand the structure of the database. Often times, structure will be represented in diagrams (UML), discussed below. (More about data models and structure)
- Ability to design data models: Given specific requirements for data, you should be able to design data models to fit your data.
- Database Design tools knowledge: You should familiarize yourself with database design tools, like Microsoft Visio. Most design work for data models uses it. (Check out Visio here)
- Structured Query Language (SQL) knowledge: Almost all modern Database Management Systems (DBMS) understand SQL for data queries, inputs, deletions, etc. One should be familiar with SQL and be able to perform SELECT, INSERT, MODIFY and DELETE statements. JOINS, RELATES and further SQL knowledge is greatly valued and useful on the field. (Contributed by Andy Anderson)
Project Management and Design
- Ability to translate user needs to solutions: More often than not, you will be supporting some client (or boss) that is not familiar with the details of GIS. You need to be able to translate their needs into solutions that can work in your domain. If it is not possible, you also need to be able to say so and offer alternatives. This is similar to requirements analysis used in software development.
- Good communication skills: You need to be able to communicate effectively and with confidence with your team and clients. There is no substitution for this skill.
- Good writing skills: Communicating is not restricted to verbal communication. You need to be able to clearly communicate in writing not only for communicating with your clients, but also to be able to produce metadata and reports of your work.
- Project management skills: Often overlooked in the GIS world, formal data management training is desired and required to run successful projects on time and within budget.
- Ability to apply expertise in multiple domains: GIS skills, while important, are not useful if they can not be applied to different domains. Your knowledge of other domains (like biology, forestry, etc) will allow you to think of creative ways to apply your GIS skills in a multi-disciplinary functions, which is greatly needed. Think outside the box (Yawer S. Ansari commented to reiterate this)
- Portability of skills on multi-platforms and online/offline world: Your skills need to be applicable to different platforms. Not only should you learn how to do GIS Analysis, but you should be able with limited help to achieve similar results using other platforms (be it moving from an ESRI training to Idrisi, or from a Windows machine to a Linux machine, or a desktop application to a server based one). An ability to traverse between online and offline worlds is a valuable asset to have.
- Detail oriented: This needs no explanation, but in the GIS world, detail oriented can get you very far. The quality of your work will show (especially when you think of metadata or workflows).
- Customer Support skills: In most cases, GIS is used as a support tool within large organizations. As such, GIS Analysts oftentimes need to interact with clients, either internal or external. Having good customer support skills ensures you establish strong relations and opportunities.
- Don’t be afraid to explore
Now that you’ve read all the skills mentioned at the panel discussion, please provide your own or your feedback below.
UPDATE: Fixed spelling. Thank you skobola for the corrections.
UPDATE: Incorporated user comments into the body of the text by Yawer S. Ansari, Duane Marble, Andy Anderson, DavidM and Jimmy Xu.