At a Glance
- Tasks: Lead the development of critical payment and billing systems for a transformative internet platform.
- Company: Join Share, a venture-backed company revolutionising internet infrastructure in Africa.
- Benefits: Enjoy competitive salary, equity, health benefits, and a supportive learning environment.
- Other info: Collaborate with a small, dynamic team and leverage AI tools in your daily workflow.
- Why this job: Make a real impact on Africa's internet future while working with cutting-edge technology.
- Qualifications: 7+ years in software engineering, strong TypeScript/Node.js skills, and experience with financial transactions.
The predicted salary is between 80000 - 120000 ÂŁ per year.
About Share
Share is a venture-backed internet infrastructure network building Africa’s backbone. The company aggregates underutilized telecom infrastructure, fiber, 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 kilometers of fiber, 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.
The role
We are hiring a VP & 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: 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.
VP & Staff Software Engineer(s) in London employer: Share
Contact Detail:
Share Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land VP & Staff Software Engineer(s) in London
✨Tip Number 1
Network like a pro! Get out there and connect with folks in the industry. Attend meetups, webinars, or even just grab a coffee with someone who works at Share. You never know who might have the inside scoop on job openings or can put in a good word for you.
✨Tip Number 2
Show off your skills! If you’ve got a GitHub or portfolio, make sure it’s up to date. Share your projects that align with what we do at Share, especially anything related to payments or billing systems. This is your chance to shine and demonstrate your expertise!
✨Tip Number 3
Prepare for those interviews! Research our tech stack and be ready to discuss how your experience fits into our world of NestJS, TypeScript, and payment integrations. Practice coding challenges and system design questions to show us you can think on your feet.
✨Tip Number 4
Apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, it shows you’re genuinely interested in being part of our mission to build Africa’s internet backbone. Don’t miss out!
We think you need these skills to ace VP & Staff Software Engineer(s) in London
Some tips for your application 🫡
Tailor Your Application: Make sure to customise your CV and cover letter for the VP & Staff Software Engineer role. Highlight your experience with backend systems, especially in payments and billing, and show how your skills align with our tech stack.
Showcase Your Achievements: Don’t just list your responsibilities; share specific achievements that demonstrate your impact in previous roles. Use metrics where possible to illustrate how you’ve improved systems or processes.
Be Clear and Concise: When writing your application, keep it clear and to the point. We appreciate straightforward communication, so avoid jargon unless it’s relevant to the role. Make it easy for us to see why you’re a great fit!
Apply Through Our Website: We encourage you to apply directly through our website. This helps us streamline the process and ensures your application gets the attention it deserves. Plus, it’s super easy!
How to prepare for a job interview at Share
✨Know Your Tech Inside Out
Make sure you’re well-versed in the tech stack mentioned in the job description, especially TypeScript, NestJS, and PostgreSQL. Be ready to discuss your experience with payment gateways and event-driven architectures, as these are crucial for the role.
✨Showcase Your Problem-Solving Skills
Prepare to share specific examples of how you've tackled complex engineering challenges in the past. Highlight instances where you’ve made architectural decisions or unblocked your team when they hit technical walls. This will demonstrate your ability to own critical domains.
✨Familiarise Yourself with AI Tools
Since the company values AI-augmented engineering, be prepared to discuss how you’ve used AI tools in your workflow. Share examples of how these tools have improved your coding, debugging, or architectural reasoning processes.
✨Understand the Business Context
Research the company’s mission and the impact of their work on East Africa’s internet infrastructure. Being able to articulate how your role contributes to their goals will show that you’re not just a techie but also aligned with their vision.