Software Engineer (GIS)
Job Description
Development and maintenance of geospatial web application.
Job Description
- Maintain and enhance the application which includes upgrading of the libraries, application and servers components, performance profiling and tuning of the server-side codebase, GIS map services and SQL statements.
- Generate unit tests and end-to-end test scripts to ensure nothing breaks upon publishing new features and maintain current automated scripts in Jenkins.
- Generate splunk reports and performance analysis on the usages of the map services.
- Troubleshoot, identify, solve issues and develop test cases to prevent similar issues.
- Monitor the results of automated correctness and performance test to ensure a stable and working application.
- Design and develop the application according to the specifications provided.
- Perform design, programming, integration, system testing, assist users in User Acceptance Test (UAT).
- Perform iterative prototyping to introduce and enhance new features to the core system.
Skillset
a) At least 3 years of good working knowledge in the following areas:
· Web Application Client-side Technologies (JavaScript ES5/6, ReactJS, Redux, jQuery, HTML5/CSS, AJAX/JSON, NPM)
· Web Application Server-side Technologies (Asp.NET Core, Aps.NEt, MVC, C#)
· Web GIS Technologies (ArcGIS JavaScript API v4.5, ArcGIS Server REST API, GeoServer, PostGIS)
. Database technologies (e.g. Postgresql, MS SQL, Oracle); and
. Code version control system (Git).
b) Good communication skills and the ability to:
· Understand and communicate in English, in speech and writing.
· Work with other members in a dynamic and fast-moving team.
· Work independently with minimum supervision.
· Work on own initiative and adhere to deadlines.
Added advantage with the following:
· Development using Microsoft Azure Cloud and/or AWS Cloud.
· Open-source technologies such as NodeJS, Leaflet, GeoServer, PostgresSQL, PostGIS.
· Knowledge of geospatial and mapping concepts such as spatial analysis and map projections with ESRI technologies.
· Experience with geoprocessing using Python scripts and ETL tools such as FME.
· Experience in agile development and DevOps processes.