Software Engineer
Role details
Job location
Tech stack
Job description
We are looking for a software engineer to join one of our cross-functional product delivery teams. You will primarily work on backend services in Kotlin but will be expected to contribute to the frontend codebase (React.js) at times, with support from our frontend specialists. You will be a product-minded engineer, working together with the product manager and designer in your team to understand customer needs and write software to meet them.
You will work with engineers in your team and across the business to design and build maintainable, secure and reliable systems in an iterative fashion. You will contribute to a culture of DevOps and Continuous Delivery, where 10+ deploys to production per day are done in a safe, tested manner and the team owns the operability, performance and other non-functional requirements of the software it builds.
Main Responsibilities
In the First Four Weeks
- Familiarise yourself with the domain and systems within the scope of your team
- Understand the overall architectural landscape in which your systems live
- Gain a solid understanding of the CI/CD pipelines and deployment processes, and a good working knowledge of the production environment
- Familiarise with and begin monitoring the operational data and metrics from the production environment
- Become productive and start shipping features with the support of your team
- Build relationships with your immediate team and key cross-functional partners
- Make a positive impact to your team, establishing yourself as open, approachable, and eager to contribute
- Understand and embed into the team processes and cycles
- Build an understanding of how the business operates, especially in the domain area of your team
Ongoing Responsibilities
Design and Deliver
- Implement high-quality, test-driven solutions
- Break down your work into small, releasable increments that deliver genuine business value, continuously integrating with the code trunk
- Contribute to architectural discussions and help the team design well-considered solutions
- Identify and raise technical risk, technical debt, and non-functional requirements
- Monitor and support your code in production
Collaborate and Contribute
- Participate actively in code reviews, planning, retrospectives, and knowledge sharing
- Work collaboratively with your teammates, including through pair-programming and mobbing
- Support less experienced engineers in the team
- Contribute to the wider engineering community at Sedex
AI-Assisted Development
- Use AI coding assistants as a core part of your daily development workflow - for writing and refactoring code, generating tests, and exploring implementation approaches
- Critically evaluate AI-generated output before integrating it, ensuring correctness, security, and maintainability
- Stay current with the evolving AI development tooling landscape and actively adopt tools that improve your productivity.
Requirements
- 2-4+ years of commercial experience working in software engineering teams, using agile methodologies and test-driven approaches
- Proficiency in a backend programming language - Kotlin, Java, C#, Go, TypeScript/JavaScript (Node.js), Python etc.
- Solid knowledge of automated testing at various levels and the use of TDD to drive your software design
- A good understanding of modern architectural patterns and designs, including service-oriented architecture, API design, and integration patterns
- Experience with containerisation for packaging and running applications locally and in the cloud (Docker)
- Good knowledge of database design and the ability to write software that interacts with both relational and NoSQL databases
- Good knowledge of CI/CD practices and a DevOps mindset
- An openness to AI-assisted development and a willingness to integrate AI tools into your daily workflow
- A keen focus on creating customer value
- A strong sense of accountability and ownership
- A positive, solutions-focused attitude and resilience in the face of change
- Excellent communication skills
- A desire to work collaboratively with other engineers (pair-programming, mobbing)
Bonus points for:
- Experience with Kotlin on the JVM
- Familiarity with Kubernetes and Helm
- Experience with message-based architectures (e.g. Apache Kafka)
- Experience contributing to web frontends using React.js
- Experience using AI coding assistants in a commercial context
Benefits & conditions
- They deliver high-quality software consistently and take pride in the craft
- They write code that others find easy to read, test, and extend
- They think carefully about how their code behaves in production
- They simplify rather than over-engineer
- They look for opportunities to automate repetitive work
- They seek feedback proactively and act on it quickly
- They show genuine curiosity - they read the codebase, ask good questions, and invest in understanding the why
- They use AI coding assistants with skill and judgment - getting strong results while critically interrogating output and knowing when not to rely on them