Back End Engineer
Job description
Back End Engineer at Thought Machine.
About the role
You will own the design and delivery of scalable, performant microservices that form the core of Thought Machine's banking platform. You will lead the development of Thought Machine's Vault product, ensuring that every line of code meets the highest standards of production readiness. You will work within a fast paced, cloud native environment where continuous deployment and a monorepo style development process are central to how we build. You will collaborate closely with other engineering teams to integrate features in a structured and coherent way across the broader system. You will translate ambiguous customer requirements into clear, trackable tickets and technical specifications. You will manage and debug your deployments from testing environments all the way through to production, maintaining reliability and performance. You will champion best practices in automated testing and infrastructure as code to support long term maintainability.
Key facts
What you'll do
Design and implement scalable, performant microservices using best practices in cloud native technologies.
Write automated unit tests, integration tests, and other quality assurance artefacts as an integral part of the development cycle.
Interface with other engineering teams to ensure that features are added in a structured, coherent, and consistent manner across products.
Manage and debug your deployments from testing environments, staging, and pre production all the way to production.
Translate customer requirements and business needs into trackable tickets with clear acceptance criteria.
Develop code to a high standard, ensuring production readiness, maintainability, and observability in every service you build.
Collaborate with product managers and cross functional teams to scope and define deliverables for client facing projects.
Utilise version control, code review, and continuous integration pipelines to deliver changes safely and efficiently.
Contribute to the evolution of the platform by proposing improvements to architecture, reliability, and developer experience.
Work within a monorepo development model to ensure that changes are modular, testable, and easy to reason about.
Apply debugging techniques to investigate and resolve issues in live services and complex distributed systems.
Support the reliability and performance of the platform through monitoring, logging, and alerting strategies.
Engage with technical documentation to ensure that designs, decisions, and APIs are clear for current and future engineers.
Participate in on call responsibilities and incident response processes to maintain high availability of services.
Requirements
Essential
Experience with either Python or Golang for backend development.
Experience in developing automated tests as an integral part of the development cycle.
Interest in working on client facing projects, conducting scoping, and defining deliverables.
Ability to write clean, maintainable code that adheres to team standards and best practices.
Comfort working in a fast moving, agile environment where priorities can change frequently.
Strong problem solving skills and the ability to debug complex issues in distributed systems.
Willingness to learn and apply cloud native patterns in a modern infrastructure environment.
Commitment to collaborating effectively with cross functional teams and communicating technical information clearly.
Desirable
Knowledge of banking and finance domain concepts and regulatory considerations.
Experience with AWS or other major cloud providers and their core services.
Familiarity with databases, including SQL and noSQL data stores and their trade offs.
Experience with client server software architectures, networking protocols, and microservice architectures.
Experience using orchestration tools such as Kubernetes or Mesos for container management.
Understanding of observability tools, logging, metrics, and tracing systems.
Knowledge of version control workflows, code review practices, and CI/CD pipelines.
Ability to write and consume technical documentation that supports engineering processes.
Practical notes
This is a full time role based in the United Kingdom, London.
The role offers highly competitive salary, pension plan with company match up to 5%, and life insurance coverage of three times annual salary.
Comprehensive leave includes competitive maternity leave of six months fully paid, paternity leave of four weeks fully paid, and shared parental leave aligned with company policy.
You will enjoy 25 days holiday plus bank holidays, flexible working hours, and access to cycle to work and electric car schemes.
Additional benefits include season ticket loan, outstanding learning materials and courses, sports and hobby clubs subsidised by Thought Machine, weekly food pop up, two charity days per year, and a generous employee share package.
Thought Machine actively hires candidates who demonstrate technical excellence and welcomes people of all ages and backgrounds.
Candidates are encouraged to apply even if their experience does not perfectly match the job description.
The company supports applicants with different abilities, including candidates with ADHD, autism, dyslexia, or dyspraxia.