Propósito del cargo: El Desarrollador Semi-Senior será responsable del diseño, desarrollo y mantenimiento de soluciones de software que soporten nuestra red de cajeros automáticos y servicios financieros, asegurando la calidad, eficiencia y escalabilidad de los sistemas. Responsabilidades clave: - Diseñar, codificar y probar módulos de software complejos y de alta calidad, garantizando su funcionalidad y rendimiento. - Desarrollar y mantener aplicaciones utilizando lenguajes como Java, C++, Python o JavaScript. - Colaborar activamente con el equipo de TI en Colombia y los futuros equipos en México para entender los requisitos de negocio y traducirlos en soluciones técnicas eficientes. - Participar en el ciclo de vida completo del desarrollo de software, desde la conceptualización hasta la implementación y el soporte. - Realizar revisiones de código, identificar y solucionar problemas, y optimizar el rendimiento de las aplicaciones existentes. - Contribuir a la arquitectura de nuevas funcionalidades y a la mejora continua de la infraestructura tecnológica. - Asegurar la integración adecuada de las soluciones desarrolladas con diferentes tipos de bases de datos, especialmente Oracle y SQLite. - Utilizar herramientas de desarrollo y control de versiones (Git) para una gestión de código eficiente y una colaboración fluida dentro del equipo. - Apoyar en la mentoría y el acompañamiento de perfiles Junior, compartiendo conocimientos y mejores prácticas. - Trabajar bajo presión, manteniendo la calidad y el ritmo de desarrollo para cumplir con los plazos establecidos. - Comunicar eficazmente avances, problemas y soluciones dentro del equipo y con áreas relacionadas. - Proponer e implementar mejoras en los procesos de desarrollo y las herramientas utilizadas. Habilidades y cualificaciones requeridas: - Experiencia: Mínimo 2 años de experiencia comprobada en desarrollo de software. - Lenguajes de Programación: Dominio de uno o más lenguajes de programación como Python, Java, C++, JavaScript. - Bases de Datos: Experiencia sólida en la interacción con diferentes tipos de bases de datos (SQL, NoSQL), con especial énfasis en Oracle y SQLite. - Herramientas de Desarrollo: Familiaridad y manejo efectivo de IDEs, depuradores y otras herramientas para la creación, prueba y depuración de software. - Control de Versiones: Experiencia avanzada en el uso de sistemas como Git para la gestión de versiones de código y la colaboración en proyectos. - Resolución de Problemas: Capacidad demostrada para identificar, analizar y resolver problemas técnicos complejos de manera eficiente. - Comunicación: Excelentes habilidades de comunicación oral y escrita, con capacidad para articular ideas técnicas de forma clara a diferentes audiencias. - Trabajo en Equipo: Habilidad para colaborar eficazmente en un entorno de equipo, contribuyendo al logro de objetivos comunes. - Gestión de Presión: Capacidad para trabajar bajo presión y gestionar múltiples tareas simultáneamente, manteniendo la calidad y los plazos. - Innovación: Interés y, preferiblemente, experiencia previa en la implementación o adaptación de tecnologías avanzadas. Se valorará adicionalmente: - Experiencia en el sector Fintech o bancario. - Conocimiento de metodologías ágiles de desarrollo (Scrum, Kanban). - Participación en proyectos de expansión internacional o integración de sistemas. - Familiaridad con la tecnología de reciclaje de billetes y la infraestructura de cajeros automáticos.