FairMoney
Golang Backend Engineer - Nigeria
Role details
About this role
Read the responsibilities and requirements before you apply.
FairMoney is a pioneering mobile banking institution specializing in extending credit to emerging markets. Established in 2017, the company currently operates primarily within Nigeria, and it has secured nearly €50 million in funding from renowned global investors, including Tiger Global, DST, and Flourish Ventures.
In alignment with its vision, FairMoney is actively constructing the foremost mobile banking platform and point-of-sale (POS) solution tailored for emerging markets. The journey began with the introduction of a digital microcredit application exclusively available on Android and iOS devices. Today, FairMoney has significantly expanded its range of services, encompassing a comprehensive suite of financial products, such as current accounts, savings accounts, debit cards, and state-of-the-art POS solutions designed to meet the needs of both merchants and agents.
FairMoney thrives on its diverse workforce, bringing together talents from over 27 nationalities. This multicultural team drives the company’s mission of reshaping financial services for underserved communities.
Role Overview
As a Senior Software Engineer, you will play a key role in designing and building scalable backend and platform services that power FairMoney's financial products.
You will work on complex distributed systems and financial processes, contribute to architectural and technology decisions, and help build a reliable platform that can support millions of customers across multiple markets.
You will also contribute to engineering best practices, mentor other engineers, and take ownership of medium to large-sized technical projects from design through deployment.
What You Will Work On
- Develop high-quality backend features in collaboration with the Product team to better serve our customers.
- Build and evolve platform services that allow individual markets to implement specific features while maintaining a strong common core product.
- Design and develop scalable solutions for complex financial processes using appropriate architectural patterns.
- Drive architecture and technology decisions that enable a reliable and high-quality customer experience.
- Design, develop, and deploy medium to large-sized projects.
- Build and maintain distributed systems and platform services that are reliable, scalable, and resilient.
- Design and improve relational database schemas, ensuring data integrity, performance, and scalability.
- Contribute to engineering best practices, coding standards, code reviews, testing, and operational excellence.
- Provide technical mentorship and guidance to other members of the engineering team.
- Contribute to continuous improvements across infrastructure supporting millions of customers.
- Analyze and improve the efficiency, scalability, and stability of monitoring, CI/CD, and platform integrations.
- Work closely with other engineering teams and stakeholders to identify technical requirements and deliver effective solutions.
Technical Stack
- Customer-facing product: Android and iOS apps – Kotlin KMP.
- Backend: Golang and Ruby on Rails.
- Background processing & testing: Sidekiq, Temporal (Golang), RSpec.
- ML pipeline: Python / Flask API.
- Cloud: AWS.
- Infrastructure: Kubernetes, SNS, SQS, Lambdas.
- Databases: RDS Aurora MySQL, PostgreSQL, DynamoDB.
- Storage & streaming: S3, Kinesis, Kafka.
- Data warehouse: GCP, GCS, BigQuery, Cloud Composer.
- CI/CD: GitHub Actions.
- Full-stack / Frontend (Good to Have): React Native, Next.js, and modern web development technologies.
Requirements
Must-Have Qualifications
- 5+ years of professional backend software development experience.
- Strong experience designing and building distributed systems.
- Experience building and maintaining platform services or shared backend infrastructure.
- Strong experience with relational database design, including schema design, data modelling, SQL, indexing, and performance optimization.
- Strong experience with Golang and backend development.
- Experience designing scalable, reliable, and maintainable backend systems.
- Strong understanding of software engineering principles, system design, and object-oriented design.
- Good problem-solving skills and the ability to work on complex technical challenges.
- Good verbal and written communication skills.
- Preferred Qualifications
- Experience building and delivering complex software systems used by customers at scale.
- Strong understanding of professional software engineering practices across the full software development lifecycle, including coding standards, code reviews, source control, testing, build processes, and operations.
- Experience with microservices and distributed architectures.
- Experience with cloud providers, preferably AWS, alternatively GCP or Azure.
- Experience with high-volume systems and designing for scalability, availability, and resilience.
- Experience communicating with users, technical teams, and management to gather requirements and translate them into technical designs and specifications.
- Experience in fintech, banking, lending, or other financial services is a plus.
- Experience mentoring engineers and contributing to technical direction is a plus.
- Comfortable working with AI-native development tools.
- Full-stack experience is a plus, particularly with React Native, Next.js, or modern web development technologies.
Benefits
- Competitive pay.
- Paid annual leave.
- A network of talented colleagues.
- Opportunity to work with a diverse, international team.
- Opportunity to build technology that impacts financial services across emerging markets.
Recruitment Process
- Introductory call with members of the hiring team – 30 mins.
- Technical interviews with members of the Engineering team – 45–60 mins.