Role Overview
Our client is looking for an experienced Software Engineer (GIS) to maintain, enhance and build web-based GIS applications. You will work closely with end users, system analysts, server administrators and database administrators to deliver reliable fixes and new features on time.
Key Responsibilities
- Maintain and enhance IT applications: implement new enhancements, troubleshoot live issues, identify root causes and provide workable solutions.
- Design and develop new IT applications according to specifications provided.
- Perform iterative prototyping to introduce and enhance new features in the core system.
- Carry out design, programming, integration and system testing; assist users in User Acceptance Testing (UAT); and prepare documentation.
- Write unit tests and end-to-end test scripts to ensure nothing breaks when new features are deployed, and maintain existing automated scripts in Jenkins.
- Troubleshoot and resolve issues, and develop automated test cases to prevent similar issues recurring.
- See enhancements and fixes through to deployment in testing and live environments within agreed timelines, working with end users, server administrators, database administrators and system analysts.
Experience and Skills Requirements
- Degree in Computer Science, Information Systems, Information/Infocomm Technology, Computer or Electronics Engineering, or a related discipline.
- Minimum 3 years of working experience in this role, with good experience in the following:
- Web client-side technologies: JavaScript/TypeScript (ES5/6), ReactJS, React Hooks, Redux, jQuery, HTML5/CSS, AJAX/JSON, NPM
- Web server-side technologies: ASP.NET Core, ASP.NET MVC, C#
- Web GIS technologies: ArcGIS JavaScript API, ArcGIS Server REST API, GeoServer, PostGIS
- Database technologies: PostgreSQL, MS SQL, Oracle
- Code version control: Git
Added Advantage
- Development using Microsoft Azure and/or AWS cloud.
- Open-source technologies such as Node.js, Leaflet, GeoServer, PostgreSQL and 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.