Publicit, Real-Time Bidding Engineer, Barcelona
Publicit es la plataforma europea de autoservicio para publicidad omnicanal: un único panel desde el que puedes lanzar una campaña en televisión conectada, vallas publicitarias, pantallas digitales en la vía pública, estaciones de metro, aplicaciones móviles y prensa. Lo que antes requería tres agencias y seis semanas ahora se hace en unos minutos y con un correo electrónico corporativo.
Debajo de ese sencillo panel está la parte realmente compleja: nuestro propio mercado publicitario híbrido. Cada vez que se abre un espacio publicitario en cualquier punto de nuestra red —ya sea en un televisor de un salón o en una pantalla en un pasillo del metro— hay que ejecutar y completar una subasta antes de que nadie se dé cuenta de que ha ocurrido. En milisegundos. No hablamos de milisegundos «rápidos para una aplicación web»; hablamos de tiempos en los que una pausa del recolector de basura es un problema y en los que una consulta a una base de datos que no necesitabas hacer puede marcar la diferencia entre ganar o perder.
La mayor parte de la industria ha resuelto esto añadiendo más servidores en la nube al problema y aceptando la latencia. Nosotros hemos apostado por lo contrario: reconstruir desde cero el proceso de toma de decisiones, utilizando Rust, aceleración por hardware y toma de decisiones basada en GPU, para poder analizar realmente cada subasta. ¿Es este anuncio relevante para este espectador? ¿Es esta ubicación segura para esta marca? ¿Cuál es su valor real? Todo ello en el tiempo que la mayoría de los mercados publicitarios emplean únicamente en la comunicación de red.
Somos un pequeño equipo de ingeniería en Barcelona que construye infraestructura real en un mercado en el que la mayoría de los actores dejaron de construir hace años. Aquí nadie se dedica a mantener la plataforma de otro.
El puesto
Este es un puesto de ingeniería sin límites entre áreas.
Durante tus primeros meses puedes estar escribiendo Rust en el sistema de subastas, desarrollando una pantalla del panel que un anunciante utilizará esa misma semana, investigando por qué dos sistemas no coinciden sobre cuánto dinero se gastó ayer o leyendo una especificación del sector con suficiente detalle como para discutirla con el equipo de integración de un socio. Somos demasiado pequeños como para que solo hagas una de esas cosas, y precisamente ese es el motivo para incorporarte ahora. Tendrás la oportunidad de descubrir en cuál de ellas destacas.
No recibirás una lista de tareas. Recibirás problemas, contexto y a alguien con experiencia a quien preguntar cuando te atasques. Lo que construyas llegará a producción, normalmente esa misma semana.
No necesitas experiencia en tecnología publicitaria. Casi nadie la tiene. No se enseña en ningún sitio y todos hemos aprendido sobre la marcha. Lo que necesitas es ser una persona que lee la especificación, abre el perfilador y encuentra la solución.
Qué harás
Trabajarás en todo el stack. Rust en los sistemas que ejecutan las subastas, TypeScript y React en el producto que utilizan los anunciantes. Pasarás de uno a otro semana a semana.
Trabajarás donde los milisegundos son el producto. Descubrirás por qué algo se ha vuelto más lento, lo demostrarás con datos en lugar de suposiciones y volverás a hacerlo rápido. Muy pocos trabajos de ingeniería permiten desarrollar realmente este instinto. Este sí.
Construirás los pipelines que convierten los datos en dinero real. Miles de millones de eventos al día se convierten en lo que un anunciante ve en su factura. Cuando esas cifras son incorrectas, los ingresos también lo son, y tú serás quien lo detecte primero.
Implementarás los protocolos abiertos en los que se basa el sector (OpenRTB, VAST y los marcos de consentimiento de IAB). Leer las especificaciones con atención es una habilidad fundamental aquí, no una tarea tediosa.
Te encargarás de las integraciones de principio a fin. Llevarás a un socio desde la primera llamada hasta el tráfico real: esquema, pruebas y depuración de sus casos límite al doble del volumen que nadie había previsto.
Instrumentarás todo. Si un sistema está funcionando en producción y no puedes ver qué está haciendo, no está terminado.
Qué buscamos
Alrededor de 1 o 2 años de experiencia práctica en ingeniería, incluyendo prácticas. Nos importa lo que hayas construido, no el título que aparezca en tu CV.
Has construido algo por tu cuenta. Un proyecto personal, una herramienta para resolver una necesidad propia, una contribución de código abierto, algo que desarrollaste a las 2 de la mañana porque querías que existiera. Envíanoslo. Es el factor que más influye en que respondamos.
Buenos fundamentos en un lenguaje de sistemas (Rust, Go, C++ o Java/C# con un conocimiento real de memoria y concurrencia), o pruebas claras de que aprenderás Rust rápidamente. Nadie llega dominando Rust. Nos importa que puedas llegar a dominarlo.
Te manejas con TypeScript y React. La mitad de este trabajo consiste en desarrollar la parte de producto que utilizan los clientes.
Depuras desde los primeros principios. Ante un sistema que nunca has visto, formulas una hipótesis, lo instrumentas y acotas el problema, en lugar de cambiar líneas de código hasta que el error desaparezca.
Escribes inglés suficientemente bien como para debatir en él. Nuestro código, documentación y conversaciones con socios son en inglés.
Quieres estar presente. Este puesto es presencial en Barcelona. La ingeniería en una empresa en fase inicial se hace delante de una pizarra, con tres personas alrededor.
Se valorará especialmente
Haber trabajado, estudiado o vivido en el extranjero, o en un equipo distribuido entre varios países. Nuestros socios, nuestro inventario y nuestra hoja de ruta son europeos y lo notarás desde la primera semana.
Haber trabajado con sistemas de baja latencia, alto rendimiento o tiempo real en cualquier sector: trading, backends de videojuegos, streaming, telemetría o robótica.
Haber puesto algo en producción por tu cuenta: contenedores, infraestructura como código o CI que realmente hayas mantenido.
Haber trabajado con sistemas de datos de gran volumen, ya sean sistemas de streaming, bases de datos analíticas o almacenes en memoria.
Saber qué es un DSP, un SSP o una etiqueta VAST. Es totalmente opcional; nosotros te lo enseñaremos.
Programación competitiva, hacking de hardware, demoscene, emuladores o cualquier otra actividad en la que la limitación fuera precisamente lo interesante.
Cómo contratamos
Solicitud. CV más un enlace a algo que hayas construido: GitHub, una URL activa, un vídeo de demostración o un artículo explicativo. Dos líneas sobre qué hace y qué fue lo difícil.
Llamada introductoria (30 min). Nosotros, tú y una conversación honesta por ambas partes sobre lo que realmente implica este puesto.
Conversación técnica (60 min). Hablaremos sobre tu proyecto y después analizaremos juntos un problema real de nuestro código. Sin preguntas de pizarra ni ejercicios artificiales de algoritmos.
Ejercicio práctico. Una pequeña tarea remunerada, con tiempo limitado, que se parezca al trabajo real que hacemos aquí.
Conversación con los fundadores. Hacia dónde vamos, qué papel puedes desempeñar y tus preguntas.
Nuestro objetivo es completar todo el proceso en un plazo de dos semanas.
Por qué unirte
Infraestructura real, no un envoltorio sobre la API de otra empresa. Sistemas distribuidos de baja latencia, aceleración por hardware y toma de decisiones basada en GPU. Es una experiencia poco habitual y que seguirá aportándote valor durante toda tu carrera.
Responsabilidad desde el primer día. Serás responsable de sistemas, no de tareas, mucho antes de lo que ocurriría en una empresa grande.
Aprenderás de personas que ya han construido esto. Tendrás acceso directo a los fundadores y a ingenieros sénior que revisarán tu código con atención. Es la forma más rápida que conocemos de mejorar como ingeniero.
Salario competitivo y participación accionarial. Compartirás los beneficios de aquello que ayudes a construir.
Barcelona. Un equipo que trabaja duro en la misma sala y después sale a comer como personas normales.
Cómo trabajamos
Responsabilidad extrema. Si algo está roto, es tuyo, independientemente de a quién correspondiera originalmente. No esperamos a que otra persona recoja el problema. Lo solucionamos y después arreglamos el proceso que permitió que ocurriera.
Artesanía. «Funciona» no es nuestro estándar. Los detalles se acumulan: una interfaz limpia, una métrica bien definida, una documentación que alguien realmente pueda seguir. Construimos cosas que estaríamos orgullosos de volver a leer dentro de un año.
Velocidad con dirección. El tiempo es el único recurso que no podemos comprar. Nos movemos rápido, pero elegimos con rigor en qué hacerlo. La velocidad sin foco es solo ruido.
Densidad de talento. Cada contratación debe elevar la media. Premiamos la contribución por encima de la antigüedad y damos responsabilidad a quien se la gana. Los buenos ingenieros quieren trabajar con buenos ingenieros; ese es todo el círculo virtuoso.
Primeros principios. La tecnología publicitaria está llena de cosas que son ciertas únicamente porque siempre se han hecho así. Reducimos los problemas a lo que realmente se necesita y reconstruimos desde ahí. Es la única razón por la que un equipo de nuestro tamaño puede superar a empresas ya establecidas.
Ser buenas personas. Directos, honestos y amables. Damos feedback difícil con respeto y celebramos los éxitos sin ego. Estamos haciendo algo difícil y es mejor hacerlo en buena compañía.
Solicitud
Envía tu CV y un enlace a algo que hayas construido a careers@publicit.es, o presenta tu candidatura a través del enlace de esta oferta.
