Diseñar, desarrollar y mantener aplicaciones iOS utilizando los marcos SwiftUI y Combine.
Aplicar sólidos conocimientos de Programación Orientada a Objetos (POO) y Patrones de Diseño.
Diseñar e implementar soluciones escalables utilizando la arquitectura MVVM y adherirse a los principios SOLID.
Optimizar el rendimiento administrando la memoria de manera eficiente y previniendo fugas de memoria, utilizando un conocimiento profundo de la gestión de la memoria (referencias fuertes vs. débiles).
Colaborar con equipos multifuncionales para definir, diseñar y lanzar nuevas funciones.
Integrar con API y servicios externos utilizando marcos como Firebase, Crashlytics y Swiflint.
Realizar pruebas unitarias utilizando XCTest para garantizar la calidad y solidez del código.
Mantenerse actualizado con los últimos marcos y herramientas de desarrollo de iOS, incluidos HealthKit, HomeKit y otras tecnologías de Apple.
Habilidades y cualificaciones clave:
Marcos SwiftUI y Combine (obligatorio).
Sólida base en el lenguaje de programación Swift, que incluye:
Colecciones (matrices, diccionarios, conjuntos).
Cierres.
Clases vs. Estructuras.
Protocolos y extensiones.
Propiedades.
Gestión de memoria (se requieren conocimientos profundos).
Enumeraciones y manejo de errores (escenarios try-catch).
Experiencia con Swift Foundation Framework, incluidos UserDefaults, CoreData y plist.
Competente en subprocesos múltiples, específicamente subproceso principal, sincrónico frente a asincrónico, async/await y GCD (Grand Central Dispatch). Es deseable tener conocimientos de NSOperation.
Sólida experiencia con UIKit:
Ciclo de vida de la aplicación, UITableView, UICollectionView, UIScrollView.
Controladores de navegación como UITabBarController y UINavigationController.
Celdas personalizadas y vistas reutilizables en UITableCellView.
Sólido conocimiento de SwiftUI y su integración con UIKit, incluidas vistas, modificadores y envoltorios de propiedades: