Skip to main content
Back to jobs

Staff Software Engineer

External
talentsafari logoTalentsafari · Africa
Full-timeRemote2mo ago
API DesignAPI GatewayCachingCI/CDCRMDocumentation
Cover LetterConnect

Prepare for this interview

Elite

AI-generated questions, company research, and talking points tailored to this role


About the role

We are hiring a Staff Software Engineer to take ownership of the platform's most critical technical domains: the payments pipeline (collections, revenue splitting, treasury operations), the billing engine (subscription lifecycle, cycle management, automated renewals), and the integration layer (BSS/OSS sync with partner systems). You will work directly with the CTO and a small team of engineers to ship production systems that handle real financial transactions for real ISP partners. This is the most senior individual contributor role on the engineering team. You are expected to make architectural decisions, write production code, review others' work, and unblock the team when they hit technical walls. You will not manage people. You will build systems.

Responsibilities

  • Billing engine: Subscription and BillingCycle lifecycle, automated renewal cron, grace period enforcement, plan change mid-cycle logic, and the event-driven communication triggers that notify subscribers at every billing moment.
  • Integration layer: Splynx adapter (plan sync outbound, subscriber sync inbound, activation webhooks), custom webhook delivery engine, and the event routing that connects domain events to external system notifications.
  • Architecture decisions: Service boundaries, event contracts (Kafka), data model evolution (Prisma/PostgreSQL), API design for both public and private endpoints, and the migration strategy from the legacy Next.js monolith to the NestJS microservices platform.
  • Technical environment
  • Backend (where you will spend most of your time)
  • NestJS monorepo with 7 microservices (CRM, Billing, Payments, Ledger, Communications, Provisioning, Integrations)
  • TypeScript end-to-end
  • PostgreSQL with Prisma ORM (shared database, service-scoped access)
  • Kafka message bus (migrating from RabbitMQ) for inter-service communication (send/emit patterns)
  • Redis for caching, queues, rate limiting, and idempotency
  • REST API gateway with Swagger documentation
  • Payments and financial systems
  • SasaPay (OAuth 2.0, C2B collections, B2B transfers, IPN webhooks)
  • ChoiceBank BaaS API (KYC, internal transfers, OTP-based withdrawal confirmation)
  • Revenue split engine with per-partner/per-BNG/per-plan configuration
  • Double-entry ledger (AccountTransfer, AccountLedgerEntry, AccountRevenueSplit)
  • M-Pesa STK push integration via SasaPay as collections gateway
  • Infrastructure and tooling
  • GitHub Actions CI/CD, SSH deployment to VMs
  • Sentry for error monitoring, Loki + Pino for structured logging (being implemented)
  • Circuit breaker patterns, provider failover, webhook signature verification
  • FreeRADIUS integration for network subscriber provisioning (PPPoE credentials, plan attributes)
  • Legacy system (active, being migrated)
  • Next.js application with API routes (the payments module you'll be refactoring lives here today)
  • Shared Prisma schema with the new platform
  • Active development continues on both repos simultaneously during migration

Requirements

  • Non-negotiable
  • 7+ years of professional software engineering experience, with at least 3 years in backend systems handling real financial transactions (payments, billing, ledger, or treasury)
  • Deep TypeScript/Node.js expertise. You should be able to design a NestJS microservice from scratch, not just work in one.
  • Production experience with payment gateway integrations (M-Pesa, Stripe, Adyen, or similar). You understand STK push flows, webhook idempotency, callback signature verification, and reconciliation.
  • Strong PostgreSQL skills. You can design schemas for financial data, write migrations, and reason about transaction isola

Benefits

Vision insurance

Additional Information

About Share Share is a venture-backed internet infrastructure network building Africa's backbone. The company aggregates underutilised telecom infrastructure, fibre, subsea cables, and data centers, and provides ISPs with scalable access to bandwidth without traditional upfront costs. Through an open-access model, local internet providers can deliver dramatically faster speeds to their subscribers without raising their own costs. Share's network spans thousands of kilometres of fibre, 12 infrastructure providers, and 10 data centers, reaching over 8 million people across East Africa. The platform team builds the software that makes this work: billing, payments, subscriber management, RADIUS-based network authentication, and integrations with ISP billing systems and mobile money providers. We are replacing legacy, non-API systems with a modern API platform, and real money is already flowing through the system. This is a small, high-intensity engineering team building core infrastructure under real deadlines. You will own entire domains, not tickets.


Your Match

How well this role fits your profile.

Company Intel

What employees say

Worked at talentsafari? Share your experience

Interested in this role?

Apply on the company's website.

Cover LetterConnect