Software Engineer - Ruby - Fully Remote Role

  • Full-time
  • Job Family Group: Technology and Operations

Company Description

Visa is a world leader in payments and technology, with over 259 billion payments transactions flowing safely between consumers, merchants, financial institutions, and government entities in more than 200 countries and territories each year. Our mission is to connect the world through the most innovative, convenient, reliable, and secure payments network, enabling individuals, businesses, and economies to thrive while driven by a common purpose – to uplift everyone, everywhere by being the best way to pay and be paid.

Make an impact with a purpose-driven industry leader. Join us today and experience Life at Visa.

Job Description

At Currencycloud, you can work from home, or visit our lush offices in London, Cardiff or Amsterdam. You'll need to be based in either the UK or Netherlands for this role, and have the necessary work permissions.

 

About the role

Our software engineers are responsible for implementing an industry-leading API that has already processed over USD50 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 data centre beginnings, we’ve moved wholesale to AWS where our system runs as a set of distributed applications. We're currently in the process of splitting our last big services into real microservices, and fully embracing deployment at speed with change lead time measured in hours. 

 

As a software engineer, you’ll play a key role within your team. elivering new functionalities to the services your team provides and taking responsibility for your services and the technology within them.  

 

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 legacy system has been built using Ruby, leveraging backing services like RabbitMQ, Redis, and MySQL/Aurora. Our target architecture utilises Java, Spring Framework, and Kafka. We are keen to bring in engineers with more diverse backgrounds and help us take Currencycloud to the next level of scale. 

 

We are interested in Ruby engineers that are willing to learn and transition into Java, or Java engineers that are willing to learn and code in Ruby. As a part of Party Management team, you will be shaping the future architecture of our client data model across the whole organisation, while helping maintain the legacy systems until they can be safely decommissioned.  

 

Day-to-day

Day-to-day you’ll work with a variety of tools, technologies, capabilities and processes. 

● Highly scalable, highly available, cloud-native applications 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. 

● Party Managements team’s Ruby tech stack includes Sinatra applications with RabbitMQ as a queue service, and MySQL as an underlying database engine. Java applications are all using Spring Framework, Kafka as a event service, and MySQL as an underlying database engine. All that running on Kubernetes clusters. 

● 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 shared between Infrastructure / Developer Experience / development teams owned and you will be participating in the backend of the backend work, familiarity with AWS, Kubernetes, Jenkins, and ArgoCD 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 / Cucumber / JUnit. 

● 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. 

This is a remote position. A remote position does not require job duties be performed within proximity of a Visa office location. Remote positions may be required to be present at a Visa office with scheduled notice.

Qualifications

* 5+ years of experience with Ruby
* Experience with Redis, RabbitMQ, MySQL / Aurora
* Agile ways of working such as Scrum or Kanban in cross-functional teams
* Some knowledge of Docker, Kubernetes, and AWS (public cloud)
* (Nice to have) Some Java experience, to help our Java team members understand requirements around migrating logic from Ruby to Java
* (Nice to have) Exposure and working knowledge of Kafka or similar event streaming tooling

Additional Information

Visa is an EEO Employer. Qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, sexual orientation, gender identity, disability or protected veteran status. Visa will also consider for employment qualified applicants with criminal histories in a manner consistent with EEOC guidelines and applicable local law.

Privacy Policy