Share - Staff Software Engineer
Upload My Resume
Drop here or click to browse · PDF, DOCX, DOC, RTF, TXT
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 • 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.
Responsibilities
• Payments domain: • Billing engine: • Integration layer: • 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. • Architecture decisions: • 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 • 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 • Legacy system (active, being migrated) • Next.js application with API routes (the payments module you’ll be refactoring lives here today) • Active development continues on both repos simultaneously during migration
Benefits
• 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.
No credit card. Takes 10 seconds.