← Усі вакансії

Senior Backend Engineer - TypeScript · PostgreSQL

Рівень:
senior
Джерело:
djinni.co
Відгукнутись на вакансію →

About the Project

When a new Diablo season or Path of Exile league drops, millions of players open Maxroll before they start to play.

Maxroll.gg, part of IGN, is the go-to companion for RPG players, with over 25 million visits a month. We cover Diablo IV, Path of Exile 1 and 2, Lost Ark, Last Epoch, World of Warcraft and more, with expert guides, build planners and deep game databases. Launch days bring massive traffic spikes, and every player expects fresh, accurate data instantly. Keeping that fast is the job.

If you’ve ever spent an evening min-maxing a build, you already know our users.

Everything runs on one TypeScript stack:

a Remix frontend over headless WordPress

a planner service for player builds

background jobs for game data, search, analytics and revenue

a new game data platform with a keyed API and a published React SDK

We validate at the boundary and derive everything else. Zod checks all data coming into the system, and types flow from the database table through to the React component. Strict lint rules block any and as. Anything important is covered by a lint rule or a build check, so a rename breaks the build, not production.

The Work

You will be:

- APIs: building and maintaining REST and GraphQL APIs in TypeScript (Fastify, Hono) for user profiles, subscriptions and game data. This includes authentication, rate limits and typed contracts.

- Databases: designing schemas and writing queries for PostgreSQL and MySQL (Prisma, Drizzle). The data includes versioned game data and player-made builds, and the migrations run on tables that are in live use.

- Analytics: running our ClickHouse pipelines: per-request logs rolled up over time with materialized views, article and revenue metrics, and the queries behind our dashboards.

- Caching: owning the cache layers end to end: Redis-compatible stores, query caching, a tag-invalidated cache, HTTP cache headers, and CDN purges when content changes.

- Background jobs: building and running scheduled jobs and queue consumers (NATS). They sync game data, leaderboards and in-game events, index content in Meilisearch, generate sitemaps, and process Stripe webhooks, payouts and data-deletion requests.

- Integrations: working with third-party APIs such as Stripe, Discord, Blizzard, IGDB, Steam and YouTube, handling retries, backoff and their rate limits.

- Media pipelines: processing game images into map tiles, sprite sheets and responsive image sizes.

- Performance: keeping responses lean for our Remix and Next.js pages, because payload size and time to first byte affect PageSpeed and SEO. You'll also change React code when a feature reaches into the frontend.

- AI agents: working with AI coding agents (Claude Code, Cursor) every day. That means directing them, reviewing their output, and maintaining the guardrails that make their changes safe to merge (tests, lint rules, build checks, agent instructions).

- Shipping: deploying through Docker, GitHub Actions and Kubernetes.

Technical Stack / Requirements

- 5+ years of backend experience with TypeScript on Node.js (Bun is a plus)

- A strong command of TypeScript's type system: generics, inference, discriminated unions and narrowing, plus schema validation with Zod or similar

- Strong SQL on PostgreSQL and/or MySQL: schema design, indexing, reading query plans, migrations on live data, transactions and locking

- Experience running an analytical database at production volume (ClickHouse preferred; BigQuery, Druid or similar also counts)

- Experience designing caching: Redis or a compatible store, invalidation strategies, HTTP caching headers, CDN behavior

- Experience designing and consuming REST and GraphQL APIs, including authentication and rate limiting

- Experience with background jobs and message queues, including what should happen when a job runs twice or not at all

- Experience on a production, high-volume, user-facing application

- Experience leading a product from inception to production

Схожі вакансії

З блогу Trackr

Усі статті →

Знайдено через trackr.help/jobs · Канал: @trackrhelp · Бот для персональних сповіщень: @trackrhelpBot