Location: Bristol, United Kingdom
About the role
We are looking for talented, experienced software engineers to join our polyglot team in the UK, building SaaS applications for online retailers. We use Java, Go, PHP, Ruby, JS and SQL in a diverse suite of applications. Our service oriented architecture processes thousands of transactions an hour while maintaining high-availability and reliability.
As a Software Engineer, you will:
Work in a small cross-functional team to deliver new features, improve existing features, prototype new applications, improve our SaaS infrastructure, develop in-house tools or integrate with partner services.
Design, implement and test new components, products and integrations.
Diagnose problems seen in production and advise on solutions.
Work collaboratively with other engineers, system administrators, product managers, customers and partners.
Work in a virtualized environment using docker and kubernetes to create, and manage the provisioning of the services.
Develop expertise in diverse technical and business domains.
Expand your knowledge of programming languages and technical stacks.
2-5 years experience writing well-tested Java.
BSc (or equivalent) in a technical subject (comp.sci./science/engineering)
Integration experience with HTTP APIs (e.g. REST).
Good understanding of relational databases and SQL.
Experience tracking down bugs in a production environment.
Experience developing concurrent and distributed applications.
An attitude of continual improvement, lifelong learning and an interest in new technologies.
Ability to work with a variety of languages and technologies day-to-day.
Ability to assess the relative merits of different languages and technologies according to requirements.
Motivation to create high quality products within the eCommerce domain.
Good communication skills.
Fluent in English.
A good team player capable of delivering excellent results under pressure and to strict deadlines.
Ability to communicate effectively with colleagues and occasionally clients.
Linux command line, basic administration and shell scripting.
Background in high scale systems development.
Experience with queuing technologies (e.g. RabbitMQ).
Understanding of NoSQL stores (e.g. MongoDB, ElasticSearch).
Understanding of performance tuning and optimisation.
ELK / monitoring experience.
Experience with docker and Kubernetes.
Good understanding of web services and REST API design best practices.
A robust understanding of automatic code testing and development in CI and CD contexts.
Experience in refactoring and improving legacy platforms.