Principal Software Engineer
Posted Updated
Description
- As a Principal Software Engineer, you’ll play a key role in delivering complex, scalable systems for ambitious clients. This is a hands-on engineering role where you’ll work across the full stack—backend services, APIs, frontend components, data pipelines, and cloud infrastructure
- You’ll collaborate closely with our internal engineering teams and client stakeholders, influencing technical direction while remaining deeply involved in design and delivery
- Design and build backend services for a highly scalable marketing platform
- Own the design of APIs, applications, and supporting infrastructure
- Document technical designs and requirements clearly for both internal teams and clients
- Deliver solutions end-to-end: build, automate, deploy, operate, and support
- Partner with clients and delivery teams to translate business requirements into robust technical solutions
- Work within an Agile, iterative delivery model
- Collaborate in a hybrid setup with both remote and in-person team members and stakeholders
- You’ll join a high-performing engineering team working on a large-scale machine learning platform for a global telecommunications client
- The team operates with a high degree of autonomy and shared ownership. Engineers work across the full stack, support one another’s growth, and collaborate closely with data scientists and adjacent teams to design cross-system solutions
- Strong engineering culture, real influence, and meaningful problems to solve
Benefits
- Employee assistance programme
- Generous parental leave: Three months’ fully paid primary carer leave and one month fully paid secondary carer leave, subject to a minimum 12 month tenure
- Flexible working: Want to work from home or leave early to pick up the kids? Need to start early some days, later on others? No problem!
- “Your day”: One day per year, in addition to annual leave days that you can take off with no explanation required
- Upskill - Learning and development: We all love continually learning and have a generous budget for you to upskill, join conferences, get certified and qualified
- This role suits someone who enjoys solving hard problems, owning outcomes end-to-end, and operating in a consultative engineering environment
- Background working on large-scale web services
- Experience designing and implementing data-driven APIs
- Solid SQL experience, including schema design and performance-aware queries
- Strong foundation in JVM-based development (Kotlin preferred, Java welcome)
- Deep experience with automated testing (unit, integration; TDD/BDD preferred)
- Experience with React, TypeScript, Redux, and Tailwind (or similar modern frameworks)
- Containerised deployments using Docker, ECS, Kubernetes, or equivalent
- Experience with AWS, GCP, Azure, or similar
- Infrastructure-as-code (Terraform, CloudFormation, etc.)
- Exposure to Scala or functional programming concepts
- Experience with asynchronous and highly concurrent backend frameworks (e.g. Ktor, http4k, Play, RxJava)
- NoSQL experience (DynamoDB, Cassandra, BigTable, Cosmos DB, etc.)
- Strong Git workflow experience and the ability to adapt workflows to project needs
- A genuine appetite for learning and adopting new technologies quickly
