Software Engineer - Backend at Cowrywise
Cowrywise
We need a backend engineer who can own features end-to-end, from database schema to production. You'll work on our core financial platform: portfolios, transactions, third-party integrations, and the systems that keep everything running reliably.
This role is highly collaborative. You'll work closely with product and design to figure out what we're building, then take ownership of how it gets built and shipped.
Your code handles real money, so correctness matters. We also ship frequently, so speed matters too. The best candidates know how to balance both.
What you'll do
Features
Build backend features for savings products, portfolios, stock investments
Own the whole thing: database design, business logic, APIs, tests, deployment, monitoring
Write code that someone else can read and maintain a year from now
Work with frontend/mobile to define API contracts
Systems
Build integrations with payment gateways (Paystack, Monnify, etc), fund managers, and KYC providers
Design systems that handle money correctly. Idempotency, consistency, audit trails. Non-negotiable.
Debug production issues and be on call for systems you build
Performance
Optimize database queries, design schemas, and make things fast
PostgreSQL and Redis for the data layer
Celery for background jobs
Code quality
Review code and get your code reviewed
Write tests that actually catch bugs
Help onboard new engineers
What we're looking for
Required
5+ years building production backend systems
Our primary language is Python (Django/FastAPI), but proficiency in Golang and JavaScript (and TypeScript) is also important
PostgreSQL, MYSQL: schema design, query optimization, transactions
Event-driven architectures, message queues (SQS, RabbitMQ, Kafka)
REST APIs: clean contracts, versioning, error handling
AWS basics (EC2, RDS, S3, SQS, Lambda)
Background job processing (Celery or similar)
Can debug through logs, metrics, and code
Git, CI/CD, modern workflows
Can explain technical concepts to non-technical people
Nice to have
Fintech, payments, or financial services experience
Docker Swarm, Kubernetes, ECS
Monitoring tools (New Relic, Sentry, CloudWatch)
Typescript and Golang Experience
The people who succeed on this team
Take ownership without being asked
Know when to optimize and when to ship
Write code for humans
Adapt when requirements change
Give and receive feedback well
Care about users, not just code
Make the people around them better