Senior Software Engineer, Core Backend

abril 2021

Madrid. Open to international candidates (100% remote).

Salary range €50k-€65k.

About Ninety Nine

Ninety Nine is a fintech scale up with a mission of improving peoples’ relationship with money. We do this by offering an easy to use, affordable and ethical investing platform and putting our clients’ interest as the cornerstone of our decision-making process.

We are currently in the process of taking our investment platform to the next level, building new cool features and expanding our product to new countries to reach hundreds of thousands of users.

We write a lot about what we love about investing, so check out our blog if you want some more information about us.

About the role

We are looking for a Medior or Senior Backend Engineer to participate in the development, ownership and delivery of the systems that contain the secret sauce of Ninety Nine: a bunch of highly available microservices with the business logic and connections to mobile apps and partners to offer a kick-ass international stock trading app.

What you will be doing

  • First and foremost design and implement the required backend services keeping in mind scalability of systems and security of our users’ data.
  • Adopting our engineering best practices (peer review, testing, retrospectives, test coverage, etc.) and extending them into whatever can help us increase efficiency and quality.
  • Adjust and maintain with the rest of the team the DevOps processes and tools for software development, to maximize engineering productivity and allow strong levels of testing automation.
  • Design and implement together with the other engineers all the channels and processes for the correct monitoring and alerting to know that things are always running smoothly.
  • Actively participate in the conversation with teams from all around the company to make sure our systems work as they should, including the different services that participate in each user interaction with the apps, the FIX protocol when we talk to the markets to send/receive orders, the interaction with the Forex partner for money exchange or the daily reconciliations that happen between the different parts of the system to ensure all numbers related to user’s money and stock match, and if not, why.
  • We have a lightweight on call rotation so that at least one person of the team keeps an eye on the automated alerts until markets close at 10pm, only on weekdays (markets are closed on weekends). We have worked hard to have stable systems and action is very rarely needed.

Positions requirements

  • 4+ years of relevant experience as a software engineer, ideally with experience in some complex/interesting projects you designed and implemented (for example 24/7 systems with different types of databases, queues, events, microservices and monolith, etc). Extra kudos for systems with high availability, distributed or with high volumes of data.
  • You have excellent programming skills in at least one mainstream language and great engineering foundations and best practices. Extra kudos if you have experience with a JVM language.
  • You feel very comfortable working with one of AWS or GCP, have worked with a variety of managed services (RDS, ECS, S3, etc) and understand and believe in the power of IaC. We have all our infrastructure in CloudFormation and Terraform. All our Backend Engineers are used to creating/modifying pieces of our infra this way (with help from the Infra team if complexities arise). You are a big believer in containers and serverless, and consider Docker one of the best inventions of Humankind.
  • You put into action solid best practices, and enjoy helping the rest of the team acquire and follow them, but at the same time you follow a pragmatic approach. You understand technology always serves the purpose of having a real product used by real users, and keep this as the main decision driver.
  • You hate having to do the same thing twice, and always push for automation whenever possible. You have experience with tools to create and configure jobs or pipelines like Ansible or Jenkins.
  • You have a curious mind and are independent in terms of problem solving. You feel comfortable when having to develop features not fully defined, that require some research or brainstorming. Since we are building a product that requires innovation in a few different areas, this is pretty much our daily life.
  • You have good communication skills and enjoy talking with other teams (Design, Mobile, Product, Marketing, Finances) to achieve the required coordination to create a great product. You feel comfortable explaining what you did last weekend in English.
  • This is an individual contributor and not a management position, your duties will not include managing people or organizing projects.
  • If you have prior experience in a fintech or financial institution is a plus, as you will already be familiar with concepts and practices we use in our day to day. But this is not required, most of us learnt on the way

About the Ninety Nine Tech Team

We aim to create a great engineering culture based on respect, collaboration, diversity, personal growth and engineering best practices. We <3 continuous integration, monitoring and automated testing, and all our infrastructure is either serverless or runs on containers.

We strive to create secure, scalable and performant services and mobile apps to allow the company to iterate fast on snappy product features and at the same time keep the data of our users and partners secured.

Our stack is mainly Kotlin, MongoDB and Swift, but we are looking for people with good software engineering foundations rather than experts in a single technology.

And we really are Agile, not a superficial implementation, but a deep, company-wide iterative mindset.

You can find more info about what we do (and how) in our Product and Tech blog.

About the Backend team

The Backend team (currently 5 people) is in charge of implementing the APIs powering our Android and iOS apps, and connecting the services that expose them to our various financing and stock trading partners (custodian banks, brokers, identity verifiers, etc) in a way that is secure and scalable.

We currently have an architecture based on Kotlin/Spring microservices on top of MongoDB running on AWS/ECS, plus some managed services of different kinds providing everything else we need to run (RDS, Lambdas, SNS, SQS, ElastiCache, etc) and integrate with our partners (trading brokers, stock entities and others that allow us to do business!). We have kept escalation and simplicity in mind since day 1 – we aim to be able to handle hundreds of thousands of users and millions of daily transactions across different regions with highly available systems maintained by just a few engineers. As a stock trader accepting payments and sending transactions to the markets, the stability, integrity, performance and security of our systems is critical both to our users and the company.

We are currently expanding the team and creating subteams focusing on specific areas of backend:

  • Product backend to focus on changes to the APIs and services powering the mobile apps, working side by side with product managers, designers and mobile engineers.
  • Core backend to build internal services, processes, integrations and tooling relative to the financial and stocks operations.
  • Platform backend to iteratively work on our architecture and cloud components to slowly but surely improve them and be able to cope with more users (and engineers).

Working at Ninety Nine

We believe that building a diverse and inclusive team is critical to Ninety Nine success. We do not discriminate on the basis of race, religion, national origin, gender identity or expression, sexual orientation, age, or marital, veteran, or disability status.

We offer:

  • Flexible working: whether it’s working from home or leaving early to pick up the kids from school.
  • Learning and Development: our team is hungry to continuously learn and you’ll receive a budget to spend on books and conferences to keep growing as a person.
  • Unplugged weekends: we work hard without letting work get in the way of life. We’ve implemented no Slacks or emails on weekends, so you can  switch off.
  • Impact: your actions will have an impact in the life of millions of customers that rely their life savings (and dreams) on us.
  • Birthday disconnection: important days exist to spend valuable time with family and friends, not drained by infinite emails and never ending to-do lists.
  • Private health insurance: nothing is more important for us than our employees health and wellbeing. Period.

How to apply

Please send us an email including your LinkedIn profile or CV and we will be in touch: careers@ninetynine.com

 

Good Luck! We hope to be learning and working with you soon!

Estamos usando cookies

En esta web usamos cookies. Al continuar navegando por el sitio, aceptas el uso de nuestras cookies. Saber más.

Saber más.