Junior → Arquitecto → Más allá
Hoja de Ruta del Ingeniero
Un camino de aprendizaje graduado por nivel a través de todo lo que hay 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 puedas practicar exactamente donde estás.
- 1
Junior
Construye y publica features con guía.
Construyes pantallas y distribuyes features con guía. El objetivo es fluidez en los fundamentos — basics de Kotlin, composables, estado simple, listas, y navegación — para que puedas entregar una pantalla funcional de principio a fin.
Ya puedes
- ✓Escribir Kotlin idiomático: val/var, seguridad de nulos (?., ?:), data classes, y expresiones when.
- ✓Construir UI con Compose: Column/Row/Box, componentes de Material 3, y Modifiers.
- ✓Mantener estado simple de UI con remember / mutableStateOf y elevarlo a un composable sin estado.
- ✓Mostrar una lista con LazyColumn y navegar entre pantallas con Navigation-Compose.
- ✓Obtener datos con una función suspend y renderizar estados de carga / error / vacío.
Mejora con
- →Fundamentos de coroutines: viewModelScope, Dispatchers, y seguridad del principal con withContext.
- →ViewModel + StateFlow, y collectAsStateWithLifecycle para recolección segura.
- →El ciclo de vida de Activity y por qué los cambios de configuración recrean la pantalla.
- →Tu primer test unitario con JUnit + MockK, y un test de UI Compose.
Practica las flashcards filtradas a Junior, más las categorías Kotlin y Estado y Flow. Lee los temas de estudio 01, 04, 06, y 07. - 2
Mid
Domina features de principio a fin: datos, estado, tests.
Eres dueño de features de principio a fin — datos, estado, tests, y pulido — con poca supervisión. El objetivo es profundidad en el toolkit cotidiano de Android y el inicio de la conciencia arquitectónica y de rendimiento.
Ya puedes
- ✓Usar coroutines y Flow bien: concurrencia estructurada, StateFlow/SharedFlow, combine, flatMapLatest.
- ✓Aplicar MVVM con un UiState inmutable único y un repository como fuente de verdad.
- ✓Persistir con Room y DataStore, y construir una capa de red Retrofit/OkHttp tipada.
- ✓Conectar inyección de dependencias con Hilt y mantener clases inyectadas por constructor.
- ✓Escribir tests unitarios + de integración y algunos tests de UI Compose; sobrevivir muerte del proceso con SavedStateHandle.
Mejora con
- →Rendimiento de Compose: estabilidad, ámbito de recomposición, derivedStateOf, lecturas diferidas.
- →Clean Architecture / MVI, modularización, y la capa de dominio.
- →Paging 3, WorkManager, deep links, y sincronización offline-first.
- 3
Senior
Profundidad en arquitectura, rendimiento, nativo y seguridad.
Traes profundidad en arquitectura, rendimiento, concurrencia, y testing, y elevas al equipo a tu alrededor. El objetivo es ser la persona que perfila en lugar de adivinar y que razona sobre hilos, leaks, y estabilidad al dedillo.
Ya puedes
- ✓Explicar el modelo de hilos, concurrencia estructurada, y cancelación con precisión.
- ✓Perfilar y arreglar jank, memory leaks, y arranque en frío lento con Perfetto / Macrobenchmark / LeakCanary.
- ✓Diseñar Compose para estabilidad y añadir Baseline Profiles para proteger rutas calientes.
- ✓Razonar sobre seguridad en categorías de modelo de amenaza (Keystore, EncryptedSharedPreferences, pinning, Play Integrity, MASVS).
- ✓Ser dueño de un release: CI, tests instrumentados, lanzamiento escalonado, tasa de crash-free, y un kill switch.
Mejora con
- →Diseño de sistemas a escala: offline-first, sincronización y resolución de conflictos, tiempo real, paginación.
- →Estrategia de modularización, convention plugins, y presupuestos de tiempo de build/observabilidad.
- →Mentorear a través de revisiones y multiplicar un equipo vía módulos compartidos.
Filtra flashcards a Senior y las categorías Rendimiento, Coroutines, DI, y Seguridad. Lee los temas de estudio 14–19 y la guía completa de Arquitectura. - 4
Arquitecto
Diseño de sistemas, decisiones de plataforma, apalancamiento del equipo.
Diseñas sistemas Android de principio a fin y tomas decisiones de plataforma que mueven a todo un equipo. El objetivo es la toma de decisiones antes del código — para el peor dispositivo, peor red, y peor momento (muerte del proceso bajo presión de memoria).
Ya puedes
- ✓Diseñar una feature de principio a fin y justificar arquitectura, estado, navegación, y estrategia de datos.
- ✓Planificar modularización, el grafo de dependencias, y migraciones incrementales con riesgo acotado.
- ✓Configurar CI/CD, infraestructura de build, generación de baseline profiles, y observabilidad en producción.
- ✓Definir la postura de seguridad y la estrategia de testing en toda la organización.
- ✓Multiplicar un equipo vía módulos compartidos, convention plugins, y revisión de código.
Mejora con
- →Estrategia de plataforma a nivel de organización: alcance de Kotlin Multiplatform, delivery dinámico, y tiempo de build a escala.
- →Presupuestos de costo/rendimiento, SLOs, y evaluación de tecnología emergente (AI en el dispositivo).
Filtra flashcards a Arquitecto y la categoría Arquitectura. Trabaja la guía de Arquitectura + Inmersiones profundas y los temas de estudio 08, 12, 18. - 5
Beyond
Frontera: IA en el dispositivo y empujar la plataforma.
La frontera — donde empujas lo que una app Android puede hacer. El objetivo es traer capacidad genuinamente nueva en el dispositivo y ser pionero en patrones que el resto del equipo adoptará.
Ya puedes
- ✓Ejecutar modelos generativos en el dispositivo con Gemini Nano (AICore / APIs ML Kit GenAI) y MediaPipe LLM Inference, razonando sobre la compensación de privacidad/costo/latencia.
- ✓Usar TensorFlow Lite / LiteRT para visión y audio con delegados GPU y cuantización.
- ✓Empujar la plataforma: Kotlin Multiplatform, Compose Multiplatform, e interop profundo del sistema.
Mejora con
- →Contribuir upstream, prototipar con nuevos internos de Jetpack/Compose, y establecer la dirección del equipo en tecnología emergente.
Filtra flashcards a Beyond y la categoría AI en el dispositivo, y lee el tema de estudio 20.