Senior Software Engineer
Proven experience delivering software in a professional engineering environment. Confidence developing software in at least one modern language, such as Java, Python, C++, Go, Rust, JavaScript or TypeScript. Practical experience with Linux, Git and automated unit testing. The ability to work through technical trade-offs and explain your choices along the way to a mix of stakeholders.
A collaborative approach and a dedication to continuous learning and team improvement. We want to hear about examples of how you've delivered complex software, exercised technical judgement and taken responsibility for the quality of your work. Cloud platforms, particularly AWS. Automated GitLab delivery pipelines and infrastructure as code. Microservices, serverless architectures and cloud migration.
Relational and NoSQL databases, data integration and search technologies. Web and application frameworks such as React, Express and Next.js Tools including Gitlab, NiFi, Elasticsearch, Kibana, Jira and Confluence AI coding assistants, agentic coding and ML tooling Experience in some of these areas is advantageous, but this is not a checklist, and we don't expect one person to know them all.