




Resumen: Buscamos un Ingeniero de Software experimentado para contribuir a las discusiones arquitectónicas, resolver problemas técnicos complejos y brindar liderazgo técnico al equipo de desarrollo. Aspectos destacados: 1. Contribuir a las discusiones arquitectónicas y tomar decisiones de diseño 2. Resolver problemas técnicos complejos y tomar decisiones críticas 3. Brindar liderazgo técnico y orientación a los miembros junior del equipo * Competencia en Kotlin y Swift: Comprensión profunda de Kotlin moderno (corutinas/Flow, serialización) y Swift (async/await), incluidos los entornos de ejecución de la plataforma, la gestión de memoria y la concurrencia. * Marcos nativos de IU: Experiencia en el desarrollo de interfaces de usuario de producción con marcos declarativos — Jetpack Compose en Android y SwiftUI en iOS — incluida la gestión de estado y el ciclo de vida. * Arquitectura e inyección de dependencias: Experiencia con arquitecturas móviles reactivas y probables (por ejemplo, MVVM, The Composable Architecture) y marcos de inyección de dependencias como Koin. * Integración de API RESTful: Experiencia diseñando y consumiendo API REST robustas y escalables para integraciones con terceros y consumo interno de la interfaz de usuario (por ejemplo, Retrofit/OkHttp en Android, URLSession en iOS). * Marcos de pruebas: Competencia en pruebas móviles en toda la pirámide — pruebas unitarias, de integración y de interfaz de usuario — con herramientas como JUnit, Mockito, Robolectric, Espresso y Compose UI test en Android; XCTest y XCUITest en iOS. * Herramientas móviles y CI/CD: Experiencia con canalizaciones automatizadas de compilación y lanzamiento multiplataforma (por ejemplo, Gradle, Swift Package Manager, Bitrise, Fastlane), idealmente para aplicaciones white-label o multiinquilino. * Experiencia trabajando con desarrollo asistido por IA (por ejemplo, GitHub Copilot, Claude, Cursor o ChatGPT) * Conocimiento práctico de la ingeniería de indicaciones dirigida por IA para el desarrollo de aplicaciones. Responsabilidades y funciones: * Contribuir a las discusiones arquitectónicas, tomar decisiones de diseño y garantizar que la arquitectura general del software se alinee con los objetivos comerciales y las mejores prácticas del sector. * Resolver problemas técnicos complejos y tomar decisiones críticas relacionadas con la selección tecnológica, la arquitectura del sistema y la planificación del proyecto. * Brindar liderazgo técnico y orientación a los miembros junior del equipo de desarrollo. * Realizar revisiones de código para garantizar la calidad, mantenibilidad y cumplimiento de los estándares de codificación. Requisitos: * Título universitario o diploma en Ciencias de la Computación, Ingeniería, campo relacionado o experiencia laboral equivalente. * 8 o más años de experiencia en desarrollo de software y 3 o más años como Ingeniero de Software con enfoque en el diseño y construcción de sistemas complejos y escalables. * Comprensión profunda de los principios de ingeniería de software, patrones de diseño, algoritmos y arquitectura de sistemas. * Capacidad para liderar discusiones técnicas, tomar decisiones críticas y lograr consenso entre los miembros del equipo. * Experiencia con tecnologías en la nube y arquitectura de microservicios. **Rango salarial: $125.000 - $135.000 CAD por año.**


