Senior Software Engineer Backend

Job Description

Get to Know the Team

The Lending team is responsible for building safe, secure and versatile loan products for all user segments. We own a range of platform primitive components such as, but not limited to, Loan Management System, Repayments Engine and Product Flow Orchestator to name a few. We take pride in building distributed systems that have a real impact on the lives of millions of users in our endeavour to out-serve the underserved population. Theories like Idempotency, CAP theorem, Distributed Consensus are more than just theoretical terms for us and have real bearings on the systems we build.

Get To Know The Role

We are looking for passionate developers who not only possess the necessary skill sets but also offer more, to become part of our team. In this role, you will have the chance to design, develop, and maintain backend components and services. You will collaborate closely with the product, business, and program management teams to ensure timely delivery of your work. Additionally, you will take on a mentorship role within the team, helping to achieve our collective goals and deliverables. 

Your day-to-day responsibilities will include:

  • Designing, implementing, and managing backend services that impact millions of users.
  • Active participation in technical and product review meetings.
  • Thriving in an environment that fosters knowledge-sharing and encourages thorough code reviews.
  • Ensuring the timely completion of all assigned code and design reviews.
  • Delivering high-quality, bug-free code consistently.
  • Collaborating with the SRE and DevOps teams to setup hardware and micro-services infrastructure.
  • Taking part in the team’s on-call rotation to uphold operational excellence.

Qualifications

The Must-Haves:

  • You can write clean code in any language (C++, C, Java, Scala, Rust, Haskell, OCaml, Erlang, Python, Ruby, PHP, Node.JS, C#, etc.), and are willing to learn Golang
  • Ability to write functionally correct, modular, readable and maintainable code
  • Awareness of basic security concepts
  • Understanding of common data structures and common algorithms
  • A good understanding of the clean architecture principles
  • Ability to write extensible code for complex projects and, picking the right abstractions that adhere to SOLID principles.
  • Familiarity in developing services that serves HTTP Restful API, consume and publish messages from and to any stream platform like Kafka or Messaging platform like SQS
  • Familiarity with any cloud deployment service, e.g AWS
  • An exposure to distributed architecture

The Nice-to-Haves:

  • Experience in developing and maintaining large scale micro-services.
  • Proficient understanding of the HTTP protocol.
  • Experience with backend Development.
  • Experience with mysql database.
  • Knowledge of cloud technologies and experience with developing and deploying services on the cloud.