Full Stack Software Engineer

SellAbroad View all jobs

  • Antler, SK
  • Permanent
  • Full-time
  • 2 months ago
About the RoleAbout SellAbroadSellAbroad is building a cross-border commerce infrastructure that enables DTC brands to sell globally with:Localized checkoutGlobal and local payment optionsDuties and taxes automationOrder management and shipping integrationsFaster cross-border deliveryWe operate across checkout, payments, OMS, shipping, and multi-currency billing with merchants in multiple regions.Role OverviewWe are seeking a backend-heavy full-stack engineer who can own major components of the platform, including:Backend API servicesSubscription and payment logic (Stripe)PostgreSQL data modelingOMS and order lifecycle logicWebhooks and async workflowsReact checkout and dashboard featuresInfra, deployment, and production debuggingThis role requires experience with production workloads, third-party integrations, and payment systems.ResponsibilitiesBackend Engineering (Primary)Build and maintain Node.js backend servicesDesign and maintain REST APIsHandle async flows including 3DS, renewals, and retriesOwn Stripe integration (payments, subscriptions, invoices, 3DS)Maintain PostgreSQL schemas, queries, migrations, and indexesWork with order lifecycle state transitionsIntegrate external APIs (Shopify, logistics carriers, etc.)Implement logging, metrics, and error handlingWrite modular, maintainable, well-tested codeIntegrations and Data FlowsImplement and consume webhooks (Stripe, Shopify, carriers)Work with OAuth/API key authentication flowsHandle rate limits and retry logicImplement idempotency patternsValidate JSON and input schemasFrontend (Secondary)Modify or extend React-based checkout UIContribute to merchant/admin dashboardsIntegrate Stripe.js payment componentsHandle state management (Context, Zustand, Redux, etc.)UI design skills are not required. Functional correctness and stability are primary.Infra and DevOpsDeploy and operate services on AWS ECS/EC2/Lambda or similar cloudUse Docker and Docker Compose for local environmentsMaintain CI/CD pipelines (GitHub Actions, GitLab CI, etc.)Work with metrics, logs, and observability toolsRequired Technical SkillsBackend:Node.js (primary)TypeScript (preferred)Express.js, Fastify, NestJS, or Medusa (any one is acceptable)REST API developmentAsync JavaScript patternsError handling and loggingUnit and integration testingDatabase:PostgreSQL (schemas, joins, indexes, migrations)Redis (nice to have, for caching or queues)Payments (Required):Experience with Stripe in real production workflows involving at least one of the following:PaymentIntent APISubscriptionsInvoicesOff-session charging3DS authentication flowsRetry and dunning logicWebhook orchestrationOMS / Commerce:Understanding of:Order lifecycle state transitionsCatalog and SKU structuresBasic tax, duties, or fulfillment concepts (nice to have)Frontend (Checkout/Dashboards):React (production experience)State management (Context, Zustand, Redux, or similar)Stripe.js integration experienceTypeScript (nice to have)Infra / DevOps:AWS ECS, EC2, or Lambda (or similar cloud platform)Docker and Docker ComposeCI/CD tools (GitHub Actions, GitLab CI, CircleCI, or similar)Nice to Have (Not Required)Medusa.js, CommerceLayer, Saleor, or similar commerce backendsShopify API experienceLogistics integration experience (Shiprocket, etc.)Redis queues or cachingEvent-driven architecture experienceObservability tools (Sentry, Datadog, Prometheus)Multi-currency or multi-region payment systemsS3, CloudFront, and CDN handlingWhat Success Looks LikeOwnership of backend systems end-to-endReliable payment and subscription flows using StripeRobust webhook handling with retries and idempotencyClean PostgreSQL models and queriesAbility to modify React checkout without breaking flowsSuccessful third-party integrations without regressionsClear documentation and communicationConsistent debugging and tracing of production issuesWho You AreStrong systems thinking habitsUnderstand payments and their effect on business metricsCommunicate clearly in distributed teamsAble to own features from design to deploymentWrite maintainable code others can iterate onComfortable working in a small team with autonomyExample Problem SpacesAdding regional payment methods and BNPLReducing 3DS friction and improving approval ratesImplementing duties and taxes inside checkoutBuilding returns and refund logicIntegrating with third-party carriers and OMS providersImproving order/event consistency and retriesBuilding V3 universal checkout architectureAutomating merchant onboarding flowsStack OverviewBackend: Node.js, TypeScript, Express/NestJS/Medusa
Payments: Stripe
Database: PostgreSQL, Redis
Frontend: React, Stripe.js
Infra: AWS, Docker, CI/CD

SellAbroad