iOS

Junior → Arquitecto → Más allá

Hoja de Ruta del Ingeniero de iOS

Un camino graduado por nivel a través de todo en esta guía. Cada etapa lista lo que ya puedes hacer y qué aprender a continuación — y cada tarjeta está etiquetada con su nivel para que practiques exactamente donde estás.

  1. 1

    Junior

    Construye y publica pantallas con guía.

    Construye pantallas y distribuye funcionalidades con orientación. El objetivo aquí es fluidez en los fundamentos — sintaxis de Swift, vistas SwiftUI, estado, listas, navegación y obtención de datos — para que pueda entregar una pantalla funcional de principio a fin en Xcode.

    Ya puedes

    • Escribir Swift con comodidad: optionals, structs vs classes, enums, closures y semántica de valor.
    • Construir pantallas SwiftUI con vistas, modificadores, stacks y List, y dirigirlas con @State y @Binding.
    • Navegar con NavigationStack y presentar sheets; pasar datos entre pantallas.
    • Llamar a una API REST con URLSession y async/await, descodificar JSON con Codable, y manejar estados de carga / error / vacío.
    • Ejecutar y depurar una app en el simulador y un dispositivo desde Xcode.

    Mejora con

    • Modelos observables: @Observable / ObservableObject y dónde debe vivir el estado (vista vs modelo).
    • Fundamentos de Concurrencia de Swift — async/await, Task, y no bloquear el actor principal.
    • MVVM: extraer lógica de las vistas hacia view models testeables.
    • Escribir sus primeras pruebas unitarias con XCTest (o Swift Testing) y una prueba de UI.
    Practique las flashcards filtradas por Junior, más las categorías de Swift y SwiftUI. Lea los temas de estudio 01, 02, 03 y 06.
  2. 2

    Mid

    Domina features de principio a fin: estado, datos, tests.

    Posee funcionalidades de principio a fin — estado, datos, persistencia y pruebas — con poca orientación. El objetivo es profundidad en el kit de herramientas cotidiano de iOS y el inicio de la conciencia de rendimiento y concurrencia.

    Ya puedes

    • Modelar estado limpiamente con el framework de Observación (@Observable), @Environment y flujo de datos claro.
    • Separar UI de lógica con MVVM; inyectar dependencias en lugar de codificar singletons.
    • Persistir datos con SwiftData o Core Data, y cachear respuestas de red.
    • Usar concurrencia estructurada: async let, task groups y @MainActor para actualizaciones de UI.
    • Escribir pruebas unitarias significativas y algunas pruebas de UI; leer un reporte de crash y un trace básico de Instruments.

    Mejora con

    • Concurrencia estricta de Swift 6: actors, Sendable, aislamiento y corrección de carreras de datos en tiempo de compilación.
    • Rendimiento: diffing en SwiftUI, identidad, stacks perezosos, presupuestos de imagen/memoria y exploraciones profundas de Instruments.
    • Interoperabilidad con UIKit — UIViewRepresentable, hosting controllers — y cuándo recurrir a UIKit.
    • Patrones de arquitectura más allá de MVVM (unidireccional / estilo TCA) y modularización con SPM.
    Practique flashcards de Intermedio + Senior en Concurrencia, Datos y Red y Pruebas. Lea los temas de estudio 05, 07, 08 y 10, luego intente una prompt de codificación.
  3. 3

    Senior

    Profundidad en concurrencia, rendimiento, arquitectura y seguridad.

    Es la persona que toma las decisiones difíciles: corrección de concurrencia, rendimiento bajo carga, profundidad nativa y seguridad. Puede justificar compromisos y mentorear a otros, y posee la calidad desde el simulador hasta la App Store.

    Ya puedes

    • Razonar sobre la seguridad contra carreras de datos de Swift 6: aislamiento de actors, Sendable, @MainActor y límites asíncronos.
    • Diagnosticar y corregir problemas de rendimiento con Instruments (Time Profiler, Allocations, SwiftUI, Hangs).
    • Conectar SwiftUI y UIKit en ambas direcciones, e integrar frameworks nativos con confianza.
    • Configurar CI/CD (Xcode Cloud o Fastlane), firma, TestFlight y un proceso de lanzamiento repetible.
    • Manejar seguridad y privacidad: Keychain, biometría, App Transport Security y privacy manifests.

    Mejora con

    • Diseño de sistemas para móvil: arquitectura modular, sincronización offline-first y lanzamientos con feature flags.
    • Aprovechamiento de la plataforma: construcción de herramientas, SwiftLint/format, sistemas de diseño compartidos y paquetes Swift reutilizables.
    • Ingeniería de lanzamiento profunda: phased releases, implementaciones escalonadas y pipelines de crash/observabilidad.
    • Liderar decisiones técnicas y escribir los ADRs que el equipo seguirá.
    Practique flashcards de Senior en Rendimiento, Seguridad y CI/CD y Herramientas. Lea los temas de estudio 09, 12, 13 y 14, más las exploraciones profundas de Arquitectura, luego intente una prompt de diseño de sistemas.
  4. 4

    Arquitecto

    Diseño de sistemas, modularización, apalancamiento de plataforma y equipo.

    Diseña sistemas, no solo funcionalidades. Establece la arquitectura, los límites de módulos y las decisiones de plataforma que dan ventaja a todo un equipo — y mantiene una app distribuible mientras escala a muchos ingenieros y millones de usuarios.

    Ya puedes

    • Diseñar una app modular multi-paquete: límites claros, dirección de dependencias y aislamiento de funcionalidades.
    • Elegir arquitectura (MVVM, unidireccional/TCA, Clean) según el equipo y producto, y defender los compromisos.
    • Poseer build y lanzamiento a escala: caché, CI paralelo, estrategia de firma y phased rollouts.
    • Establecer estándares transversales: observabilidad, accesibilidad, localización y postura de seguridad.
    • Tomar decisiones de plataforma — adoptar nuevas APIs deliberadamente manteniendo un objetivo de despliegue mínimo razonable.

    Mejora con

    • Avanzar hacia la inteligencia en el dispositivo: pipelines de Core ML e integración de Apple Intelligence.
    • Influencia más allá de la base de código: estándares de contratación, estrategia técnica y experiencia de desarrollador.
    • Contribuir al ecosistema — código abierto, discusiones de Swift Evolution y charlas en conferencias.
    Viva en las exploraciones profundas de Arquitectura y las flashcards de Arquitecto. Lea los temas de estudio 11 y 12, y ensaye las prompts y pitches de diseño de sistemas en voz alta.
  5. 5

    Beyond

    Frontera: IA en el dispositivo y empujar la plataforma.

    La frontera: empujar la plataforma misma. IA en el dispositivo, nuevas modalidades, y estar temprano — y ser creíble — en lo que Apple lance a continuación, desde Apple Intelligence hasta computación espacial.

    Ya puedes

    • Integrar Core ML, Vision, Natural Language y Speech para inferencia en el dispositivo y privada.
    • Adoptar Apple Intelligence y modelos fundamentales en el dispositivo de forma reflexiva, con respaldos elegantes.
    • Perfilar y reducir modelos, y razonar sobre latencia, memoria y batería para ML en el dispositivo.
    • Prototipar con nuevas plataformas y APIs tempranamente, y distribuir detrás de banderas.

    Mejora con

    • Mantenerse actualizado con cada WWDC y convertir nuevas APIs en funcionalidades diferenciadas distribuidas.
    • Compartir lo que aprenda — escribir, hablar y open-source de las partes difíciles.
    Practique las flashcards de Beyond y IA en el Dispositivo, lea el tema de estudio 15, y estudie la exploración profunda de IA en el dispositivo. La propia búsqueda de esta guía ejecuta un pequeño modelo completamente en su navegador — un ejemplo funcional de la idea.