Senior Software Engineer
Posted: Dec 4, 2019
Ready to shape tomorrow? This 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’re bringing simplicity, transparency & scale to cross-border payments - a $120 trillion market. We recently [received funding](https://www.currencycloud.com/company/news/item/currencycloud-awarded-10m-grant-from-banking-competition-remedies-to-support-smes/) from the Banking Competition Remedies (BCR) programme to help accelerate our growth and are looking to expand our Cardiff office. About the role Our 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. As a Senior Software Engineer you’ll play a key role within your team; taking responsibility for your services and the technology within them, but also in helping develop your team and its relationship with your product owner and the broader business. Teams are aligned to services and you’ll have: * 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. Our microservices architecture enables us to explore new languages and technologies in parallel with our existing system. The core of our system has been built using Ruby, leveraging backing services like RabbitMQ, Redis, and MySQL/Aurora, but we are keen to bring in engineers with more diverse backgrounds, and help us take Currencycloud to the next level of scale. We’re particularly interested strong Java developers (ideally with some exposure to the Spring framework, especially Spring Boot and its related cloud-native ecosystem), Ruby Developers, Python Developers or people from any modern Object Oriented programming language. Our only must-have is that we want to speak to people who like to collaborate and solve problems. **The Details** Day-to-day you’ll work with a variety of tools, technologies, capabilities and processes. * Highly-scalable, highly-available, cloud-native applications are are key to our next phase of growth, are written to 12-factor principles and fit into our microservices architecture. * Cloud-related tools and services 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. * Object-oriented programming forms the bulk of our codebase, currently in Ruby and more recently in Java. We also have specialist applications written in a functional style using Scala and Elixir. * 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 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 senior 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. None of these on their own are a must-have to apply for the role, but it would be useful to share with us any knowledge or experience that you have in these areas. I’m intrigued…what’s the interview process? Quick chat with our internal tech recruiter - make sure things like salary, location, general approaches to dev are aligned to how we work. Paired programming session over a hangout (or in person if you prefer!) with a Tech Lead or Senior Engineer - we want to have open discussions with you about how you approach coding and what you like from a team that you work with Meet us in our office (all done in one hit) - Swing by our office (currently in Cathedral Road, soon to be a bit more central) and meet some of the team. - We’ll talk about your experience, some coding approaches and you’ll also get a chance to talk with one of our Product Managers about how we all work together - Chat with our engineering manager We’ll make you an offer We’re colleagues! **Anything extra to add?** Along with a no dress code policy & flexible work from home arrangements we also provide all of our employees with a prepaid debit card each month to spend on Wellness. We offer a comprehensive range of employee benefits which include 25 days paid leave, 5% pension, BUPA health insurance, life insurance, long term sickness protection, a day off for your birthday and socials every Friday. So, if you’re ready to join a thriving global business with a tech arm in Cardiff, get in touch for an informal discussion!