GIS Developer career path - which development environment is best?

1549
3
03-08-2023 09:01 AM
Katie_Clark
MVP Regular Contributor

Hello,

I am hoping to move my career development in the direction of GIS Developer (currently GIS Analyst). Unfortunately, I don't personally know any GIS Developers that I could ask this question...

I am wondering what environment I should be focused on developing in? Is it standard in GIS development to be comfortable developing in a Windows environment, since Esri software works best on that operating system? Or is it more standard/expected to be comfortable working in a Linux environment?

Any advice in general on moving forward in this career path is appreciated as well. Thank you in advance for your time!

Best,
Katie


“The goal is not simply to ‘work hard, play hard.’ The goal is to make our work and our play indistinguishable.”
- Simon Sinek
3 Replies
jcarlson
MVP Esteemed Contributor

I've been doing GIS dev work for a few years, but I "officially" became a GIS Developer last fall. I think a lot depends on the position and the organizational needs, but do note that the components of Portal can be installed on Linux machines. My org uses Windows, so I can't really speak to the difference between the two for Portal specifically.

All that said, I would personally try to dabble in both. I prefer to do a lot of my work in Linux, and being comfortable in that environment is very useful. We also don't exclusively use Esri tools, and certain other things we use are developed in a Linux-first sort of way, so it's good to be able to use those tools in an environment they were designed for.

Most Windows machines should let you run Windows Subsystem for Linux (https://learn.microsoft.com/en-us/windows/wsl/install), so even if you're stuck using a Windows machine for your work, you can still use that. There's also Docker, if you want to run a small throwaway Linux container on your machine to mess around. Some Esri products, like Notebook Server, are running Docker containers, so being familiar with them can be good to learn in general.

At the end of the day, though, most of my dev work is OS-agnostic. I am working with Python, or I'm using something like Experience Builder Developer Edition, or I'm doing something with our web GIS. All of these things run more or less identically on either system, the only difference being how they are installed and how their files are stored, or how I configure the process to be automated.

As far as general advice: just keep learning! Look at all the various GIS products out there, not just Esri, and see how they're being developed, what coding languages are useful to work with them, and think about your organization's present and future goals. See if your org can foot the bill for something like an annual Codecademy subscription. Trawl GitHub / GitLab / etc., for some interesting GIS projects and fork anything that catches your eye.

Get your hands on as many different concepts as possible and just fiddle around! When you find things that are particularly applicable to your work, dig in a little deeper.

- Josh Carlson
Kendall County GIS
Katie_Clark
MVP Regular Contributor

Extremely helpful feedback, Josh. Thank you!

 

Best,
Katie


“The goal is not simply to ‘work hard, play hard.’ The goal is to make our work and our play indistinguishable.”
- Simon Sinek
0 Kudos
Noah-Sager
Esri Regular Contributor

This is an awesome question @Katie_Clark, thank you for posting it here.

I'll offer my 2 cents. GIS development depends heavily on the product and/or project of interest. For example, making desktop apps or add-ins should probably focus on a Windows environment, and the .NET languages. If you're making web apps, I'd say the OS is immaterial, and to focus on the JavaScript language. For a runtime app (e.g. iOS), you'd want the suitable OS (e.g. macOS) and the appropriate language (e.g. Swift).

Here's a screenshot of the ArcGIS Developer products:

https://developers.arcgis.com/documentation/

Screen Shot 2023-03-13 at 1.41.57 PM.png

 

I think the easiest way to make the transition towards GIS Developer would be to pick a product of interest (perhaps one that you're already familiar with), and then go through the Guide topics and tutorials and samples to get your bearings. Once you've gotten one product down, it becomes easier to pick up another.

Personally, I'd recommend getting started with the ArcGIS Maps SDK for JavaScript, as it requires probably the least setup, and has many excellent tutorials to introduce you to fundamental concepts and functionality.

https://developers.arcgis.com/javascript/latest/display-a-map/