Descripción
Resumen:
Buscamos un Ingeniero Senior de Software Java para liderar el desarrollo técnico de una plataforma de mercado publicitario desde cero, centrándose en sistemas backend escalables y diseño arquitectónico.
Aspectos destacados:
1. Puesto de liderazgo técnico de alto impacto que impulsa los estándares arquitectónicos
2. Oportunidad de trabajar en una plataforma de mercado publicitario desde cero
3. Utilización de agentes de programación con IA como parte estándar del flujo de trabajo de desarrollo
**Ingeniero Senior de Software Java**
=================================
Plataforma de Mercado Publicitario
##### **Ubicación**
Medellín, Colombia, teletrabajo
##### **Área**
Backend
##### **Nivel técnico**
Senior
##### **Stack tecnológico**
Java, Spring Boot, AWS, Kotlin
### **Acerca del cliente**
Nuestro cliente es una empresa estadounidense especializada en desarrollo de software a medida. Equipos de ingenieros senior han construido aplicaciones web y móviles en producción, así como integraciones de sistemas para empresas consolidadas y en crecimiento.
Servicios: desarrollo de software a medida, integración de datos y arquitectura de sistemas, soluciones de software habilitadas por IA, descubrimiento técnico y definición de producto.
### **Detalles del proyecto**
Estamos construyendo un mercado publicitario sobre una red ya establecida de pantallas digitales. Los propietarios de pantallas agrupan su inventario y lo venden. Las marcas compran espacios y ejecutan campañas contra ellos. Nuestro sistema envía creatividades aprobadas a las pantallas, cuenta cada reproducción, detiene el anuncio cuando se agota el presupuesto y genera los datos que sustentan la facturación.
El mercado en sí es nuevo. Nada de esto existe aún. La arquitectura que hemos propuesto es lo que hará posible su éxito.
Algunos de sus componentes:
* Un libro de registros de eventos que maneja aproximadamente 5 millones de reproducciones diarias. De solo anexión, idempotente, auditables y capaz de aceptar nuevos tipos de eventos posteriormente sin que nadie deba modificar el esquema.
* Aplicación del presupuesto, que se ejecuta como un ciclo entre varios sistemas. La reproducción se mide, se atribuye a una campaña, se deduce del presupuesto de dicha campaña y el resultado de permitir/denegar se recoge downstream en el siguiente ciclo de programación. Dichos sistemas no funcionan todos a la misma velocidad, por lo que sus latencias son entradas al diseño, no supuestos que ignoramos.
* Atribución que ocurre exactamente una vez para evitar confusiones. Hacerla dos veces eventualmente genera un historial de auditoría que contradice una factura.
* El dominio propio del mercado: inventario, paquetes, campañas, aprobaciones y dos formas de fijar el precio de una compra —un precio fijo por paquete o CPM deducido según la entrega medida.
* Los contratos de interfaz entre nuestro servicio y la plataforma existente. Usted co-redactaría dichos contratos y asumiría su responsabilidad durante la implementación.
El nuevo servicio no funciona de forma aislada. Interactúa con identidad, contenido y programación, evaluación de políticas y un lago de datos que pertenecen a la plataforma existente del cliente, y una parte significativa del trabajo consiste en cambios que escribimos en los repositorios de dicha plataforma y sometemos a su proceso de revisión. Todo es aditivo, todo se entrega desactivado hasta que lo activamos. No se permite interrumpir nada ya en funcionamiento.
Por tanto, hay trabajo de diseño y también de integración, y buscamos a alguien interesado en ambas facetas. Hay abundancia de ambas.
Utilizamos agentes de programación con IA como parte habitual de nuestro trabajo; el documento de requisitos explica qué significa esto día a día y vale la pena leerlo detenidamente.
### **Su equipo**
Este equipo utiliza agentes de programación con IA como parte estándar del flujo de trabajo de desarrollo. Una parte significativa de la primera versión de la implementación es generada por agentes y luego revisada, corregida e integrada por ingenieros. Esto no cambia lo que buscamos —juicio técnico senior, diseño de sistemas y responsabilidad por lo que se entrega—, pero sí modifica la forma cotidiana del trabajo: proporcionalmente más especificación, revisión e integración; proporcionalmente menos escritura inicial de código.
Buscamos un ingeniero que ya haya trabajado así en producción y haya desarrollado una verdadera calibración al respecto: alta confianza en resultados mecánicos y de plantilla, alta escrutinio en contratos, corrección, seguridad y casos límite. Los modos comunes de fallo —lógica incorrecta con seguridad, APIs recordadas erróneamente, ampliación silenciosa del alcance, refactorizaciones excesivamente amplias— deben ser terreno conocido, no un descubrimiento nuevo.
Los candidatos que se opongan categóricamente a este flujo de trabajo y quienes fusionen código generado sin verificación independiente no son adecuados.
Buscamos un Ingeniero Senior Java para actuar como ancla técnica en una iniciativa de desarrollo de plataforma de alto riesgo y desde cero. En este puesto, usted desempeña un papel fundamental en la implementación de complejos sistemas backend utilizando Kotlin y Java sobre Spring Boot, operando en un entorno nativo de AWS. Su enfoque será construir arquitecturas distribuidas y escalables que se integren perfectamente con diversos sistemas productivos, lo que requiere una profunda comprensión del diseño de sistemas y de la ingeniería de alto rendimiento.
Se trata de un puesto de liderazgo técnico de alto impacto que exige tanto excelencia técnica práctica como capacidad para impulsar estándares arquitectónicos. Usted será responsable del diseño de contratos críticos de API, gestionará puntos complejos de integración entre múltiples equipos y mantendrá un riguroso nivel de calidad mediante revisiones exhaustivas de código. Trabajando estrechamente con el líder del proyecto, será responsable de traducir la arquitectura de alto nivel en servicios robustos y listos para producción, mientras resuelve los desafíos técnicos inherentes a un entorno de ingeniería multifuncional.
El candidato exitoso demostrará responsabilidad por la corrección y fiabilidad de los componentes centrales del sistema, incluyendo autenticación, idempotencia e integridad transaccional. Esperamos un ingeniero capaz de gestionar la deuda técnica y las complejidades de integración inherentes a la entrega de plataformas a gran escala, asegurando que todos los sistemas entregados sean verificables, eficientes y mantenibles.
### **Qué obtiene usted**
\\Proceso de entrevista que respeta a las personas y su tiempo\\Comunidad profesional y abierta de TI\\Reuniones internas y recursos para compartir conocimientos\\Tiempo para recuperación y relajación\\Eventos en línea y presenciales vibrantes\\Oportunidad de formar parte de nuestra comunidad interna de voluntarios\\
### **Responsabilidades**
Arquitectura e implementación
* Diseñar y construir servicios backend en Kotlin y Java sobre Spring Boot, desplegados en AWS ECS Fargate detrás de API Gateway.
* Diseñar e implementar el libro de registros de reproducción de alto rendimiento y de solo anexión —idempotente, auditables y correctos para aproximadamente 5 millones de eventos diarios.
* Modelar y ajustar esquemas de MySQL (Aurora/RDS) para el libro de registros y las rutas de lectura del mercado.
* Proveer y mantener la infraestructura de la aplicación como código.
* Contribuir a SPAs en React y TypeScript cuando el trabajo backend se extiende al cliente.
* Ser responsable de las revisiones de código y los estándares para las aplicaciones Kotlin y Java Spring Boot
Contratos e integración entre equipos
* Co-redactar los contratos de interfaz entre los nuevos servicios y los repositorios de la plataforma existente; asumir su responsabilidad durante la implementación y las revisiones posteriores.
* Redactar solicitudes de extracción (pull requests), negociando el alcance y los cambios en las API con los equipos responsables hasta su fusión y despliegue.
* Implementar y proteger la autenticación máquina a máquina entre fronteras de servicio (JWT/OAuth, Cognito, tokens firmados con KMS).
* Contrastar el comportamiento documentado con el comportamiento real del sistema en producción —la documentación existente diverge en algunos puntos de la producción, y detectar esas brechas temprano forma parte de la labor.
Calidad, revisión y entrega
* Revisar código a gran volumen y establecer el estándar para lo que se fusiona.
* Verificar mediante ejecución y pruebas automatizadas, no mediante inspección.
* Descomponer el plan de entrega en flujos de trabajo bien especificados y construibles de forma independiente, y redactar las especificaciones contra las cuales otros desarrollan.
* Instrumentar la plataforma para observabilidad y apoyar despliegues piloto con tienda limitada, incluida la validación de extremo a extremo en hardware físico.
### **Habilidades**
**CUALIFICACIONES REQUERIDAS**
* Experiencia profesional en ingeniería de software de **8+ años**, con al menos 5 años construyendo y operando servicios JVM en producción.
* Dominio profundo de **Java y Kotlin** —capacidad para redactar y revisar Kotlin y Java idiomáticos con igual confianza.
* Conocimiento experto de **Spring Boot**, incluida experiencia práctica con ambas versiones 2\.7 y 3\.x y las diferencias entre ellas.
* Experiencia en ingeniería **nativa de AWS** —ECS Fargate, API Gateway, Aurora/RDS PostgreSQL, Redis, SQS o Kinesis, S3, Cognito y KMS/IAM.
* Competencia en **infraestructura como código** con cualquier herramienta principal (Terraform, CDK, Pulumi, CloudFormation). Los conceptos son transferibles; la herramienta específica no importa.
* Diseño de **contratos de API REST** y autenticación máquina a máquina (JWT/OAuth, Cognito) en entornos multi-servicio.
* Experiencia práctica con **MySQL en producción** —diseño de esquemas, indexación y rendimiento de consultas bajo carga sostenida de escritura.
* Competencia funcional en **React y TypeScript** —suficiente para revisar y extender una SPA moderna.
* Registro comprobado de **negociación técnica entre equipos** —lograr la aprobación de un cambio en una API o contrato mediante el proceso de revisión y lanzamiento de otro equipo.
* Experiencia profesional utilizando **agentes de programación con IA** (Claude Code o equivalente) como parte de un flujo de trabajo de desarrollo en producción, con juicio calibrado sobre dónde puede confiarse en la salida generada y dónde debe examinarse rigurosamente.
**CUALIFICACIONES DESEABLES**
* Experiencia en el dominio de **DOOH, señalización digital, AdTech o CMS** —listas de reproducción, impresiones, CPM y mecanismos de unidades vendidas.
* Conocimientos básicos de **ingeniería de datos** —Python, Prefect, AWS Glue y Athena para rutas de lectura en lagos de datos.
* **Arquitectura orientada a eventos** y diseño de libros de registros idempotentes y de solo anexión a escala.
* Conocimiento específico de **Terraform**, que es el estándar actual de IaC en los repositorios existentes.
* Profundidad en **observabilidad y operaciones** —diseño de métricas, trazado y alertas para un sistema que entra en fase piloto.
Su reclutador personal
###### **Odarka Hlushko**