Job Openings Software Engineer

About the job Software Engineer

Key Responsibilities:

  • Build and enhance digital products and services for citizen- and officer-facing applications.
  • Design, develop, test, and maintain APIs and backend services.
  • Develop modern, responsive, and maintainable frontend applications.
  • Design and implement secure data ingestion and ETL pipelines.
  • Develop and maintain integrations across government agencies, platforms, and external partners.
  • Modernise and enhance existing Java-based and platform applications.
  • Contribute to cloud infrastructure, application deployment, and delivery pipelines.
  • Develop and maintain automated tests to improve software quality, reliability, and release confidence.
  • Establish and apply observability and operational practices to support production systems.
  • Implement security and compliance controls across applications, APIs, data, and services.
  • Design and develop scalable, maintainable, and reusable engineering capabilities that can be adopted across multiple teams.
  • Collaborate with product managers, architects, QA, DevOps, security, and other engineering teams throughout the software development lifecycle.
  • Participate in code reviews and contribute to engineering standards, best practices, and continuous improvement.

Relevant Technical Experience:

  • Backend development using Java, Kotlin, Python, Node.js / TypeScript, Go, C#, or similar languages
  • Frontend development using React / Next.js, Vue, Angular, or similar frameworks
  • RESTful and/or GraphQL APIs
  • Microservices and distributed systems
  • SQL and relational databases such as PostgreSQL or MySQL
  • NoSQL databases where appropriate
  • Data processing and ETL pipelines
  • System integration and event-driven architectures
  • Automated testing and maintainable software design
  • Git-based development and code reviews
  • Docker and containerisation
  • Cloud deployment and production operations
  • Secure software development and engineering practices