Menu

Senior Software Engineer

Job details
Posting date: 11 April 2024
Hours: Full time
Closing date: 11 May 2024
Location: London, EC2M 4AA
Company: NatWest Group
Job type: Permanent
Job reference: R-00230420

Apply for this job

Summary

Join us as a Senior Software Engineer at Cushon

At Cushon we like to do things a bit differently. Our mission is to help as many people as possible to get comfortable with their finances. Our vision is to bring tech revolution to the financial services industry. We’re looking for talented people to help us build simple, convenient, and delightful financial experiences tailored to our customers.

  • Join us on an exciting journey as we scale our platform to support millions of customers, rebuilding our platform from the ground up using a modern, distributed, event-driven architecture
  • We’ll look to you to apply widely agreed software engineering principles and methodologies to design, develop, test and maintain Cushon applications and services
  • Every day, you’ll have the chance to solve new problems, create smarter solutions and stretch your capability in an environment that promises non-stop innovation and excellent development opportunities

What you'll do

As a Senior Software Engineer, you’ll be designing and architecting distributed systems using modern event-driven architecture principles, ensuring scalability, reliability, and performance. That means defining design patterns and fundamental software engineering principles to develop robust and maintainable solutions. You’ll be collaborating effectively with product teams to understand requirements, provide technical guidance, and ensure alignment between product vision and technical implementation.

You’ll also be:

  • Utilising your strong SQL skills to design efficient data access layers and understand the inner workings of databases
  • Implementing and optimising event buses, while understanding the limitations and appropriate use cases
  • Advocating for quality design and driving the team towards best practices in software development
  • Mentoring and guiding less experienced engineers, while also being willing to be hands-on with coding when necessary
  • Applying complex problem-solving skills to break down and address challenging technical issues

The skills you'll need

We’re looking for someone with significant experience as a software engineer, preferably in the financial services industry, with a background in building complex business applications. You’ll demonstrate proficiency in multiple programming languages, with a strong emphasis on being language agnostic and polyglot.

You’ll bring proficiency in distributed systems design and architecture, with hands-on experience in building scalable and resilient systems, paired with a strong understanding of design patterns and the ability to guide the team in choosing the right approach. Expertise in SQL and experience with data access layers, ensuring efficient data retrieval and manipulation will also be key.

You’ll have a proven ability to balance between collaboration, leadership, and driving technical initiatives, along with excellent communication skills and the ability to work effectively across cross-functional teams.

On top of this, it would be great if you bring:

  • A strong understanding of software security best practices and experience of implementing secure software solutions
  • An understanding of Information and Dynamic Modelling concepts.
  • Extensive experience with Golang and MySQL, including optimizing performance and scalability.
  • Experience with cloud platforms, preferably AWS, and familiarity with cloud-native architectures and services.
  • Previous experience in rebuilding platforms with modern distributed architectures and scaling to support millions of customers.
  • Bachelor's degree in Computer Science would be desirable or demonstrable commercial experience

Apply for this job