Backend Software Engineer - Application Development
AI Summary ✨
Requirements
Experience in designing and developing features and improvements, as well as supporting and maintaining, live backend systems
In-depth understanding of data structures, system architecture, API development for microservices frameworks, distributed systems and other backend-related concepts and best practices
Engineering background in Computer Science, Mathematics, Software Engineering, Physics or similar field
Strong coding skills with demonstrated proficiency in programming languages, such as Java, C++, Python, Rust, or similar languages
Strong written and verbal communication skills and ability to iterate quickly with teammates, incorporating feedback and holding a high bar for quality
What We Value
A deep understanding of server-side logic, efficient data handling, and distributed systems
Strong focus on creating user-oriented workflows and solutions, crossing product boundaries to deliver cohesive and solid user workflows that ensure a seamless and intuitive user experience
Experience building high-quality software in a fast-paced CI/CD development environment
Ability to work collaboratively in teams of technical and non-technical individuals and understand how technical decisions impact the people who will use what you're building
Skill and comfort working in a constantly evolving environment with dynamic objectives and iteration with users
Active UK Security clearance, or eligibility and willingness to obtain a UK Security clearance is beneficial but not necessary
Core Responsibilities
Architecting, developing, and maintaining high-performance, scalable backend services that underpin our operational data and AI systems
Maintaining high coding standards through the development of guidelines, active participation in code reviews, and fostering a culture of continuous improvement and knowledge sharing among your team
Building robust APIs for use by front-end developers and interfacing external systems, and collaborating with front-end developers to integrate user-facing elements with server-side logic
Designing efficient data structures and algorithms to manage large-scale and high throughput data
Optimizing applications for speed and scalability through performance analysis
Actively improve user workflows by collaborating with cross-functional teams, ensuring seamless experiences across product boundaries and a cohesive user experience
Technologies We Use
Different backend languages, including Java, Rust, Python and Go
Distributed systems technologies such as Kafka, Cassandra, Elasticsearch and Spark
Docker and Kubernetes for containerization and orchestration
Industry-standard build tooling, including Gradle and GitHub