Descripción
Ingeniero de Software
Acerca del puesto
Vancast es una plataforma privada de transmisión en streaming donde las organizaciones crean y alojan eventos en directo y bajo demanda; hasta la fecha, más de 7 000 de ellos. La plataforma es considerablemente más grande que el equipo: más de veinte servicios, una década de historia y transmisiones reales que comienzan a una hora fija y no pueden reprogramarse si algo falla.
El puesto en sí es amplio y práctico. Implementarías funciones de extremo a extremo: desde la interfaz, pasando por los servicios que la respaldan, hasta su despliegue en producción. No dividimos entre frontend y backend entre distintas personas.
Trabajarías tanto en nuevas funciones del producto como en tareas de mantenimiento de la plataforma que mantienen la base de código saludable. Se trata de un gran monorepositorio con más de veinte servicios y aplicaciones desplegables, activamente desarrollados y lanzados, por lo que trabajarías en la mayor parte de él, sin quedar limitado a una sola área.
**Qué significa realmente trabajar en un equipo pequeño aquí:**
Tu trabajo llega a producción en días, no en trimestres.
Nadie te asigna incidencias cada mañana.
Revisas el código de todos y todos revisan el tuyo.
Diseñas tú mismo tus implementaciones: tomas una necesidad poco definida, decides en qué debe convertirse, la especificas y luego la construyes.
No existe una función específica de diseño, por lo que también diseñas la interfaz.
Si prefieres incidencias bien especificadas y que un desarrollador senior revise tu trabajo, este puesto te resultará frustrante. Si, por el contrario, prefieres que te planteen un problema ambiguo y que regreses con una propuesta, no lo será.
Somos un pequeño equipo de ingeniería y tú formarías una parte fundamental de él.
Requisitos
TypeScript y JavaScript moderno: ninguno de los dos debe ser un proyecto de aprendizaje.
Desarrollo backend con Node.js: APIs REST, ciclo de vida de las solicitudes, autenticación y autorización como tareas cotidianas, no como terreno desconocido.
Conocimientos profundos en un framework frontend basado en componentes. Angular, React y Vue son válidos. Usamos Angular, pero lo que valoramos es cómo razonas sobre el diseño de componentes, el estado y la reactividad, no qué sintaxis ya conoces.
Bases de datos relacionales y un ORM. Usamos MySQL y Sequelize; experiencia equivalente es válida.
Capacidad para trabajar con soltura en una base de código grande que no has escrito tú. Gran parte de lo que desarrolles ya existirá.
Escribir código limpio y mantenible, incluido el código generado con ayuda de IA. Usamos herramientas de IA y esperamos que obtengas una ventaja real de ellas. Sigues siendo responsable de todo lo que envíes: debe estar revisado, comprendido y cumplir con el mismo estándar que cualquier código escrito manualmente.
Capacidad para diseñar una interfaz usable de forma independiente. No se trata de pulir aspectos visuales, sino de crear una pantalla que alguien pueda usar sin necesidad de instrucciones.
Dominio claro del inglés escrito. Nuestro código, commits, incidencias y documentación están en inglés, y la mayor parte de nuestra coordinación es escrita.
Autonomía genuina. Saber superar obstáculos por ti mismo, elegir qué hacer a continuación, tomar decisiones sobre compromisos y ser capaz de explicar su coste.
Deseable (no obligatorio)
Ninguno de estos es obligatorio. Todos tienen cierto valor.
AWS en profundidad: ECS, Lambda, CloudFront, S3, Step Functions.
Video en directo y transmisión en streaming: HLS, MediaLive, MediaPackage, MediaConvert, entrega mediante CDN y eCDN.
Angular y NgRx específicamente.
NestJS y Sequelize.
Sistemas en tiempo real: websockets, eventos enviados por el servidor (server-sent events), Redis, reconexión y ordenación.
Monorepositorios NX y GitLab CI.
Autorización basada en políticas.
La configuración
Barcelona. Trabajo remoto como prioridad, idealmente uno o dos días a la semana juntos de forma presencial al principio, flexible y sin ser un requisito obligatorio.
Jornada completa, contrato indefinido. Horario habitual: de 9:00 a 18:00, flexible en la práctica.
40 000-45 000 brutos anuales, según experiencia.
Acerca de Vancast
Vancast Cloud Video es una plataforma SaaS privada de transmisión en streaming donde los clientes crean y alojan eventos en directo y bajo demanda. Estamos orgullosos del producto orientado al cliente que hemos construido hasta ahora y seguimos mejorándolo. Más de 7 000 eventos transmitidos hasta la fecha.
TypeScript, JavaScript, Node.js, Angular