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.
What you will own
Payments domain: SasaPay collections integration (C2B API, STK push, IPN handling), revenue split engine (per-partner, per-BNG percentage logic), ChoiceBank treasury operations (withdrawals, internal transfers, OTP flows), and the payment completion handler that bridges payment confirmation to subscriber activation.
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 isolation and locking.
Experience with event-driven architectures (Kafka, RabbitMQ, or similar). You understand the difference between request-reply and fire-and-forget patterns and when to use each.
You ship. You can take a spec document and turn it into production code without waiting for someone to break it into small tasks.
Strong preference
Experience in East African fintech or mobile money ecosystems (M-Pesa, SasaPay, Airtel Money). Understanding of Kenya’s payment infrastructure and regulatory environment.
Experience with ISP billing systems, RADIUS protocols, or telecommunications platforms.
Experience with Prisma ORM and NestJS specifically.
Production experience with multi-tenant SaaS platforms (provider-scoped data, API key auth, webhook delivery).
Track record of migrating monolithic systems to microservices while keeping production running.
AI-augmented engineering (required mindset)
We expect every engineer at Share to use AI tools as a daily part of their workflow. This is not optional and not aspirational — it is how we operate. Our entire project planning, specification, and documentation process runs through AI-assisted sessions. Our codebase includes AI-readable context files. We use Claude for architecture decisions, code review, spec generation, and technical writing.
What this means for you:
You already use AI coding assistants (Claude, Cursor, Copilot, or similar) daily and can articulate how they change your workflow — not just autocomplete, but architectural reasoning, spec review, and debugging.
You are comfortable working with AI-generated specifications and can critically evaluate them, push back where they are wrong, and extend them where they are incomplete.
You see AI as a force multiplier that lets a small team operate at the capacity of a much larger one. You are not threatened by it; you are faster because of it.
You are willing to contribute to improving our AI-assisted workflows — better prompts, better context files, better session structures.
What we offer
A seat at the table while we build the technical backbone of Africa’s next-generation internet — the decisions you make here will be visible in how entire ISP partners run their networks.
Competitive salary and meaningful equity in a mission-driven, investor-backed company (US-incorporated; Kenya operating entity).
Private health and wellness benefits — we’ll walk through these during the process.
A high-ownership environment with a steep but well-supported learning curve, and a team that writes things down.