
Software Engineer (Full Stack)
JOB OVERVIEW
We are looking for a Software Engineer to join our Development Engineering team and contribute to the design and development of sophisticated web-based applications used for data organisation, analysis, visualisation, GIS and workflow management.
You will work in an Agile environment, building modern user interfaces and supporting backend services that help clients make sense of large-scale data. This is an opportunity to work on technically challenging products, influence architecture and user experience, and collaborate with highly skilled engineers.
If you enjoy solving complex technical challenges, building high-quality software and working alongside talented engineers on products with global impact, we'd love to hear from you.
Duties and responsibilities include the following, but are not limited to:
- Design, develop and maintain full-stack software solutions
- Build modern web applications and supporting backend services
- Contribute to software architecture, UX and technical design decisions
- Develop robust, scalable and high-performance systems
- Participate in Agile planning, reviews and continuous improvement
- Collaborate with cross-functional teams to deliver high-quality solutions
TOOLS AND TECHNOLOGIES
- Java
- Spring Boot
- JavaScript
- TypeScript
- Vue.js
- SQL
- Git
- Maven
- gRPC
- HTML
- CSS
- JIRA
QUALIFICATION & EXPERIENCE REQUIRED
Minimum:
- BSc Computer Science, BEng or equivalent qualification
- 2–5 years’ software development experience
- Experience with full-stack web application development
- Experience building scalable, production-grade applications
Advantageous:
- Experience with distributed systems, microservices and service-oriented architectures
- Experience with UX design principles and modern web application frameworks
- Experience with automated testing and CI/CD practices
SKILLS & KNOWLEDGE REQUIRED
- Strong knowledge of Java, JavaScript and/or TypeScript
- Understanding of software design principles, testing and continuous integration
PERSONAL ATTRIBUTES
- Strong analytical and problem-solving skills
- Critical thinking
- Attention to detail
- Excellent communication skills
- Self-motivation and self-direction

