Software Engineer (AI-Native)

Userpilot

$100K — $130K *
Information Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • 3+ years in software development, both frontend and backend.
  • Solid experience with React and TypeScript, focusing on component design and state management.
  • Strong fundamentals in computer science and backend service development using languages like Elixir or Python.
  • Experience with AI features, especially LLM integration and non-deterministic systems.
  • Proven ability to effectively utilize AI coding agents in development.
  • Demonstrable product sense, valuing both user experience and system correctness.
  • Self-managed with a mindset geared towards continuous improvement.

Responsibilities

  • Design and deploy full-stack features from UI to backend services.
  • Develop AI-driven product functionalities and supporting infrastructure.
  • Focus on performance for both frontend and backend aspects.
  • Translate detailed product specifications into functional code.
  • Engage in a spec-driven development process, collaborating on PRDs.
  • Contribute to the agentic infrastructure for AI tooling.
  • Ensure code quality by reviewing for architectural soundness and maintainability.

Benefits

  • Opportunities to integrate cutting-edge AI technologies into products.
  • Collaborate in a fully integrated team that blurs frontend and backend roles.
  • Flexible development environment that encourages self-management.
  • Access to a modern tech stack including Elixir, React, and AI tools.
  • Focus on continuous learning and improvement in a dynamic setting.
Full Job Description
The Role

This is a full-stack, AI-native role. You'll work across the entire product from the React dashboard and embedded SDK down to the Elixir services and real-time pipelines, and you'll do it in a spec-driven, agent-assisted way. You'll also help build the AI-powered features our customers use, not just use AI to build everything else.

We've stopped treating frontend and backend as separate jobs. We hire engineers who can follow a problem wherever it leads, and who use AI tooling to go deeper and faster rather than to paper over gaps in judgment.

What You'll Work On
  • The Userpilot dashboard: a React monorepo (Nx + Vite + Yarn Workspaces) with 50+ product domains, shared design-system components, and live analytics views
  • The JavaScript SDK: a lightweight, performance-critical script embedded in customer applications that renders personalized UI experiences
  • Real-time backend services: the Elixir/Phoenix channels, Kafka consumers, ClickHouse write buffers, and RabbitMQ-backed integrations that ingest analytics events and make them available for queries and engagement triggers in near real-time
  • WebSocket infrastructure: the persistent connections that keep hundreds of thousands of concurrent users in sync
  • AI-powered product features: LLM-driven personalization, streaming experiences, and in-product intelligence, including the non-deterministic UI and backend states they require
  • Agentic development infra: the AGENTS.md, CLAUDE.md, DESIGN.md, slash commands, and architectural rules that make AI coding tools safe and effective across both a complex React codebase and a strict Elixir/OTP one


What You'll Do
  • Design, build, and operate features end-to-end - from accessible React/TypeScript UI through to the Elixir/Phoenix services, pipelines, and data stores behind them
  • Build AI-powered product features and the infrastructure around them - streaming responses, AI-driven personalization, and the guardrails that make non-deterministic behavior safe in production
  • Care about performance on both sides - bundle size, rendering efficiency, and Core Web Vitals on the frontend; throughput, correctness, and reliability in distributed real-time backends
  • Translate product specs and design mockups into production features, using the right tool for the job - React Query, Redux, and Saga on the client; OTP patterns, queues, and write buffers on the server
  • Work in a spec-driven flow - read and contribute to PRDs that drive both human and AI-assisted implementation
  • Contribute to the team's agentic infrastructure - AGENTS.md, CLAUDE.md, DESIGN.md, slash commands, and .rules/ - so AI tooling understands our codebase as well as the humans do
  • Review code for architectural consistency and maintainability across the stack - including making sure agent-generated code respects the same boundaries human-written code does - and expect the same in return


What We're Looking For

Required
  • 3+ years building and shipping production software, with hands-on experience on both the frontend and backend of real applications
  • Frontend: production React + TypeScript - solid component design, hooks, rendering behavior, and experience with server/client state management (React Query, Redux, or Redux-Saga)
  • Backend: strong CS fundamentals (data structures, algorithms, software design) and professional experience building services in a high-level language (Elixir, Ruby, Python, Go, or similar), including work with databases, queues, or real-time systems
  • AI features: experience building or integrating LLM-powered features - streaming responses, AI-driven personalization, or otherwise designing for non-deterministic behavior
  • AI-native workflow: you use AI coding agents (Claude Code, Cursor) as a real part of how you build - prompting for scaffolding, reviewing output critically, and knowing when to push back
  • Strong product sense and judgment - you care about the user experience and about system correctness in equal measure
  • Self-management and a continuous-improvement mindset - we don't over-prescribe how the work gets done

Bonus Points
  • Elixir and the Phoenix framework with OTP - it's what our backend runs on, and its patterns (supervision trees, cache invariants, channel rules) exist for good reasons
  • Building and operating reliable real-time systems at scale and knowing what "reliable" actually means in production
  • Kafka, RabbitMQ, ClickHouse, Broadway, or similar high-throughput data tooling
  • MUI or design-system experience - we build on top of MUI with a custom layer (Blueprint)
  • Monorepo tooling (Nx, Turborepo, or similar)
  • Chrome Extension development, or SDK / embeddable-script work with size and performance constraints
  • Familiarity with spec-driven development - writing or working from specs that drive both human and AI implementation, and knowing what makes a good one
  • Contributing to developer experience or agentic infra - agent context files (AGENTS.md, CLAUDE.md), runbooks, architectural decision records, slash commands, linting rules, scaffolding
  • Optimizing cloud and infrastructure costs through caching or more efficient data processing
  • Technical leadership on an engineering team
  • Open source contributions
  • Writing tests (unit, integration, e2e) - we won't gate on it, but we'll notice


Our Stack
  • Frontend: React 18, TypeScript, Vite, Nx, Yarn Workspaces
  • State management: React Query, Redux, Redux-Saga
  • Design system: MUI-based component library with a custom layer (Blueprint) on top
  • Backend: Elixir 1.14+, OTP, Phoenix 1.7
  • Databases: ClickHouse (analytics), MySQL (primary)
  • Messaging: Kafka (kafka_ex), RabbitMQ (amqp), Broadway
  • Infrastructure: AWS, Kubernetes, Docker
  • Background jobs: Oban
  • AI: LLM-powered product features (streaming, AI-driven personalization); Claude Code / Cursor for agentic development
  • CI: GitHub Actions


What "Agentic Engineering" Means Here

We're not just using AI to write code faster; we're changing how we build, and AI-powered features are part of the product itself. Two things are true at once: coding agents help us ship, and our customers increasingly use AI features we've built. Both demand the same discipline.
  • Features start with a written spec - a PRD that captures intent and constraints - not a two-line ticket, whether the implementer is a human or an agent
  • Coding agents (Claude Code, Cursor) do the scaffolding; engineers own the architecture, the review, and the judgment calls
  • Our patterns are encoded explicitly. Every umbrella app and product domain has an AGENTS.md capturing what it does, the patterns it uses, and the mistakes to avoid - so an agent working on core doesn't violate a cache invariant or write directly to ClickHouse, and an agent on the dashboard doesn't break a design contract
  • Code review isn't only about correctness - it's about making sure agent-generated code respects architectural boundaries the same way human-written code has to, on both the React and Elixir/OTP sides
  • DX is a product: if a new engineer (or an AI agent) can't understand a domain from its documentation and rules, that's a bug we fix
  • Building AI features means designing for non-determinism - streaming, retries, evals, and graceful failure - and holding it to the same reliability bar as the rest of the platform

You don't need to have done all of this at your last job. But you should be genuinely curious about it, comfortable moving across the whole stack, and excited to help shape how we build.

Similar Jobs

More Jobs at Userpilot

More Information Technology Jobs

Find similar Software Engineer (AI-Native) jobs: