Senior Frontend Engineer (Engagement)

RubyPlayWarsaw, MazoviaRemoteFull-timeSenior, 5–8 yearsListed 8 hours ago

Apply now

About this role

RubyPlay is a place where passion meets competence. Since 2017, we've created 250+ innovative games and built 100+ strong partnerships worldwide.

Proud to be:
- The Winner at BFTH Arena Awards — Best Online Casino Game
- Shortlisted for SBC Awards 2024 — Casino/Slots Developer of the Year
- A strong player across 10+ global markets
- A trusted workplace for hundreds of specialists from 34 countries
Our Engagement Stream builds the player-facing features that sit on top of every RubyPlay game: promotions, Missions & Tournaments, Free Rounds and Jackpots. These run on the Engagement Framework, a shared library layered over our Client Framework (the core slot-game lifecycle) and used by many games at once.

We're looking for a Senior Frontend Engineer to own the Engagement Framework frontend and how it integrates with the Client Framework. This role is for an engineer who can reason about system behavior, state and integration contracts, not just build UI to spec.

Here’s How You’ll Make an Impact:

- Develop and evolve the Engagement Framework frontend, gradually taking ownership of key parts of the shared library behind promotions, Missions & Tournaments, Free Rounds and Jackpots.
- Build event-driven gameplay logic: state machines, lifecycle integrations and real-time events connected to backend services.
- Keep many games working at once by maintaining integration contracts and backward compatibility with the Client Framework. Every change reaches many titles.
- Tackle the hard bugs around async events and state transitions, and refactor towards reusable modules.
- Shape technical decisions with Gaming Core, game studios, backend and Product.

What Makes You A Strong Candidate:

- 5+ years with TypeScript/JavaScript, building complex stateful apps, frameworks or shared libraries.
- Deep understanding of async and event-driven systems: state transitions, race conditions, lifecycle management.
- Experience integrating frontends with backend APIs and async messaging, and debugging across services in a large codebase.
- Upper-Intermediate English or higher (B2+, C1 preferred).

Nice to have

- Interactive or game development experience is a big plus. It's a core part of our frontend work, so HTML5 games, slots or iGaming experience with PixiJS, Phaser or similar rendering frameworks will help you stand out.
- Building SDKs or libraries used by multiple teams, including versioning and API contracts.
- Real-time protocols (WebSockets, SSE) and familiarity with message brokers or distributed systems.
Strong candidates with fewer years but proven experience in complex frontend architecture or shared frameworks are welcome to apply.
## What you'll tackle early on

- Learn how the two frameworks fit together: the Client Framework runs the slot-game lifecycle, and the Engagement Framework adds player features on top of it.
- Start with small fixes and get familiar with the CaptainUp integration.
- Prepare for Jackpots, one of the team's top priorities alongside Missions and Tournaments.

Success metrics you'll own

- Predictable, independent delivery with growing ownership.
- High engineering quality: stable, well-designed changes that stay compatible across the games using the framework.
- Catching edge cases and compatibility risks before they reach production.

What success looks like in 6 months

- You own substantial parts of the Engagement Framework and work without day-to-day guidance from senior engineers.
- You've made a visible contribution to Jackpots or another major initiative.
- The framework is easier to maintain because of your work.

Why You’ll Love It Here:

- Your features reach players across the whole RubyPlay portfolio.
- Hard engineering problems: state machines, real-time events, shared framework architecture.
- A strong international team, fully remote.
- Growth budgets, bonuses, English classes, development days, paid vacation and well-being support.
If you enjoy figuring out how complex systems behave, not just how they look, we should talk!