We are seeking an SDE-3 Backend Builder to own the CRM Bulk Import product end-to-end. Bulk Import is the data on-ramp into HighLevel — the system that pulls contacts, opportunities, custom objects, and pipelines out of external CRMs (HubSpot today, more tomorrow) and lands them cleanly inside our customers’ workspaces, often at scale of millions of records per import.
The architecture spans an orchestration layer (bulk-actions) that drives Pub/Sub-based fan-out, a stateless read-side proxy (external-import) that talks to third-party CRM APIs and maps payloads into HighLevel shape, OAuth token resolution, ID-mapping in Redis, and downstream writes into contacts, opportunities, and custom-fields services. You will own this pipeline horizontally — designing the workers, the proxy, the contracts, and the operational story — while keeping the system CRM-agnostic so adding the next integration is a small change, not a rewrite.
This role emphasises deep backend ownership: distributed workflows, idempotency, throughput, and resilience against flaky upstreams. You will operate with high autonomy, with enough frontend fluency to ship the occasional UI surface (import setup, progress, error reporting) without waiting on anyone.
Own the full lifecycle of CRM Bulk Import: orchestration workers, the external-import read proxy, mapping layers, and the integration seam with downstream HighLevel services
Design and evolve the import pipeline — Pub/Sub topics, Trigger and Import workers, batch hydration, and ID-mapping in Redis — for correctness and throughput
Build and scale stateless proxy services (NestJS) that talk to third-party CRM REST APIs (HubSpot today; Salesforce, Pipedrive, Zoho next) with Bearer-token auth, pagination, batch reads, and rate-limit handling
Tackle distributed systems concerns: idempotent imports, retries, partial-failure resumption, dedup, fair-use across tenants, and backoff against upstream rate limits
Keep the integration layer CRM-agnostic: clean client abstractions, mappers, app-id resolution, and a guard/interceptor seam that stays untouched as new CRMs land
Design the import data contracts — raw vs mapped response modes, camelCase transform rules, exclusion lists — and keep them stable for worker callers
Improve performance and reliability of large imports (millions of records per run) through batching, paging, parallelism, and smart write-side fan-out
Ship end-to-end when needed — including UI changes in Vue (import progress, error reporting, mapping setup) — without blocking on cross-functional handoffs
Instrument the system: traceIds, structured logs, metrics, and SLOs that make import behavior legible across bulk-actions, external-import, and oauth-api
Drive incident response, postmortems, and the engineering hygiene that keeps a high-traffic, third-party-dependent product healthy
4+ years building and operating production backend systems at scale
Strong fundamentals in distributed systems, async workers, queue/topic-based architectures, and API design
Hands-on experience with Node.js (NestJS preferred) or Go in production
Track record of owning services end-to-end — design, build, deploy, on-call
Experience integrating with third-party REST APIs: OAuth flows, pagination, rate limits, retries, and error mapping
Comfort working independently in ambiguous problem spaces with high ownership
Solid grasp of scalability, performance, and reliability trade-offs
Experience building bulk import / ETL / data-migration systems for CRM, marketing, or SaaS products
Worked with HubSpot, Salesforce, Pipedrive, Zoho, or similar CRM APIs at non-trivial volume
Multi-tenant SaaS at scale — sharding, tenant isolation, fair-use limits, hot-tenant handling
Deep familiarity with Pub/Sub or Kafka, Redis, MongoDB, and async job orchestration patterns
Experience with mesh-only / internal-only services and service-to-service auth (Istio, mTLS, internal request layers)
Frontend fluency in Vue.js — enough to ship a feature without a frontend partner
Strong product instincts and a portfolio or GitHub of shipped work.
Tech Skill Set
Node.js (NestJS), Go, Vue.js, Pub/Sub, Redis, MongoDB, HubSpot/Salesforce/Pipedrive APIs — running on a distributed microservices architecture over Istio service mesh.
Ships Bulk Import features from idea to production with minimal cycle time
Builds an import pipeline that stays correct and reliable as imports grow from thousands to millions of records per run
Adds a new CRM integration as a small, well-bounded change — not a rewrite
Makes sound trade-offs between speed, quality, and long-term maintainability
Raises the bar on data correctness, error reporting, and operational excellence for the product
Continuously sharpens the customer experience through iteration and instrumentation.