A Software Developer, who has a keen interest in full stack development with the desire to learn a new language and a major cloud platform.
The Payments team is vital to the continued success of the Business, having responsibility for developing and supporting a growing number of critical systems. You will be working alongside some of the best developers in the industry and will receive exposure to cutting edge technologies, as well as having the opportunity to influence the technical direction of the team.
All systems and services are housed on a Linux operating system and primarily built around open source technologies. You will be developing, enhancing and supporting our Business critical Payments platform, from the delivery of integrations with multiple payment providers, or our balance and transaction management systems, to core operational tooling.
Payments operates as a full stack team who are in the process of undertaking a ground up re-architecture into Golang, React and Cloud platforms. Core skills within the team are Golang, Typescript, SQL, and Kafka. Open to other languages such as Python, C++, Java, C#, Node.
Preferred skills and experience
Commercial experience within web clients or server-side development.
Experience working with front and backend technology.
Knowledge of Kafka, SQL, .Net, Golang or Typescript, though expertise in similar or alternative technologies is welcome.
Ability to clearly communicate technical matters to stakeholders across different areas of the Business.
Experience working in an environment with high volumes of change.
Experience with software development methodologies and best practices.
Understanding of the development of automation and developer tooling such as Continuous Build and CI systems.
Bachelor’s degree in Computer Science or a relevant discipline, or relevant professional experience.
Main Responsibilities
Developing low latency, highly available and scalable solutions.
Creating concurrent distributed components.
Working in an environment with high volumes of transactions.
Supporting and enhancing the existing code base.
Identifying technical areas of improvement.
Contributing to solution proposals as required.
Creating work effort estimates.