Skip to content

Open nowPosted 9 days ago

Staff Backend Engineer (Platform & Domain Foundations)

Workable (global search)108,016 open roles

Where
Brazil
Work mode
Remote
Get the CV for this job

From $25 per CV, paid once. No subscription.

Your applicationOpen nowStaff Backend Engineer (Platform & Domain Foundations)Workable (global search) · Brazil
  1. YouYes, apply to this one.

  2. CV RocketCV written for this posting.

  3. 25 readersRecruiter, hiring manager, skeptic. Round after round.

  4. CV RocketApplied on Workable (global search)'s own form.

The reply lands in your private mailbox

3×more interviews than doing it yourself with ChatGPT.

The clock on this job

Early applications get read.

7.9% of postings close within 7 days. Measured by our own scanner across the market. Workable (global search) postings stay open a median of 7 days.

Share of postings closed within
  1. 1.6%1 day
  2. 3.6%3 days
  3. 7.9%7 days
  4. 14.9%14 days
  5. 34.0%30 days
This job: posted 9 days ago

Workable (global search) median: 7 days open

The posting

About Skillshare

Skillshare is an online learning community whose mission is to connect curious, lifelong learners everywhere – and, in so doing, build a more creative, more generous, and more prosperous world. Today, our community has grown to millions of members who come to Skillshare to learn creative and entrepreneurial skills, network with peers, and even teach a class themselves. We are backed by OMERS Growth Equity, Union Square Ventures, Spark Capital, Amasia, Spero Ventures, and Burda Principal Investments.

Skillshare is committed to building a diverse team that reflects a variety of backgrounds, perspectives, and skills. We work to ensure a consistent interview process, and inclusive work environment for all.

About the role

As an engineer at Skillshare, you'll help shape how teachers share their expertise, how students discover and watch content they love, and how our platform evolves for the future. This role sits at the foundation of our backend, including our domain model, service architecture, event backbone, and the conventions other engineers build on top of.

We work in a TypeScript monorepo built around Domain-Driven Design, hexagonal architecture, and Clean Architecture principles. Our services are built with NestJS, our API is GraphQL, our data lives in Postgres behind Prisma, and our infrastructure runs on GCP.

We're looking for someone who thinks deeply about systems and boundaries, is comfortable making and documenting architectural decisions, and can leave behind a codebase that other engineers can understand and build upon.

AI is also a core part of how our engineering team works. We use tools like Claude Code throughout the development process, and we're looking for someone who knows how to effectively direct, review, and improve AI-generated work while remaining accountable for the architecture, quality, and end result.

What You'll Do:

  • Shape our backend architecture and domain model, defining clear bounded contexts, aggregates, domain events, and service boundaries that reflect how the business actually works.
  • Build and evolve TypeScript/NestJS services using Domain-Driven Design and ports-and-adapters patterns, keeping business logic isolated from infrastructure.
  • Own key backend contracts, including our GraphQL API, Postgres data models, and the patterns we use to evolve them safely as the product grows.
  • Build reliable event-driven systems, designing for durability, idempotency, retries, and the realities of distributed systems.
  • Use an AI coding harness as a core development tool, directing and reviewing generated code while improving the context, standards, tests, and guardrails that make AI-assisted development more effective.
  • Raise the bar for engineering quality through thoughtful code review, testing, technical documentation, architecture diagrams, and clear decision records.
  • Turn ambiguous product needs into well-designed systems, partnering with product and engineering teammates to model problems, make tradeoffs, and ship meaningful work.
  • Work within our weekly delivery cadence, breaking foundational work into meaningful increments that can move from Monday goals to Friday demos.

Requirements

  • 8+ years of experience building backend systems in production, with deep TypeScript and Node.js experience and the judgment that comes from owning and maintaining systems you've designed.
  • Deep, hands-on experience with Domain-Driven Design. You've applied DDD to real, complex domains and are comfortable defining bounded contexts, aggregate boundaries, value objects, and domain events. You understand hexagonal architecture / ports and adapters, including both the value of that separation and when the additional indirection is worth it.
  • Strong experience designing and owning GraphQL APIs, including schema modeling, batching and the N+1 problem, pagination, error semantics, and evolving a live schema without breaking clients.
  • Experience designing event-driven and distributed systems. You can reason concretely about at-least-once delivery, idempotency, ordering, retries, transactional boundaries, and patterns such as the transactional outbox.
  • Strong relational data modeling and SQL fundamentals, including schema design, migrations against live data, indexing, transaction boundaries, and designing read and write paths intentionally.
  • Experience with NestJS or significant production experience in another modern Node.js backend framework such as Fastify, Express, Hono, AdonisJS, or tRPC, with the ability to ramp quickly on NestJS.
  • You're highly proficient with AI coding tools such as Claude Code or a comparable agentic coding harness. AI isn't occasional autocomplete in your workflow. You're comfortable directing an agent through meaningful engineering work while owning the architecture, context, review, and final result. You review generated code critically and know how to catch plausible-but-wrong implementations, missed edge cases, and broken invariants.
  • You have strong testing instincts. You know how to design systems that are testable at the domain level, use fast implementations or test doubles appropriately, and reserve integration testing for the seams where systems actually integrate.
  • You communicate technical decisions exceptionally well in writing and visually. Architecture decision records, domain glossaries, system diagrams, data and event flows, and technical standards are part of how you work, not documentation you add after the fact.
  • You operate with a high degree of autonomy. You can take an ambiguous product or technical problem, model it, make thoughtful architectural tradeoffs, sequence the work, and drive it through completion without waiting for a fully written spec.
  • You can maintain working-hour overlap with our US-based team until at least 1:00 PM Eastern each day. This is when much of our live collaboration happens, including code review, pairing, Monday goal-setting, and Friday demos. Outside of that window, we work largely asynchronously, so strong written communication and leaving clear context behind are important.

Nice to Haves: Our current stack includes NestJS, GraphQL, Postgres, Prisma, GCP, Cloud Run, Pub/Sub, Pulumi, Nx, Bun, and Zod. You don't need to have worked with every tool in our stack. We're more interested in strong architectural fundamentals and experience with comparable technologies, but familiarity with several of these is a plus.

We'd also be excited about experience with:

  • Building or shaping codebases specifically for AI coding agents, including context files, agent rules, MCP servers, hooks, or automated development guardrails.
  • Fine-grained authorization or relationship-based access control systems such as OpenFGA, Zanzibar-style ReBAC, or OPA.
  • Running transactional outbox patterns, change data capture, or stream processing in production.
  • Infrastructure as Code and cloud-native deployment environments.
  • Monorepo architecture, developer tooling, generators, or custom plugins.
  • Schema-driven contracts and runtime validation.

Benefits

Why You Are Excited About Us

  • Our team: We have a passionate, creative, and innovative team that is a lot of fun to work with.
  • Our mission: We’re doing work that matters – connecting lifelong learners around the world and empowering them to pursue their creativity.
  • Flexibility: We believe that doing your best work means living a full life. That means different things for everyone, so we optimize for trust, invest to support remote teams, offer home office stipends and co-working spaces in multiple cities, have an unlimited vacation policy (with a required minimum!), and encourage work-life balance.
  • Impact: Your work will directly influence how millions of learners discover and engage with Skillshare.
  • Your growth: You’ll have opportunities to collaborate across marketing, brand, product, and engineering teams while expanding your marketing design expertise.
  • Benefits: We believe that doing your best work means living a full life. We support our team with unlimited PTO, gender-neutral parental leave, anniversary sabbaticals, and healthy stipends for creativity, learning, and personal wellness.

At Skillshare, we believe creativity thrives in an inclusive environment. We're excited to meet candidates from all backgrounds and experiences. If you're passionate about what we do but don't check every single box, we'd still love to hear from you — curiosity and growth matter most to us.

From $25, paid onceGet the CV for this job

What happens when you press

One press. We do the rest.

  1. A CV for this posting

    Written against Workable (global search)'s own wording, from every piece of relevant proof in your profile.

  2. 25 readers review it

    Recruiter, hiring manager, skeptic and more read every draft, round after round. You get the best round.

    The review screen in CV Rocket: how each CV was read, round by round.
  3. We apply on Workable (global search)'s form

    Our application engine gets through the hardest forms there are. Where a question needs you, AI suggests the best answer. Don't want us applying from our IP addresses? Use our Chrome extension: we apply straight from your own browser.

    An application in CV Rocket: every answer filled in on the employer's form.
  4. Every reply, sorted

    Workable (global search)'s answer lands in your private mailbox, and we classify it on arrival: interview, question, rejection.

    The CV Rocket inbox: each employer reply classified as an interview, an action or a rejection.
  5. Reply with AI

    AI helps you write the email, checks it and sends it. We show you whether the recruiter read it.

  6. The interview in your calendar

    Full integration with your calendar. The invitation goes straight in.

    An interview invitation in the CV Rocket inbox, added to the candidate's calendar.
Get the CV for this job

From $25 per CV, paid once. No subscription.

Why it works

3×

more interviews than doing it yourself with ChatGPT.

ChatGPT writes a CV and never learns what happened to it. We see every reply. For each CV we know:

  • How it was written, and how the review scored it
  • When we applied, and how long after the posting went up
  • Which posting, which company, which city
  • Who got the interview, and who heard nothing

That is how we know which CVs get called.

Get the CV for this job

From $25 per CV, paid once. No subscription.

The numbers game

More applications. More interviews.

Every application goes out with its own CV, written for that posting and paid once. Send enough of them and the law of large numbers finds you the job.

By hand5–10
With CV Rocket100
applications a day

Nearby

Live postings like this one

Same employer first, then the same role elsewhere.

Before you press

Straight answers

Get the CV for this job

From $25 per CV, paid once. No subscription.

What if my background isn't good enough?

We make the most of the background you have. The CV uses every piece of relevant proof your profile holds, and one of the 25 readers reads your whole profile and flags what the CV left out.

Do you really apply for me?

Yes, on the employer's own form, the hardest ones included. Where a question needs you, you answer it right there and AI suggests the best answer. Don't want us applying from our IP addresses? Use our Chrome extension: we apply straight from your own browser.

Is it a subscription?

No. You pay once per CV, from $25. Every application goes out with its own CV, written for that posting.

One job. One CV.
Paid once.

Pick the posting you want. We write for it, apply for you and catch the reply.

Get the CV for this job

From $25 per CV, paid once. No subscription.