Roles
En esta sección explicamos los diferentes roles manejados dentro de esta área. Nótese que los roles descritos no son excluyentes e.g. Un desarrollador puede ser un desarrollador senior, y al mismo tiempo ser team lead y project lead.
Team lead
Persona encargada del área de desarrollo en Flutter. Tiene las siguientes responsabilidades:
- Asigna los roles de cada miembro del equipo de backend.
- Se encarga de que todo el equipo siga el manual presentado.
- Introducción de nuevas tecnologías y tendencias al proceso de desarrollo.
- Organizar eventos y/o reuniones dentro del área de desarrollo en Flutter.
- Documentar y mejorar los procesos de esta área.
- Fomentar la exposición de esta área.
Por estas razones un team lead debe contar con las siguientes características:
- Debe de ser un programador Senior o un Mid-level casi Senior.
- Conocimiento de metodologías ágiles.
- Tener conocimiento del funcionamiento de todas las áreas dentro de la empresa.
- Tener habilidades blandas: Principalmente buenas habilidades para comunicarse con el equipo y/o otras personas dentro y fuera de la empresa, tener cualidades de líder, y tener un buen manejo de su tiempo.
Project lead
Persona encargada de guiar un proyecto en específico. Tiene las siguientes responsabilidades:
- Crear las épicas y las tareas correspondientes a un proyecto.
- Asignar las tareas de a los miembros del equipo.
- Revisar a lo largo del sprint que se cumplan con las tareas de todos los miembros.
Debe contar con las siguientes características:
- Debe de ser un programador Senior o un Mid-level casi Senior.
- Conocimiento de metodologías ágiles.
- Buenas habilidades de comunicación.
Desarrollador junior
Puede realizar las siguientes tareas:
- Implementar interfaces de usuario dado un diseño.
- Implementar los widgets generales del proyecto.
- Realizar interfaces responsive.
Para entrar en esta categoría debe tener los siguientes conocimientos:
- Bases de la programación en dart.
- Programación orientada a objetos.
- Colecciones de dart (List, Set, Maps and Queues).
- Bases de la programación asíncrona en dart (async, await and futures).
- Diferencias entre stateful y stateless widgets y cuando usarlos.
- Qué es el BuildContext
- Cómo agregar paquetes.
- Los widgets más básicos (Scaffold, Row, Columns, Containers …).
- Sistemas de control de versiones (git y github).
Desarrollador mid
Puede realizar lo que un desarrollador junior y las siguientes tareas:
- Utilizar un manejador de estado para agregar la lógica de negocio a las interfaces.
- Realizar interfaces interactivas y reactivas.
- Escribir tests para controladores e interfaces.
Para entrar en esta categoría debe tener los siguientes conocimientos:
- Conocer lo básico de los manejadores de estados usados en la empresa (Getx, BLoC)
- Cómo funcionan los repositorios o controladores con la lógica de negocio.
- Routing en Flutter.
- Un buen conocimiento de los widgets de Flutter.
- Animaciones en Flutter.
- Las bases del uso de streams en Flutter.
Desarrollador senior
Puede realizar lo que un mid-senior y las siguientes tareas:
- Crear repositorios y/o controladores con la lógica de negocio.
- Crear la estructura de un proyecto.
- Evaluar y mejorar el rendimiento de una aplicación.
- Crear el flujo de una aplicación.
- Saber sobre manejadores de estado.
- Tests de integración
- Lanzar una aplicación a producción.
Para entrar a esta categoría debe tener los siguientes conocimientos
- Programación asíncrona en dar avanzada (streams, isolates, event loops).
- Conocer sobre el funcionamiento del backend (Firebase services).
- Conocer la mayoría de widgets en Flutter.
- Previous Manual Flutter
- Next Herramientas