




Resumen: Únase a Lean Tech como Ingeniero de Integración de Backend para desarrollar y mantener servicios backend escalables y orientados a eventos mediante F# y Kafka dentro de una arquitectura nativa en la nube de AWS. Aspectos destacados: 1. Desarrollar servicios backend escalables y orientados a eventos con F# y Kafka. 2. Contribuir a las decisiones arquitectónicas y a las mejores prácticas para la confiabilidad. 3. Colaborar con equipos multifuncionales en un entorno dinámico. **Descripción de la empresa** Lean Tech es una organización dinámica y en crecimiento con sede en Medellín, Colombia, especializada en desarrollo de software y servicios de TI en los sectores de entretenimiento, financiero y logística. Estamos comprometidos con impulsar la transformación tecnológica y fomentamos una cultura centrada en la colaboración, la innovación y la excelencia. Nuestro entorno solidario e inclusivo promueve un crecimiento profesional significativo. Al asociarnos con destacados equipos de ingeniería en América Latina y Estados Unidos, Lean Tech ofrece soluciones transversales a distintos sectores, manteniendo una presencia importante tanto en mercados regionales como internacionales. **Descripción del puesto** Como Ingeniero de Integración de Backend en Lean Tech, desempeñará un papel clave en el desarrollo y mantenimiento de servicios backend escalables y orientados a eventos que sustentan sistemas críticos para las operaciones. Se trata de un puesto de ingeniería enfocado en el backend, con énfasis sólido en la construcción de servicios de integración robustos mediante F# y Kafka dentro de una arquitectura nativa en la nube, principalmente sobre AWS. Usted contribuirá a las decisiones arquitectónicas, implementará mejores prácticas para la confiabilidad y la observabilidad, y colaborará con equipos multifuncionales para garantizar flujos de trabajo de integración sin interrupciones. El puesto implica desarrollo práctico, participación en revisiones de código, documentación de diseños y rotación en guardias para asegurar la disponibilidad continua y la capacidad de respuesta de los sistemas productivos. Buscamos personas con una comprensión sólida de la programación funcional y los conceptos de sistemas distribuidos, que sepan trabajar eficazmente con bases de datos relacionales y arquitecturas orientadas a eventos. Este puesto exige experiencia práctica con F# y programación funcional. Se espera familiaridad con la contenerización mediante Docker, y resulta beneficioso contar con conocimientos de prácticas CI/CD, GitHub Actions y Terraform para plantillas de despliegue. Formará parte de un equipo dinámico centrado en un desarrollo priorizando la confiabilidad, con el objetivo de minimizar los incidentes fuera del horario laboral mediante un diseño cuidadoso y una monitorización proactiva. **Principales responsabilidades** * Diseñar e implementar servicios de integración backend escalables y orientados a eventos mediante Kafka, con enfoque en el paso de mensajes, el procesamiento de flujos y semánticas robustas de entrega. * Contribuir a las decisiones arquitectónicas e impulsar mejores prácticas para la confiabilidad, observabilidad y mantenibilidad de las integraciones dentro de un entorno nativo en la nube. * Desarrollar y mantener servicios backend robustos mediante F#. * Diseñar y evolucionar APIs RESTful y gRPC con enfoque en control de versiones, contratos claros y documentación exhaustiva. * Utilizar Kafka como sistema principal de mensajería para la comunicación orientada a eventos. * Diseñar y operar sistemas distribuidos para el procesamiento de eventos en tiempo real, abordando el rendimiento y la confiabilidad mediante técnicas como particionamiento, agrupamiento (batching), manejo de contrapresión (backpressure), ventanas (windowing) y procesamiento de flujos con estado (stateful stream processing). * Colaborar con equipos multifuncionales para alinear los servicios de integración con los flujos de trabajo empresariales y garantizar un flujo de datos sin interrupciones. Implementar estrategias exhaustivas de pruebas unitarias e integrales para garantizar la calidad del código y la estabilidad del sistema. * Mantener conciencia operativa en toda la infraestructura, las canalizaciones CI/CD y las capas de aplicación, incluida la participación en una rotación de guardias para los sistemas productivos. * Mejorar continuamente el diseño y el rendimiento del sistema, centrándose en la reducción de la deuda técnica y la mejora de la experiencia del usuario. * Participar en revisiones de código, contribuir a la documentación de diseños y participar en tutorías entre pares. * Gestionar y depurar interacciones de datos con bases de datos relacionales como PostgreSQL y SQL Server, y potencialmente con bases de datos NoSQL como Mongo. * Apoyar la transición a la infraestructura en la nube de AWS, aprovechando servicios como S3, SQS y Lambda según corresponda. * Contribuir al desarrollo y mantenimiento de canalizaciones CI/CD, siendo beneficioso contar con familiaridad en herramientas como GitHub Actions y Terraform. * Colaborar con ingenieros frontend para ofrecer soluciones de extremo a extremo, contribuyendo ocasionalmente al desarrollo frontend según sea necesario. * Se requerirá participación en una rotación de guardias en un futuro próximo a medida que el equipo crezca. **Habilidades y experiencia requeridas** * Experiencia profesional con F# para el desarrollo de servicios backend. * Comprensión sólida de los principios de la programación funcional, considerada un requisito fundamental. * Conocimiento profundo de los fundamentos de los sistemas distribuidos, incluyendo semánticas de mensajería, modelos de consistencia, estrategias de contrapresión, ventanas (windowing) y consistencia eventual. * Experiencia práctica con arquitecturas orientadas a eventos y conceptos de paso de mensajes, incluyendo idempotencia y consistencia eventual. * Experiencia práctica con Apache Kafka: diseño de temas (topics), particiones, grupos de consumidores y aplicación de semánticas de entrega como «al menos una vez» (at-least-once) y «exactamente una vez» (exactly-once). Experiencia práctica en el desarrollo y operación de aplicaciones alojadas en la nube, preferiblemente en AWS, debido a una migración en curso desde Azure. * Comprensión sólida de bases de datos relacionales, incluyendo consultas SQL, creación de índices y depuración. Se utiliza experiencia con PostgreSQL y SQL Server. * Competencia en prácticas de pruebas unitarias e integrales. * Se requiere experiencia con Docker para contenerización. * Es necesaria la familiaridad con prácticas CI/CD para mantener un conocimiento operativo sólido de la pila tecnológica. * Capacidad para trabajar colaborativamente en equipos de alto impacto, apoyada por prácticas sólidas de documentación y comunicación. **Habilidades deseables** * Familiaridad con herramientas de orquestación de contenedores como Kubernetes. * Familiaridad con gRPC o marcos RPC similares para la comunicación entre servicios, incluyendo la definición de contratos de servicio y esquemas de control de versiones. * Conocimiento de infraestructura y redes dentro de entornos en la nube. * Familiaridad con conceptos de procesamiento de flujos, tales como particionamiento, paralelismo, procesamiento de baja latencia, contrapresión, agrupamiento (batching), ventanas (windowing) y procesamiento de flujos con estado (por ejemplo, mediante Kafka Streams o marcos equivalentes). * Experiencia con herramientas y prácticas CI/CD, incluyendo GitHub Actions y Terraform para plantillas de despliegue. * Familiaridad con bases de datos NoSQL, como MongoDB. * Experiencia con tecnologías frontend como React y TypeScript. * Familiaridad con herramientas y prácticas de observabilidad para sistemas productivos. * Experiencia con bases de datos SQL Server y PostgreSQL. **Habilidades blandas** * Comunicación clara y concisa: Capacidad para articular diseños técnicos, decisiones e intenciones complejas de forma efectiva mediante documentación y discusiones, asegurando la alineación con equipos multifuncionales y partes interesadas. * Fuerte sentido de propiedad e iniciativa: Demuestra un enfoque proactivo y autónomo para la resolución de problemas y la mejora continua, asumiendo la responsabilidad de la confiabilidad y mantenibilidad de los servicios de integración. * Adaptabilidad y colaboración en equipos distribuidos: Destaca en un entorno de trabajo dinámico, acelerado y distribuido, valorando la retroalimentación y contribuyendo al crecimiento del equipo mediante una colaboración empática. * Mentalidad orientada a la resolución de problemas y la mejora continua: Posee habilidades analíticas sólidas para identificar y resolver desafíos técnicos, junto con un impulso proactivo para mejorar el diseño del sistema, su rendimiento y reducir la deuda técnica. * Enfoque en el desarrollo priorizando la confiabilidad: Comprometido con la construcción de sistemas altamente confiables y observables, contribuyendo activamente a minimizar incidentes críticos mediante un diseño cuidadoso y una preparación operativa. **Por qué le encantará trabajar con nosotros** Únase a una poderosa fuerza laboral tecnológica y ayúdenos a transformar el mundo a través de la tecnología. Oportunidades de desarrollo profesional con clientes internacionales. Entorno de trabajo colaborativo. Programas de trayectoria profesional y tutoría que lo llevarán a nuevos niveles. Únase a Lean Tech y contribuya a dar forma al panorama de los datos dentro de una organización dinámica y en crecimiento. Sus habilidades serán perfeccionadas y sus aportes desempeñarán un papel vital en nuestro éxito continuo. Lean Tech es un empleador que ofrece igualdad de oportunidades. Celebramos la diversidad y estamos comprometidos con crear un entorno inclusivo para todos los empleados.


