Learn to write code in any GIS programming language with the FREE courses
What do successful self-taught GIS programmers eat for breakfast?
It’s not necessary to have programming skills to land a job in the GIS industry. But it’s a feather in your cap if you do. And it will certainly help.
If you’re just starting, here are some of the best, free GIS programming resources available to pave your way to coding competency:
Learn to Code Through Practice
If you want to learn how to code, sometimes the best way to learn to code is to stray away from GIS and purely focus on the coding aspect. Because the more you get to practice coding, the more comfortable you’ll feel with it.
One of the most popular ways to learn how to code is by practicing coding directly through your browser. Here are the top interactive coding platforms that enable you to do this.
If you’re interested in other online interactive coding platforms, here are some of the other top options to help build your programming skills:
- DataCamp Review: Learn to Code Through Practice
- Udacity Review
- Dataquest Review: Coding Made Easy
- Codecademy Review
1. Get certified in GIS programming and Python
Python has been a standard language in GIS because Esri and open source tend to gravitate toward it. If you’re new to GIS programming, we suggest learning Python first because it’s highly sought after. By leveraging Python libraries, many consider this GIS scripting language to be the front-runner.
First, learn GIS programming with our top recommended picks. Here are some FREE courses that can boost your GIS programming skills:
- Fundamentals and Best Practices of Python Programming – Learn variables, conditionals and loops to control the flow of your programs. You’ll harness the power of complex data structures like lists, sets, dictionaries, and tuples.
- Write Clean Code in Python – Leverage Python libraries like NumPy, Pandas, and Matplotlib to wrangle your data. The focus in this course is on data analysis and engineering.
- The Coding Dictionary – This course demystifies the daunting lingo and jargon that’s common in developing. You’ll learn about what a programmer does each day and about version control.
Each free course can help you start a new career or get a pay increase or promotion. If you are interested in learning the #1 programming language in the world, here are Python courses and certificate programs to learn this powerful language.
READ MORE: 10 Python Courses and Certificate Programs
2. GIS Programming in Applications – C++, .NET, C#
In addition to Python, GIS programmers use C++, C#, and .NET. C++ lets you work in multiple environments. Specifically, C# and the .NET languages offer you development tools and interaction with Windows-based software.
Here are 3 starter courses to begin your journey into programming in applications. All courses are FREE and self-paced.
- C++ For Programmers – This C++ course focuses on ‘how’ as opposed to ‘what’. Instead of teaching what a function is, it teaches you how to create a function in C++.
- Object Oriented Programming in Java – Build interactive Java programs with objects, inheritance and collections. OOP is about maintaining code as objects and reusing code through instantiation. No matter what programming language you choose, you can apply OOP in conjunction with it.
- Esri Training Courses and MOOC – Esri’s list of courses teaches you scripting language and how to automate GIS tasks in Esri ArcGIS desktop.
Web development is all the buzz these days… And the GIS industry is no exception as it is gravitating more these days to interactive web maps and cloud-based platforms like ArcGIS Online.
4. SQL and UML – Databases Management
GIS systems rely on database entry, editing, and maintenance for managing data. And almost all modern database systems (DBMS) use SQL (Structured Query Language).
Here are some FREE courses to brush up and even upgrade your SQL:
- SQL for Data Analysis – SQL queries help you manage data in a relational database. This course teaches you how to use SQL to store, query, and manipulate data.
- Intro to Relational Databases – Learn the necessary skills to write code using a database as a back-end. Also, it teaches how to use the Python API for connecting Python code to a database.
- Database Systems Concepts & Design – Georgia Tech teaches database design with a major real-world project. For example, databases use queries, inputs, and deletions all fine-tune your data.
If you want to work in GIS, you should be familiar with SQL and be able to perform SELECT, INSERT, MODIFY, and DELETE statements. Join, relate and further SQL knowledge is greatly valued in the field.
When given a database, you should be able to explore the data models within it. UML diagrams outline the design structure of each database. This is where design tools like Microsoft Visio can simplify the structure design process.
Want to learn SQL, the language of databases? These SQL certification courses will help you gain a solid foundation in SQL to work confidently with databases.
5. R Spatial – Statistics and Data Analytics
Statisticians and data miners use R for open statistical software development and analysis. But what you may not have known is that GIS has already adopted this statistical computing, visualization, and analysis through R Spatial.
Sometimes, it’s best to learn some programming languages/packages that are not strictly tied to GIS. For these reasons, we recommend you enroll in these free courses in R:
- Data Analysis with R – Visually analyze and investigate data with more formal statistical methods using R.
- Intro to Statistics – Extract meaning from data by using statistics. In this class, it will introduce you to techniques for visualizing relationships in data and systematic techniques for understanding the relationships using mathematics.
- Data Visualization with R – Learn everything from the ggplot2 data visualization package for R and apply this concept to basic bar charts, histograms, pie charts, scatter plots, line plots, and box plots.
Although R emphasizes statistics, it’s not a bad idea to learn it because GIS relies on areas like geostatistics. But the best advice is to practice, practice, practice! Come up with a project and practice using your new R Spatial skills. If an employer asks for a portfolio, you have some good examples to share.
If you want to take it a step further, here are some R certification courses that statisticians and data miners use to develop their skills in this open statistical software development.
6. Leaflet and OpenLayers – Build Sophisticated Webmaps
- Leaflet for Beginners – Build map based applications using LeafletJS. In addition, learn core concepts of LeafletJS
- OpenLayers 3 Examples – This free resource gives code examples of clusters, animations, GeoJSON, heatmaps, WebGL and more.
But you won’t truly learn how to create dynamic web maps unless you apply it. Test your knowledge with a more complex web map project. For example, make a web map with at least 2 toggleable layers.
7. HTML and CSS Markup
Starting with the basics, HTML is the markup language that gives structure to web pages like headings, tables, and lists.
While CSS stylizes web pages with layouts, it also provides color, fonts, and size. In addition, the Dojo toolkit provides language utilities and UI components.
READ MORE: Full Stack Developer Certification
GitHub and CodeAcademy Coding Community
Finally, you may be wondering why so many people use GitHub. GitHub is like a Facebook for developers. It’s an open community that helps developers see what their peers are working on.
Developers can inspect the entire history of a project by version. They can also study a projects’ code and modify it on their own.
- How to use Git and GitHub – Use version control over the life of a project and optimize collaboration through GitHub. While you’re doing it this may seem pointless. Don’t skip it!
- CodeAcademy – Learn to code for free. CodeAcademy has interactive, hands-on learning for all levels with guidance every step of the way
Apply Your Skills
From here, it’s time to challenge yourself. Put your knowledge into action with a project of your own. Pick any of the GIS programming skills above and it’s time to work with it.
If you want to learn Python, build your own toolbox to manage and process. For instance, import an Excel file into ArcGIS and run an analysis on that shapefile with your Python script. Remember that the big advantage of using Python is: You automate workflow and repeat redundant tasks. If you can save a company time and money with a working example, you’re as good as gold.
Show off your new skills on your portfolio page. Add to your CV that you have a working knowledge of Python programming. It’s time to give your resume a boost and tell employers. At this stage, it wouldn’t be unreasonable to add working knowledge of HTML, CSS, JS upon completion.
READ MORE: 10 GIS Career Tips to Help Find a GIS Job
From Zero to Somewhat of a Coding Hero
Code all day.
Debug all night
Knowledge in GIS programming is a nice showpiece for your CV. Learn multiple GIS programming languages and you’ll be a grand slam.
Agree or disagree with the article? Let us know with a comment below.