Userpilot
Software Engineer (AI-Native)
Dublin, Dublin
Get past the screening software and onto a recruiter's desk
hirly rewrites your resume for this job — matching the keywords and skills in the posting, moving your most relevant experience to the top, and writing a cover letter to fit. About 30 seconds.
- Keywords matched to this posting
- Fit score before you apply
- Cover letter included
Apply from your AI assistant
Connect hirly to Claude and ask it to apply to this job. hirly tailors your resume, fills the employer’s form and asks before sending. ChatGPT: manual setup today.
Some employer sites stop an application at a CAPTCHA or sign-in and hand it back with a link. Applying needs a paid plan. Works with any assistant that supports MCP.
hirly's read of this role
- Role family
- Engineering
- Seniority
- Mid level
- Country
- IE
- Work mode
- On-site / unstated
- First seen by hirly
- 1 Sept 2026
Derived automatically from the posting. Upload your resume above to see how the role scores against it.
the posting
About Userpilot
Userpilot is a leading product analytics and user engagement platform used by product teams at hundreds of companies to understand, segment, and activate their users. The product spans a performant JavaScript SDK that runs inside customers’ web apps, a Chrome Extension for building in-app UI without code, and a React dashboard that handles complex real-time data - all backed by a distributed Elixir/Phoenix backend that sustains hundreds of thousands of concurrent WebSocket connections, high-throughput Kafka event ingestion, and real-time content delivery at scale.
We move fast, we ship often, and we believe the best engineers care as much about the product they’re enabling as the systems and interfaces they build.
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, re
Listed on hirly, a job board. hirly is not the employer: Userpilot is hiring for this role.
Similar jobs
- Software Engineer IIMastercard · Dublin, IrelandFirst seen 5d ago
- Middle Software Engineer (Ruby on Rails)Jobgether · IrelandFirst seen yesterdayremote
- Full Stack Software EngineerJobgether · IrelandFirst seen yesterdayremote
- Software Engineer II (Java/Spring)Mastercard · 3 LocationsFirst seen 2d ago
- Senior Backend Software Engineer — Python & JavaBroadridge · Dublin, IEFirst seen 2d ago
Browse similar roles
Want this one?
Upload your resume and hirly rewrites it for this job and writes the cover letter — in about thirty seconds, before you sign up.
Tailor my resume for this job