Please scroll down, To apply
Java Software Engineer
Currencycloud
2021-12-03 09:03:28
London, Greater London, United Kingdom
Job type: fulltime
Job industry: I.T. & Communications
Job description
Currencycloud is somewhere where innovative thinking and the power of technology know no limits. We know that the success of the business depends on the people who keep it moving, which is why we are looking for exceptional talent to join our international payments revolution.
We are an open & collaborative Fintech unicorn that lives and breathes our company values: Be Human, Better Together and Own it.
Remote Working
It's a key topic at the moment, we have addressed this by implementing a "Remote-First" policy. What this ultimately means is you have the choice as to whether you Work Fully Remotely, or visit the lush offices in London, Cardiff or Amsterdam; it's up to you!
About the role:
Our Java Software Engineers are responsible for implementing an industry-leading API that has already processed over $50 billion of cross-border transactions for over 5 million end users, and is available to our clients 24/7. But we're not stopping there, and our engineers are at the forefront of taking us forward to meet the demands of even greater scale.
From our monolithic datacenter beginnings we've moved wholesale to AWS where our system runs as a set of distributed applications. We're currently in the process of migrating those applications over to Kubernetes and Jenkins-X as we further embrace a microservices architecture.
Responsibilities:
As a Java Software Engineer you'll play a key role within your cross functional team; taking responsibility for your services and the technology within them.
You'll get:
- Clear ownership of your domain
- A clean modern codebase
- An independent path to production
- Strong platform and product support
- The ability to make real changes with real business value
We ask that you have experience with:
- 3+ years experience in Java Backend Development
- Skills with functional Java (versions 8+) and Spring (ideally Springboot)
- Agile ways of working such as Scrum or Kanban in cross-functional teams
- Some knowledge of Docker, EKS, AWS (public cloud) or Kafka
Object-oriented programming forms the bulk of our codebase, currently in Java, versions 11+, and ideally Springboot framework. Highly-scalable, highly-available, cloud-native applications on AWS are key to our next phase of growth, are written to 12-factor principles and fit into our microservices architecture.
Cloud-related tools, services, and distributed system observability to support these applications, such as Docker, Kubernetes, ElasticSearch, log management systems, and Datadog APM, to name but a few. API specifications, conforming to the OpenAPI (Swagger) standard, provide a clean boundary both externally between our customers and our product, and internally between our microservices.
SQL, and large SQL databases, provide the persistence layer for our applications. You'll be working with (and know the limitations of using) such large datastores. Infrastructure automation is primarily owned by the infrastructure team, but you will be a consumer of their work, familiarity with AWS, Terraform and Docker is beneficial.
Testing approaches, including TDD, BDD and Contract Testing, all form an important part of our approach to quality assurance; ensuring that the code that we write forms products that are fit for use. We currently use a variety of frameworks including JUnit, RSpec and Cucumber.
Agile development, with teams broadly aligned with the Spotify - Squads & Tribes - model, helps us deliver incremental improvements to our products in an iterative manner. Advocating this model, and joining us on a journey of continuous improvement, is a key attribute of members of our teams.
Continuous Integration and Continuous Delivery pipelines allow us to "automate all the things", providing repeatable builds and consistent deployments. GitHub, and the GitHub PR review process, forms a core part of our developer workflow, and peer reviews help share knowledge and improve quality.
Teamwork, and cross-team collaboration, is fundamental to the delivery of our applications. Whilst each application has an independent path to production, there will always be some activities and initiatives that span multiple teams and require cross-team collaboration. Within your team you'll need to collaborate with a number of stakeholders, including Product Owners and QA, as part of your product development.
- Remote-First
- Pension
- Discretionary Bonus
- Macbook
- Healthcover
- Lifecover
- Mental health days off
- Screen (recruiter)
- 1st Interview
- Tech interviews
- Cultural interview
- Offer
All over video.
Java, Spring, Spring BootJava, Spring, Spring Boot, Microservices, AWS, Kubernetes, Kafka, Docker, Agile, Scrum