Descripción
### **Acerca del puesto**
Buscamos un **Ingeniero Backend Senior** para unirse al equipo que construye los sistemas centrales detrás de **Scrambly**. En este puesto, resolverás complejos desafíos de escalabilidad para una plataforma que atiende a millones de usuarios a nivel mundial.
Tu enfoque estará en escribir código robusto y de alto rendimiento, y en cerrar la brecha entre los requisitos del producto y la realidad técnica. Trabajarás con una pila tecnológica moderna para garantizar que nuestros sistemas sigan siendo rápidos, fiables y fáciles de mantener a medida que crezcamos.
### **Principales responsabilidades**
* **Diseño e implementación**
* + Diseñar, construir y mantener servicios y APIs backend de alto rendimiento y escalables utilizando Node.js (**NestJS**)
+ Escribir código **limpio**, **mantenible** y **probable**, que sirva como referencia para el equipo
+ Garantizar una integración perfecta entre los servicios backend y las aplicaciones frontend
* **Arquitectura y estrategia técnica**
* + Proponer e implementar mejoras arquitectónicas en los sistemas centrales
+ Diseñar funciones complejas centrándose en la escalabilidad, extensibilidad y mantenibilidad a largo plazo
+ Aplicar las mejores prácticas para sistemas distribuidos y diseño de APIs RESTful
* **Mentoría y calidad del código**
* + Promover una alta calidad del código y las mejores prácticas de ingeniería en todo el equipo
+ Mentorizar a otros ingenieros mediante revisiones constructivas de código, orientación técnica y programación en pareja
+ Fomentar una cultura de curiosidad técnica y mejora continua
* **Rendimiento e infraestructura**
* + Supervisar el rendimiento del sistema, identificar cuellos de botella y resolver proactivamente problemas de fiabilidad
+ Colaborar con DevOps para garantizar flujos CI/CD fluidos, despliegues y fiabilidad de la infraestructura
+ Trabajar con herramientas de contenerización y orquestación para gestionar los ciclos de vida de las aplicaciones
* **Colaboración transversal**
* + Trabajar estrechamente con los equipos de Producto, Diseño, Frontend y QA para entregar funciones de alta calidad
+ Traducir los requisitos del producto en especificaciones técnicas sólidas
+ Comunicar claramente las restricciones técnicas y los compromisos a partes interesadas no técnicas
**Requisitos**
* 5 años o más de experiencia en ingeniería de software, con un fuerte énfasis en desarrollo backend
* Conocimientos sólidos en Node.js y frameworks modernos como NestJS
* Excelentes habilidades de diseño de sistemas y una comprensión sólida de arquitectura backend, APIs RESTful y sistemas distribuidos
* Experiencia con plataformas en la nube (GCP preferido; AWS o Azure aceptables), contenerización (Docker) y orquestación/IaC (Kubernetes, Terraform, Helm)
* Competencia con bases de datos relacionales (por ejemplo, PostgreSQL), NoSQL (por ejemplo, Redis) y colas de mensajes (por ejemplo, RabbitMQ, GCP Pub/Sub, Redis Pub/Sub)
* Excelentes habilidades de comunicación y colaboración, cómodo trabajando en un entorno de equipo dinámico
* **Inglés:** Intermedio alto o superior (**B2/B2+, escrito y hablado**). Debes ser capaz de comunicarte con claridad en inglés para trabajar eficazmente en un equipo internacional y participar en discusiones arquitectónicas
### **Deseable**
* Experiencia en una startup B2C que haya escalado hasta alcanzar millones de usuarios
* Conocimientos básicos de **Go**; capacidad para leer, escribir y mantener servicios básicos en Go sin necesidad de comenzar desde cero
* Experiencia práctica con **React**, capaz de implementar funciones básicas de interfaz de usuario u herramientas internas de forma independiente
**Beneficios**
* Trabajar en sistemas donde las optimizaciones de rendimiento se traducen en un impacto inmediato para millones de usuarios
* Una cultura basada en revisiones de código, intercambio de conocimientos y mentoría, donde prevalece la mejor idea
* Un entorno dinámico donde tu código se convierte rápidamente en valor real para los usuarios
* Valoramos la estabilidad y el valor de lo que entregas, no solo la cantidad de líneas de código
* Remuneración competitiva y flexibilidad