Full Stack Software Engineer

Antler, SK, Canada

Job Description

SellAbroad is a global commerce platform helping DTC brands scale internationally with localized storefronts, local payment methods, and 2-3 day delivery across GCC and global markets.
We are backed by the world's largest investors like , Angel Spark and etc.
About the Role
About SellAbroad
SellAbroad is building a cross-border commerce infrastructure that enables DTC brands to sell globally with:
Localized checkout
Global and local payment options
Duties and taxes automation
Order management and shipping integrations
Faster cross-border delivery
We operate across checkout, payments, OMS, shipping, and multi-currency billing with merchants in multiple regions.
Role Overview
We are seeking a backend-heavy full-stack engineer who can own major components of the platform, including:
Backend API services
Subscription and payment logic (Stripe)
PostgreSQL data modeling
OMS and order lifecycle logic
Webhooks and async workflows
React checkout and dashboard features
Infra, deployment, and production debugging
This role requires experience with production workloads, third-party integrations, and payment systems.
Responsibilities
Backend Engineering (Primary)
Build and maintain Node.js backend services
Design and maintain REST APIs
Handle async flows including 3DS, renewals, and retries
Own Stripe integration (payments, subscriptions, invoices, 3DS)
Maintain PostgreSQL schemas, queries, migrations, and indexes
Work with order lifecycle state transitions
Integrate external APIs (Shopify, logistics carriers, etc.)
Implement logging, metrics, and error handling
Write modular, maintainable, well-tested code
Integrations and Data Flows
Implement and consume webhooks (Stripe, Shopify, carriers)
Work with OAuth/API key authentication flows
Handle rate limits and retry logic
Implement idempotency patterns
Validate JSON and input schemas
Frontend (Secondary)
Modify or extend React-based checkout UI
Contribute to merchant/admin dashboards
Integrate Stripe.js payment components
Handle state management (Context, Zustand, Redux, etc.)
UI design skills are not required. Functional correctness and stability are primary.
Infra and DevOps
Deploy and operate services on AWS ECS/EC2/Lambda or similar cloud
Use Docker and Docker Compose for local environments
Maintain CI/CD pipelines (GitHub Actions, GitLab CI, etc.)
Work with metrics, logs, and observability tools
Required Technical Skills
Backend:
Node.js (primary)
TypeScript (preferred)
Express.js, Fastify, NestJS, or Medusa (any one is acceptable)
REST API development
Async JavaScript patterns
Error handling and logging
Unit and integration testing
Database:
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 API
Subscriptions
Invoices
Off-session charging
3DS authentication flows
Retry and dunning logic
Webhook orchestration
OMS / Commerce:
Understanding of:
Order lifecycle state transitions
Catalog and SKU structures
Basic tax, duties, or fulfillment concepts (nice to have)
Frontend (Checkout/Dashboards):
React (production experience)
State management (Context, Zustand, Redux, or similar)
Stripe.js integration experience
TypeScript (nice to have)
Infra / DevOps:
AWS ECS, EC2, or Lambda (or similar cloud platform)
Docker and Docker Compose
CI/CD tools (GitHub Actions, GitLab CI, CircleCI, or similar)
Nice to Have (Not Required)
Medusa.js, CommerceLayer, Saleor, or similar commerce backends
Shopify API experience
Logistics integration experience (Shiprocket, etc.)
Redis queues or caching
Event-driven architecture experience
Observability tools (Sentry, Datadog, Prometheus)
Multi-currency or multi-region payment systems
S3, CloudFront, and CDN handling
What Success Looks Like
Ownership of backend systems end-to-end
Reliable payment and subscription flows using Stripe
Robust webhook handling with retries and idempotency
Clean PostgreSQL models and queries
Ability to modify React checkout without breaking flows
Successful third-party integrations without regressions
Clear documentation and communication
Consistent debugging and tracing of production issues
Who You Are
Strong systems thinking habits
Understand payments and their effect on business metrics
Communicate clearly in distributed teams
Able to own features from design to deployment
Write maintainable code others can iterate on
Comfortable working in a small team with autonomy
Example Problem Spaces
Adding regional payment methods and BNPL
Reducing 3DS friction and improving approval rates
Implementing duties and taxes inside checkout
Building returns and refund logic
Integrating with third-party carriers and OMS providers
Improving order/event consistency and retries
Building V3 universal checkout architecture
Automating merchant onboarding flows
Stack Overview
Backend: Node.js, TypeScript, Express/NestJS/Medusa
Payments: Stripe
Database: PostgreSQL, Redis
Frontend: React, Stripe.js
Infra: AWS, Docker, CI/CD
Apply for this position
Fill out the form below to submit your application. We'll review your submission and get back to you soon.
Full Name *
Email Address *
Phone Number *
LinkedIn Profile URL *
Resume (PDF) *
Click to upload resume
PDF file (up to 10MB)
Additional Questions
Describe in detail a payment flow you have implemented using Stripe in production, including which Stripe objects were involved, how you handled 3D Secure if it was required, how you handled failed payments and retries or off-session charges, and which webhook events you processed and why. *
Explain how you would design a webhook handler for Stripe subscriptions, including how you would ensure idempotency, handle retries and errors, log and persist state changes, and prevent race conditions. *
Describe a backend service you have built using Node.js and SQL in production, including the problem it solved, the schema or entities involved, any query or indexing optimizations, and how you managed database migrations. *
Describe a complex component or flow you have built with React in production that involved dynamic state updates, including how you handled loading and error states, what state management approach you used, how data was fetched and updated, and any third-party libraries you integrated. *
Describe an integration you have built with an external API in production, including the authentication method, how you handled rate limits or retries, how you mapped the external data into your own system, and any operational challenges you encountered. *

Skills Required

Beware of fraud agents! do not pay money to get a job

MNCJobz.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Related Jobs

Job Detail

  • Job Id
    JD3461168
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    Antler, SK, Canada
  • Education
    Not mentioned