Desarrollador Flutter
Role details
Job location
Tech stack
Job description
Capacidad de Abstracción y Diseño de APIs: Habilidad para pensar de manera genérica y crear componentes reutilizables. Debes saber separar los contratos (interfaces puras) de sus implementaciones tecnológicas. Entiendes, por ejemplo, por qué un servicio transversal (como analítica o red) se divide en un paquete que define "qué hace" y otro que define "cómo lo hace un SDK concreto", evitando acoplar dependencias de terceros directamente en las aplicaciones., Diseño antes que código: Tienes claro en tu cabeza qué quieres construir y por qué antes de escribir una sola línea. Sabes que entender el problema y diseñar la solución estructural es más importante que la mera ejecución del código. Uso crítico de IA: Usas asistentes de código como apoyo para acelerar tareas mecánicas, pero la dirección técnica es tuya. No generas código a ciegas: entiendes cada línea que produces, sabes por qué tiene esa forma, qué implicaciones tiene y cómo mejorarla. Pensamiento Sistémico: Entiendes "la foto completa". Sabes que un cambio en un paquete core o en un design system impacta a múltiples aplicaciones y actúas en consecuencia. Adaptabilidad: Tienes la madurez para convivir con código legacy mientras ejecutas migraciones hacia la nueva arquitectura, entendiendo los trade-offs entre perfección técnica y entrega de valor. Proactividad y Resiliencia: Eres un "problem solver". Si la CI se rompe o un plugin falla, mantienes la calma, aíslas el problema, propones alternativas y avanzas. Comunicación: Capacidad para explicar decisiones técnicas de forma clara a perfiles técnicos y de producto. Desarrollador Flutter para incorporarse al equipo de desarrollo de un ecosistema de aplicaciones móviles de gran escala y alto impacto. Trabajamos con un estándar técnico alto: ecosistema modularizado (separación estricta entre contratos, runtime y shell), Clean Architecture, Bounded Contexts y reglas de calidad estrictas en CI/CD.
Requirements
Flutter & Dart: Conocimiento del framework y de Dart 3 (sealed classes, pattern matching). Capacidad para perfilar y optimizar rendimiento usando Flutter DevTools. Arquitectura: Experiencia demostrable en ecosistemas multi-app (monorepos, workspaces, paquetes locales). Clean Architecture, inyección de dependencias y separación por capas (Domain, Data, Application, Presentation). Gestión de estado y flujos de datos: Experiencia con Riverpod y patrones unidireccionales (tipo MVI). Acostumbrado a trabajar con estados de UI inmutables que representen claramente las fases de carga y a gestionar el flujo de datos y errores mediante programación funcional (tipos result/either). Nativo (iOS & Android): No buscamos un desarrollador nativo puro, pero es imprescindible moverse con soltura en Xcode y Android Studio. Debes saber resolver conflictos en gestores de dependencias nativos, entender los build variants/flavors, depurar plugins y no bloquearte si el error viene de Swift o Kotlin. Testing Estratégico: Experiencia escribiendo tests unitarios sólidos (especialmente en dominio) y criterio para saber cuándo aplicar tests de integración o golden tests., Idiomas requeridos
- Buena comunicación oral y escrita.