Resumen y Reglas
Visión General de los Sprints
El bootcamp está estructurado en 4 sprints, cada uno enfocado en un módulo específico del sistema y en diferentes tecnologías y conceptos. Este enfoque permite un aprendizaje progresivo y la construcción incremental del sistema de feedback.
Conocimientos Desarrollados por Sprint
Además de los objetivos de negocio, cada sprint se centrará en conocimientos técnicos específicos:
Reglas y Directrices
Reglas Generales
-
Participación en las Ceremonias: Todos los miembros del equipo deben participar en las ceremonias de Scrum (Daily, Planning, Review, Retrospective).
-
Comunicación: Mantengan una comunicación transparente y frecuente. Si encuentran dificultades, comuníquenlas lo antes posible.
-
Calidad del Código: Todo el código debe seguir los estándares de calidad establecidos (Clean Code y SOLID).
-
Revisión de Código: Todo el código debe pasar por la revisión de al menos otro miembro del equipo y el tutor tech lead antes de ser integrado.
-
No dividas las historias: Las historias ya están divididas de forma muy granular; dividirlas más generará una granularidad improductiva. La división de tareas también ya está hecha aquí en este manual en las secciones de Épicos Detallados de cada sprint. Modifica la división solo si crees que puede beneficiar en la reducción de conflictos de merge en los pull requests.
Nota
Es muy importante no dividir las historias más de lo que ya están. Creen nuevas historias solo en casos de bugs o ajustes técnicos importantes.
Uso de IA
-
Enfoque AI First: Utilicen herramientas de IA como Flow para aumentar su productividad, pero mantengan el pensamiento crítico.
-
Revisión del Código Generado: Todo el código generado por IA debe ser revisado críticamente antes de ser integrado.
-
Equilibrio: Encuentren un equilibrio entre el uso de IA y el desarrollo de sus propias habilidades técnicas.
Evaluación
Durante el bootcamp, serán evaluados con base en los siguientes criterios:
-
Calidad Técnica: Capacidad para aplicar los conceptos y tecnologías presentados.
-
Colaboración: Participación activa en las ceremonias y contribución al éxito del equipo.
-
Adaptabilidad: Capacidad para aprender nuevas tecnologías y adaptarse a diferentes contextos.
-
Resolución de Problemas: Habilidad para identificar y resolver problemas de forma eficaz.
-
Comunicación: Claridad en la comunicación de ideas, problemas y soluciones.
-
Entrega de Valor: Capacidad para entregar funcionalidades que cumplan con los requisitos de negocio.
Detalles de la evaluación técnica
Aquí está la lista de lo que se evaluará a lo largo del bootcamp. No es necesario estudiar todas estas técnicas de una vez; tendrán la oportunidad de abordarlas todas poco a poco durante el bootcamp. Esta lista está aquí para que tengan conocimiento de que estaremos evaluando estos temas para poder entender en qué contextos de CI&T encajarán al final del bootcamp. Esta es su oportunidad de mostrar qué habilidades prefieren dominar para especializarse dentro de CI&T. Aunque el perfil de Full Stack es muy bueno, los perfiles de especialista en algo como Frontend, Backend o Datos son siempre bienvenidos.
A continuación, un resumen de lo que queremos ver con relación a las competencias técnicas:
- Versionamiento: como el uso del branch model, la creación de commits y la resolución de conflictos. La capacidad de entender y aplicar conceptos de merge también es esencial.
- Programación en JAVA: Queremos que apliquen los conceptos de Spring, JPA, Generics y Junit.
- Desarrollo en REACT: La observación se centrará en el uso eficiente de React Hooks, la componentización granular y las integraciones con Next.js, para garantizar que construyan interfaces modernas y responsivas.
- Python: Evaluaremos su aptitud para aplicar conceptos de programación orientada a objetos con Python, especialmente en la implementación de repositorios y controllers, además de su habilidad para trabajar con entidades.
- DDD (Domain Driven Design): Su capacidad para entender y aplicar los principios de DDD, como la definición de subdominios, entidades, repositorios y servicios.
- TDD (Test Driven Development): La aplicación de pruebas de funcionalidad, integración y desacopladas de la solución, para garantizar la calidad del código y la robustez de las entregas.
- NodeJS: Queremos ver cómo usan Promises, Express y Middlewares.
- SOLID y Estándares de Codificación: La capacidad de aplicar al menos estos 3 principios de SOLID: S, L y D.
- Comprensión de Requisitos: Esperamos que demuestren comprensión de los requisitos del proyecto y sepan cómo dividirlos en tareas manejables, además de entender sus interacciones.
Las competencias comportamentales son tan importantes como las técnicas
Durante el bootcamp, las principales competencias comportamentales (Soft Skills) que vamos a evaluar son:
- Gestión de Actividades: La participación activa en las reuniones, la actualización del estado de las tareas y la colaboración con el equipo son esenciales para el buen desarrollo del proyecto.
- Capacidad de Aprendizaje: La búsqueda de nuevos conocimientos y la disposición para aplicar nuevas habilidades en el día a día son altamente valoradas.
- Proactividad: Queremos ver cómo manejan el feedback y los cambios, manteniendo una actitud colaborativa y alerta a las oportunidades de mejora.
- Comunicación: La expresión clara de ideas, la búsqueda de ayuda cuando sea necesario y la comunicación de los impactos de sus actividades son fundamentales para la integración del equipo.
- Ejecución: Buscamos calidad en sus actividades, con entendimiento del flujo de trabajo del equipo, entrega en el plazo y la identificación de áreas donde pueden mejorar su eficacia.
- Trabajo en Equipo: Queremos observar cómo reconocen la función de cada miembro del equipo, su adaptación a las dinámicas de grupo, participación activa en discusiones y desarrollo de relaciones positivas, respetando las contribuciones de cada uno.
Nota
Ya hemos dicho que el bootcamp no es una competencia, pero estarán siendo evaluados, tanto en la calidad técnica y de código como en el comportamiento. Esto es importante para asignarlos a los equipos después del bootcamp.
Nota
Recuerden que no esperamos que desde el inicio ya tengan estos conocimientos, ¡pero esto es un mapa de lo que pueden desarrollar a lo largo de la pasantía del Bootcamp!
Estructura de Cada Sprint
Cada sprint tendrá una duración de 2 semanas, con la siguiente estructura:
Día 1: Inicio del Sprint
- Sprint Planning: Planificando la entrega del sprint utilizando la guía de las plannings.
- Inicio del Desarrollo: Ronda de Apertura de Historias entre los miembros del equipo.
Días 2-9: Desarrollo
- Daily Scrum: Sincronización diaria del equipo.
- Desarrollo: Implementación de las funcionalidades.
- Revisión de Código: Revisión continua del código producido.
Día 10: Cierre del Sprint
- Finalización del Desarrollo: Conclusión de las tareas pendientes.
- Sprint Retrospective: Reflexión sobre el proceso e identificación de mejoras.
- Cafecito: Relajarse, tomar un cafecito y hacer networking.
Nota
El proyecto fue planeado para ejecutarse en 4 sprints, cada uno enfocado en un módulo específico y con un objetivo de negocio bien definido. Pero es importante recordar: sprint y feature son cosas diferentes. No se preocupen si no siempre están alineados. Aquí, lo principal es aprender del proceso. Esta simulación es una oportunidad para crecer, entonces, más que solo entregar el producto a tiempo, queremos que cada sprint les ayude a entender mejor cómo funciona todo.
Próximos Pasos
Ahora que comprenden la estructura y las reglas del bootcamp, están listos para sumergirse en el primer sprint. El Sprint 1 se centrará en la gestión de usuarios y autenticación, estableciendo la base para el resto del sistema.
Recuerden que el bootcamp es un viaje de aprendizaje. No se preocupen por dominar todas las tecnologías y conceptos desde el principio. Lo importante es mantener una mentalidad de crecimiento y aprender de cada desafío.
¡Buena suerte y feliz desarrollo