Description
**About the role**
Vancast is a private streaming platform where organisations create and host live and on\-demand events — more than 7,000 of them to date. The platform is considerably bigger than the team: over twenty services, a decade of history, and real broadcasts that start at a fixed time and cannot be moved when something breaks.
The role itself is broad and hands\-on. You would ship features end to end, from the interface through to the services behind it and out to production. We do not split front\-end from back\-end between people.
You would work on new product features and on the platform work that keeps the codebase healthy. It is one large monorepo — more than twenty deployable services and applications, actively developed and shipped — so you would work across most of it rather than being boxed into one corner.
What working on a small team actually means here:
* Your work reaches production in days, not quarters.
* Nobody assigns you tickets each morning.
* You review everyone's code, and everyone reviews yours.
* You design your own implementations — take a fuzzy need, decide what it should become, specify it, then build it.
* There is no design function, so you design the interface too.
If you prefer well\-specified tickets and a senior developer to check your work, this role will frustrate you. If you would rather be handed an ambiguous problem and come back with a proposal, it will not.
We are a small engineering team, and you would be a big part of it.
**Requirements**
* **TypeScript and modern JavaScript** — neither should be a learning project.
* **Node back\-end development** — REST APIs, request lifecycle, authentication and authorisation as everyday work rather than unfamiliar territory.
* **Depth in a component\-based front\-end framework.** Angular, React and Vue all count. We use Angular, but we care how you reason about component design, state and reactivity — not which syntax you already know.
* **Relational databases and an ORM.** We use MySQL and Sequelize; equivalent experience transfers.
* **Comfortable in a large codebase you did not write.** A lot of what you work on will already exist.
* **Writes clean, maintainable code — including the code AI helps you write.** We use AI tooling and expect you to get real leverage from it. You still own everything you commit: reviewed, understood, and held to the same standard as anything you wrote by hand.
* **Able to design a usable interface unaided.** Not visual polish — a screen someone can use without being shown how.
* **Clear written English.** Our code, commits, tickets and documentation are in English, and most of our coordination is written.
* **Genuinely self\-directed.** Unblocking yourself, choosing what comes next, making a call on a trade\-off and being able to say what it cost.
**Nice to have**
None of these are required. All of them are worth something.
* AWS in depth — ECS, Lambda, CloudFront, S3, Step Functions.
* Live video and streaming — HLS, MediaLive, MediaPackage, MediaConvert, CDN and eCDN delivery.
* Angular and NgRx specifically.
* NestJS and Sequelize.
* Real\-time systems — websockets, server\-sent events, Redis, reconnection and ordering.
* NX monorepos and GitLab CI.
* Policy\-based authorisation.
**The setup**
* **Barcelona.** Remote\-first, ideally one or two days a week together in person to begin with — flexible, and not a hard requirement.
* **Full time**, contrato indefinido. 9–6 as standard, flexible in practice.
* **€40\.000–45\.000 gross annual**, depending on experience.
Job Type: Full\-time
Pay: 40,000\.00€ \- 45,000\.00€ per year
Work Location: Hybrid remote in Barcelona, Barcelona provincia (Barcelona)