In a recently published book called Skill Up: A Software Developer Guide to Life and Career, author Jordan Hudgens distinguishes five types of software developers. This makes it easier for developers to narrow their focus on what type of developer they want to be in coming years.

Now let´s continue this line of thought with regards to geospatial developers, meaning developers with a geospatial background. What do these developer types mean to them, and what languages and frameworks are at their disposal?

The server-side developer.

As explained by Hudgens in his book, server-side specialists spend most of their time working on building and implementing algorithms that enable programs to work properly. Programming languages that are required for this layer of the development stack are Ruby, Python, Java, or C++. I would add .NET to this list with regards to GIS, as Esri-based GIS applications run on Windows-only. There are great opportunities for GIS developers in the area of server-side development, but be aware of the complexity of a language such as Java compared to Ruby and Python. The latter two are much easier to learn (assuming these are your first steps into programming). Knowledge of various spatial databases is also recommended here. The front-end developer.

Web GIS has really taken off over the last few years, and there are now many mapping APIs on the market to build your own applications with. Think of MapBox, Carto, QGIS and, more recently, Esri’s mapping APIs and SDKs. In short, frontend development is definitely a great area for GIS developers to be active in.The days are over when frontend development was all about HTML and CSS for making a website look pretty. Modern frontend development is about mastering client-side frameworks, such as Angular and React: these are JavaScript frameworks that are completely rendered in the browser. Now that people spend more time online than ever before, you can imagine that the end is not yet in sight for frontend developers. The mobile developer.

Mobile GIS may not be as big as desktop GIS (at least not in terms of GIS analysis), but it is certainly an area where interesting things are happening, especially when you look at mobile map apps. Nowadays, the mobile development field is easier to enter than it used to be, thanks to JavaScript frameworks that enable developers to build applications that behave like native smartphone applications.While it seems that mobile app-creation already reached its peak a few years ago, there´s still a big market potential for good mobile apps that use maps. Cartographic knowledge combined with the right coding skills can be very handy here. The full-stack developer.

Full-stack development requires all of the above: server-side development, front-end, and mobile technology. For GIS developers, this means you have to know all three, which is not always possible.With regards to GIS developers, there are opportunities in all three areas but if you look at GIS developer jobs, you will probably see more jobs targeted at frontend and/or backend developers than full-stack developers with GIS skills and knowledge. Becoming a full-stack GIS developer is probably something of a long-term career option. If you´re just starting out as a developer, choose any of the other options and fill in the gaps later. The data scientist.

If you like working with (spatial) data, perform data analysis either directly inside of a GIS or through Python or R (or even big data analysis through cloud ecosystems), this is a great field to be in. You can also automate workflows or create Python or R scripts and maybe use Jupyter notebooks to share your work with others. You don´t have to build web-based applications as a geospatial developer, as the data science requires a whole different set of skills in order to be successful.

Source: “Skill Up: A Software Developer’s Guide to Life and Career” by Jordan Hudgens (Packt Publishing, July 2017).