Experiencia:
- Más de 5 años desarrollando aplicaciones iOS utilizando Swift.
- Experiencia en todas las fases del ciclo de vida del desarrollo de software: diseño, desarrollo, pruebas, despliegue y mantenimiento.
- Sólido entendimiento de las directrices de diseño de Apple y las mejores prácticas para la creación de interfaces de usuario.
- Idioma: Inglés Avanzado
Modalidad: 100% remoto
Sueldo: $50,000 MXN
Proyecto: Empresa en Canadá
Habilidades Técnicas:
Lenguaje de Programación: Dominio avanzado de Swift y familiaridad con Objective-C (para mantenimiento de aplicaciones heredadas).
Frameworks y Herramientas:
- Amplia experiencia en UIKit, SwiftUI, Combine, y CoreData.
- Conocimiento en frameworks como Core Animation, Core Graphics, Core Location.
- Experiencia con RESTful APIs, GraphQL, y JSON para consumir servicios y manejar datos.
- Uso de Xcode y Instruments para depuración y análisis de rendimiento.
Integración de Servicios:
- Conocimiento de Firebase, CloudKit, y otras plataformas de servicios en la nube.
- Experiencia con la integración de Push Notifications, In-App Purchases, y APIs de Apple como HealthKit o ARKit.
Arquitectura de Software:
- Conocimiento y experiencia en patrones de diseño: MVC, MVVM, VIPER.
- Capacidad para diseñar y desarrollar arquitecturas escalables y limpias.
Testing y Versionado:
- Experiencia con Unit Testing y UI Testing utilizando XCTest.
- Familiaridad con herramientas de Continuous Integration/Continuous Deployment (CI/CD) como Jenkins, CircleCI, o GitLab CI.
- Uso avanzado de Git para control de versiones.
Optimización de Aplicaciones:
- Optimización de rendimiento, manejo de memoria y análisis de cuellos de botella.
- Conocimiento de técnicas para mejorar la accesibilidad y usabilidad de aplicaciones móviles.
Soft Skills:
Resolución de Problemas:
- Capacidad para identificar y solucionar problemas complejos de manera eficiente.
- Pensamiento analítico para abordar desafíos y tomar decisiones informadas.
Comunicación:
- Excelentes habilidades de comunicación para trabajar con equipos multidisciplinarios (UI/UX, QA, Marketing).
- Capacidad para explicar conceptos técnicos a personas no técnicas.
Trabajo en Equipo:
- Experiencia trabajando en equipos ágiles, usando metodologías como Scrum o Kanban.
- Habilidad para mentorizar a desarrolladores junior y colaborar con otros miembros del equipo.
Gestión del Tiempo y Proactividad:
- Buena gestión del tiempo, con capacidad para priorizar tareas y cumplir con los plazos establecidos.
- Proactividad para proponer mejoras y mantener actualizadas las mejores prácticas de desarrollo.
Adaptabilidad:
- Capacidad para adaptarse rápidamente a nuevas tecnologías y cambios en los requerimientos del proyecto.
- Curiosidad constante y actitud de aprendizaje continuo sobre las últimas tendencias y herramientas en el desarrollo iOS.
Adicionales Deseables:
- Experiencia en AR/VR y juegos móviles.
- Familiaridad con Metodología TDD (Test-Driven Development).
Conocimientos básicos de Backend o DevOps para facilitar la integración con otros sistemas.