Skip to content

petedannemann/gis-programming-roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 

Repository files navigation

GIS Programming Roadmap

Image of Coding

Under development

Table of Contents

Intro

This repository lays out a path to take someone with no GIS experience to a proficient GIS Developer. The sections are organized by skill level and meant to be progressed through sequentially. This was highly inspired by Open Source Society University.

Resources mostly come from highly effective and free courses as well as blog posts and tutorials. There is a mixture of proprietary (ESRI) and open-source materials.

Please feel free to contribute and correct any errors that I inevitably will make.

GIS Fundamentals

If you've taken an intro to GIS course or used GIS in the workplace for more than a few months, skip this section. Otherwise, let's review some materials to make sure we have a basic understanding of what GIS is, what common GIS tasks are, and what GIS tools exist out there.

Choose one of desktop softwares below and run through the associated course to get up to speed. This will take about 40 hours and will give you a great foundation in GIS.

ArcMap / ArcPro

ArcMap and ArcPro are proprietary desktop software for performing GIS analysis distributed by ESRI. These are the most widely used in the industry and learning them is the safest bet at dipping your feet into the industry. Getting to Know ArcPro comes with a free one-year ArcPro license and is well worth the money if you are serious about entering the field. If you take an intro to GIS course through a college, chances are you'll run through this book as a majority of your course work.

QGIS

The most commonly used open source desktop software. It is free to download and has a wide array of plugins that let you do just about anything with GIS.

Courses (Choose one) Difficulty GIS Software
Coursera GIS Specialization Easy ArcPro
Getting to Know ArcPro ($40) Easy ArcPro
Official QGIS Tutorial Easy QGIS
Reading (Optional)

Intro to CS

Learn basics of programming. How much you enjoy one of these courses may be a good indicator of your success in programming.

Courses (Choose One) Difficulty Languages
Introduction to Computer Science and Programming using Python Medium Python
CS50: Introduction to Computer Science Hard C, PHP, JavaScript, SQL, CSS, and HTML
CS50P: Introduction to Programming with Python Medium Python

Data Analysis with Python

Learn how to use popular data analysis libraries in Python such as Numpy and Pandas. I'm listing quite a few paid options here because they are of very high quality and are interactive.

Resource (Choose one) Difficulty
Geo Python Medium
Python Data Science Handbook Medium
Python for Data Analysis ($28) Medium
Dataquest ($23 - $50 / month) Medium
Data Camp ($25 - $30 / month) Medium
Brandon Rhoades Pandas Tutorial Medium

GIS Programming with Python

Learn how to write scripts to perform GIS analyses and automate repetetive tasks with Python.

Courses (Choose One) Difficulty GIS Software
GEOG 485: GIS Programming and Software Development Medium ArcGIS / ArcPy
Automating GIS Processes Medium GDAL, OGR, GeoPandas, Shapely, QGIS
Recommended Additional Courses
Readings (Optional)

Databases

Learn how to query data, make tables and views, and perform data analysis with databases.

Courses (Choose one) Difficulty Database Engine
SQL Zoo Medium SQL Server, Oracle, MySQL, DB2, and PostgreSQL
Stanford - Introduction to Databases Hard Unknown
CS145: Data Management and Data Systems Hard Google BigQuery
Additional Tutorial

Spatial SQL

Learn how to store GIS data and manipulate it in a database.

Courses (Choose one) Difficulty Database Engine
GEOG 868 - Spatial Database Management Medium PostgreSQL / PostGIS
Official - Intro to PostGIS Medium PostgreSQL / PostGIS
CS145: Data Management and Data Systems Hard Google BigQuery
Reading (Optional)

Version Control

Learn how to manage projects using version control.

Resource (Choose one) Difficulty Software
Git Documentation Medium Git
Git Offical Resources Medium Git
Git Tutorial by Atlassian Medium Git

ETL

Learn how to extract, transform, and load data.

Courses Difficulty Skill Taught
Dataquest Data Engineer Path ($24.50 - $50 / month) Hard Database Optimizing, ETL, Task Management
FME Workbench Tutorials Medium FME, Spatial ETL
Additional Resources
Reading (optional)

Web Development Fundamentals

Learn the basics of web development. It's very important to do this before trying to jump into web GIS.

Courses (Choose one) Difficulty Languages
CS50: Web Programming with Python and JavaScript Medium Python, HTML, CSS, Javascript, SQL
Colt Steele's Web Developer Bootcamp ($10, search for coupon) Medium Node.js, HTML, CSS, Javascript, NoSQL
The Odin Project Medium Ruby, HTML, CSS, Javascript
Recommended Additional Course

Web GIS

Learn how to add maps to your web applications.

Courses (Do both) Difficulty Languages / Frameworks
GEOG 863 - Web Application Development for Geospatial Professionals Easy HTML, CSS, Javascript, ArcGIS Javascript API
GEOG 585: Open Web Mapping Medium QGIS, GDAL, OGR, GeoServer, TileMill, Leaflet
Recommended Additional Course
Additional Tutorials
Reading (Required)

Front End Libraries

Learn how to make modern web applications using front end libraries.

Courses (Choose one) Difficulty Framework / Library
Tyler Mcginnis: Free Online React BootCamp Medium React
Maximilian Schwarzmüller: Angular 7 (formerly Angular 2) - The Complete Guide ($10, search for coupon) Hard Angular
Maximilian Schwarzmüller: Vue JS 2 - The Complete Guide ($10, search for coupon) Easy Vue

Front end development is such a broad topic that I'm just going to link to the brilliant frontend section of the 2018 Web Developer Roadmap. You will have picked up most of these skills already by now but getting comfortable with package managers, build tools, state management, CSS preprocessors, and front end testing will put you at a great place for front end development.

Backend Web Development

Learn how to serve data to a client with a backend server. Almost all of the backend GIS development job postings I've seen require .Net Core (C#). I've seen a few GIS projects using Flask, Django (Python) and Java, but C# definitely seems to be the dominant force here.

Backend development is such a broad topic that I'm just going to link to the brilliant backend section of the 2018 Web Developer Roadmap.

Additional Tutorials

About

One stop shop for all your GIS Programming needs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published