There are many software options for working with geospatial data, and which to choose depends on your purpose, skills and access to (license, institutional setup and money).

General purpose GIS.

For most beginners, I recommend a general-purpose solution, whether as a native app on your computer or as a web app. For historical reasons, general-purpose solutions for working with geospatial data are called Geographic Information Systems (GIS).

Typical applications:

Field Data Collection

Often, you need to collect your own geospatial data, and a typical approach would be to use some app on a mobile device (Phone or tablet). There are options; most of them are paid solutions since they typically involve some server the device connects to. An alternative to a dedicated app is a website that enables spatial data entry.

Common applications

3D Modelling Software

This category of software transcends into the more architectural visualisation domain. This is a rather broad group of software and covers everything from creating 3D models from photos to creating photo realistic 3d scenes.

Interactive Web Maps

We often need to present maps in an interactive form to a larger audience, so being able to publish maps on the internet is an important task. Like apps for data collection, these solutions are often not free since they rely on a server to host them. Some interactive map publishing possibilities double as web page editors and enable the creation of entire web pages with interactive maps and more.

Python and Geospatial Data

The programming language Python is the all-dominating programming language when it comes to processing geospatial data. be it for automating and extending general purposes GIS apps or as a stand-alone environment.

Selecting the right environment for advanced geospatial analysis.

When working with complex software and especially programming environments that use multiple libraries setting up Advanced Environments for Geospatial Processing becomes very important