GIS Developer career path - which development environment is best?

333
5
4 weeks ago
Katherine_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,
Katherine
5 Replies
jcarlson
MVP Honored 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
Katherine_Clark
MVP Regular Contributor

Extremely helpful feedback, Josh. Thank you!

 

Best,
Katherine
0 Kudos
hectorsalamanca
New Contributor II

Both Windows and Linux platforms are widely utilised in GIS development, depending on the project and company for which you are working. Many GIS software programmes, notably Esri's ArcGIS suite, are intended to perform best on Windows, thus familiarity with that operating system can be beneficial in many situations. However, certain businesses, particularly those producing open-source GIS software or dealing with enormous datasets, may choose to operate in a Linux environment.

There are various things you may do to advance your career as a GIS developer and boost your marketability:

Learn programming languages: In addition to GIS software knowledge, GIS developers should be familiar with programming languages such as Python, JavaScript, and SQL.

Work on projects: Creating your own GIS projects or contributing to open-source projects will help you gain expertise and create a portfolio of work to present future employers.

Attend GIS conferences and meetups, engage in online forums and communities, and network with other GIS experts to learn about career prospects and industry trends.

Constantly learn: Maintain current knowledge of GIS technologies and programming languages, and consider obtaining extra certifications or degrees to verify your proficiency.

To become a GIS developer, you must have a combination of technical abilities, project experience, and networking. You may improve your chances of success in this career path by continuing to study and expand your abilities, creating a portfolio of work, and networking with other professionals in the sector.

hope this will help

Noah-Sager
Esri Regular Contributor

This is an awesome question @Katherine_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/

 

weithy
by
New Contributor II

In terms of GIS development, it's important to have a strong foundation in both programming and GIS. It's common for GIS developers to have experience working with Esri software on a Windows environment, as Esri is a leading provider of GIS software and their products work best on Windows. However, it's also important to be familiar with other operating systems, such as Linux, as many GIS tools and platforms are cross-platform.In general, the most important thing is to have a strong foundation in programming languages commonly used in GIS development, such as Python, Java, and JavaScript. It's also important to be familiar with GIS tools and platforms such as Esri ArcGIS, QGIS, and OpenLayers. Having experience with cloud platforms, such as Amazon Web Services (AWS) and Microsoft Azure, can also be beneficial as more and more GIS applications are moving to the cloud. Networking and professional development opportunities can also be beneficial for moving forward in a GIS development career path. Attending conferences and events, joining GIS user groups, and participating in online forums can help you stay up to date with the latest trends and technologies in the field.