Líder técnico iOS
Sobre la empresa
Nuestro cliente se dedica en crear aplicaciones móvil para el sector Fintech y Financiero.
Buscan personas que les guste crecer y mantenerse actualizados para lograra llevar nuevos proyectos.
Sobre el puesto de la vacante
El Líder de Desarrollo iOS será responsable de dirigir el equipo de desarrollo de aplicaciones móviles en iOS, garantizando que la implementación de las apps cumplan con los más altos estándares de calidad, rendimiento y seguridad. Este rol no solo abarca la supervisión técnica, sino también la planificación y la coordinación entre miembros del equipo para asegurar una integración fluida y una entrega eficiente de los proyectos. Además, el líder será clave en la toma de decisiones arquitectónicas, en la mentoría del equipo y en la mejora continua del proceso de desarrollo en un entorno ágil. Es un rol que participa activamente en la programación y lidera al equipo.
Reto
- Liderazgo Técnico y Arquitectura:
Definir y supervisar la arquitectura de proyectos iOS, asegurando que los patrones y principios de diseño sean aplicados para optimizar el rendimiento, la escalabilidad y la mantenibilidad.
Identificar y tomar decisiones técnicas sobre herramientas, frameworks y tecnologías que optimicen el desarrollo y permitan un crecimiento sostenido del producto.
- Coordinación y Gestión de Equipo:
Asignar tareas, definir prioridades y coordinar el trabajo de los desarrolladores, asegurando una distribución equilibrada de responsabilidades y facilitando el cumplimiento de objetivos de cada sprint.
Proveer mentoría técnica a los desarrolladores del equipo, apoyando su crecimiento profesional y resolviendo dudas o problemas técnicos complejos.
- Estrategia de Desarrollo y Mejora Continua:
Proponer y ejecutar estrategias para la mejora continua del proceso de desarrollo, incluyendo revisiones de código, optimización del pipeline de CI/CD y automatización de pruebas.
Participar en la planificación de producto y aportar una perspectiva técnica para la toma de decisiones, asegurando que los recursos se utilicen de manera eficiente y en línea con los objetivos del negocio.
- Garantía de Calidad y Estándares de Seguridad:
Asegurar que las aplicaciones cumplan con los estándares de calidad y seguridad requeridos, implementando prácticas de pruebas automatizadas y seguimiento de métricas de rendimiento.
Establecer y supervisar estándares de codificación, asegurando que el código sea modular, seguro y fácil de mantener.
- Colaboración Multidisciplinaria:
Colaborar con equipos de backend, diseño, QA y producto para garantizar una integración fluida y que el producto final cumpla con las expectativas del usuario y los objetivos del negocio.
Facilitar la comunicación entre los diferentes equipos, liderando revisiones de diseño y participando en la planificación de lanzamientos.
- Coordinación de Versiones y Publicación en la App Store:
Coordinarse con los otros lideres de desarrollo para gestionar correctamente el manejo de versiones y el despliegue en la App Store, asegurando que cada nueva versión cumpla con los requisitos de Apple y tenga la estabilidad necesaria para los usuarios.
Gestionar lanzamientos graduales y revisiones de aplicaciones, coordinando con el equipo de QA y stakeholders para asegurar un despliegue controlado y seguro.
Responsabilidades
Decisiones Estratégicas en Arquitectura y Diseño:
Definir la arquitectura de las aplicaciones o rediseñar arquitecturas existentes para mejorar la eficiencia y mantenibilidad del proyecto.
Seleccionar patrones de diseño y definir la estructura modular de la aplicación, tomando en cuenta la escalabilidad y los posibles cambios futuros en el producto.
Planificación y Asignación de Recursos:
Asignar recursos del equipo en función de la complejidad y prioridad de las tareas, garantizando que los proyectos avancen en tiempo y forma.
Tomar decisiones sobre la asignación de desarrolladores a diferentes partes del proyecto, optimizando la productividad y asegurando que los expertos en cada área aborden los temas correspondientes.
Mejora de Procesos y Estándares de Calidad:
Definir y ajustar procesos internos de desarrollo, pruebas y despliegue, identificando áreas de mejora en el flujo de trabajo.
Decidir sobre la implementación de nuevas prácticas de control de calidad, automatización de pruebas y análisis de métricas de rendimiento para asegurar que el producto final cumpla con los estándares de calidad.
Resolución de Problemas y Mitigación de Riesgos:
Tomar decisiones sobre soluciones a problemas críticos o complejos en el desarrollo, gestionando riesgos técnicos y tomando medidas proactivas para mitigarlos.
Evaluar y resolver problemas de producción o de usuario, tomando decisiones rápidas que aseguren la continuidad del servicio y la experiencia del usuario.
Requerimiento de vacante
Experiencia
- Experiencia en desarrollo de aplicaciones móviles iOS, de los cuales 3-5 años deben haber sido en un rol de liderazgo o coordinación técnica.
- Experiencia en la dirección de equipos de desarrollo, con la capacidad de guiar, motivar y resolver problemas técnicos complejos. También debe haber trabajado en proyectos de gran escala que involucren múltiples dependencias y equipos colaborativos.
- Experiencia en todas las etapas del ciclo de vida de una aplicación móvil, desde el diseño y la planificación hasta el desarrollo, pruebas, despliegue y mantenimiento.
- Conocimiento y experiencia en entornos ágiles (Scrum, Kanban) y en la coordinación de sprints, asignación de tareas y mejora continua.
Habilidades y aptitudes
- Swift y Objective-C:
Dominio avanzado en Swift, incluyendo su sintaxis moderna y características avanzadas, como programación funcional, closures, protocolos, generics, y control de concurrencia con Grand Central Dispatch (GCD) y Swift Concurrency (async/await).
Conocimiento en Objective-C para mantenimiento de código legado y comprensión de la interoperabilidad entre ambos lenguajes.
- Experiencia en el diseño de arquitecturas modulares y escalables, como MVVM, VIPER y Clean Architecture, que permitan un desarrollo mantenible y fácil de extender. Conocimiento en principios SOLID y patrones de diseño, como el patrón de
repositorio y de fábrica, asegurando la separación de responsabilidades y la cohesión del código.
- Conocimientos en componentes y frameworks de apple.
Uso de UIKit y SwiftUI para crear interfaces de usuario responsivas y adaptadas a diferentes dispositivos y orientaciones.
Familiaridad con Combine para manejar flujos de datos reactivos y asincrónicos de manera eficiente.
Experiencia con Core Data, Core Animation, MapKit y otros frameworks esenciales de iOS, lo que permite agregar funcionalidad avanzada a las aplicaciones y personalizar la experiencia del usuario.
- Experiencia en el consumo y configuración de APIs RESTful utilizando URLSession o Alamofire, con un enfoque en el manejo eficiente de datos, caché y errores.
Conocimientos avanzados en sincronización de datos y caché local, asegurando una experiencia fluida para el usuario y el acceso a datos offline.
- Profundidad en XCTest y XCUITest para pruebas unitarias y de UI, garantizando una cobertura sólida del código y la estabilidad de la aplicación.
Familiaridad con pipelines de CI/CD usando herramientas como Jenkins, Bitrise o GitHub Actions para automatizar el flujo de trabajo y reducir el tiempo de entrega de nuevas versiones.
- Conocimiento en el uso de Xcode para la creación y gestión de builds, incluyendo estrategias de versionado semántico.
Experiencia en App Store Connect para la publicación y distribución de aplicaciones, incluyendo configuraciones para lanzamientos graduales y pruebas beta.
Qué te ofrecemos
Salario: Se revisa en entrevista
Modalidad: Remoto / Home-office
Lugar de trabajo: Ciudad de México
Otros beneficios
- Contrato directo con el cliente.
- Modelo 90% remoto
- Prestaciones de ley.
- Horario de Lunes a Viernes de 9 am a 7 pm , con dos horas de comida