Plan de formación en RadMas Technologies

Desde octubre he estado impartiendo un plan de formación en Rad(+) Technologies.

RadMas Technologies

RadMAs es una empresa de desarrollo de software a medida especializada en Software Libre.

Desarrollan diferentes aplicaciones como por ejemplo Mejora Tu Ciudad.

Jorge Hernán, el responsable del equipo de desarrollo, se puso en contacto conmigo porque me conoció a través de twitter.

Jorge me transmitió que querían reforzar los conocimientos de testing en el equipo de mobile.

Lo mejor de todo fue el trato tan cercano y cálido que tuvieron conmigo desde el primer momento, sin duda el equipo es excepcional.

Plan de formación

Después de una reunión para acercar posturas acordamos un plan de formación que iríamos dividiendo en fases, ya he impartido 2, la primera de Octubre a Noviembre y la segunda de Febrero a Marzo.

Primera fase

La primera fase estuvo dedicada a repasar principios básicos de desarrollo de software necesarios para poder crear una arquitectura testable en una aplicación y empezar con testing desde un punto de vista general:

  • Principios SOLID
  • Profundizando en el principio de inversión de dependencia
  • Introducción a Testing
  • Introducción a TDD
  • Introducción a Inyección de Dependencias

Segunda fase

El principio de la segunda fase empezamos repasando los avances que habían hecho desde que terminó la primera fase.
Fue muy gratificante ver los avances que habían realizado, empezando a escribir test y a aplicar inyección de dependencias.

Posteriormente la segunda fase ha estado centrada en arquitectura de software y empezar a conocer frameworks de test específicos de Android e iOS:

  • Introducción a Clean Architecture
  • Clean architecture - Capa de presentación
  • Clean architecture - Capa de dominio y datos
  • Testing en Android con Espresso
  • Testing en iOS con Kif

Cómo estaban organizadas las sesiones de formación

Las sesiones de formación han estado dividas en parte teórica y parte práctica.

La parte práctica consistía en katas que se realizaban haciendo Pair programming.

Para los katas hicimos una mezcla de katas clásicos de TDD con otros que no eran típicos de crear algo desde cero.

El motivo es que el equipo de RadMas no iba a tener que crear desde cero una aplicación sino refactorizar una aplicación ya existente.

Así que los katas consistían en ir refactorizando poco a poco, con cada kata, una aplicación existente.

Esta aplicación previa no tenía arquitectura testable ni tests.

El objetivo principal era ir cogiendo experiencias en escenarios que se encontrarían después en su día a día.

Algunos de los katas se encuentran en mi repositorio de GitHub:

Estos y otros katas son los que suelo utilizar en las formaciones que imparto.

Conclusiones

Un plan de formación de este tipo es muy gratificante porque se vive de cerca la evolución de un equipo.

No es la típica formación de un par de horas donde no vuelves a ver al equipo y no se puede ver en primera persona el progreso que se consigue.

Estoy seguro que si siguen con el mismo entusiasmo por mejorar y aprender conseguirán el objetivo que se han marcado.

Yo por mi parte no puedo estar más contento con la experiencia durante las sesiones de formación que llevamos desde finales del 2016 hasta principios de este año y con el feedback recibido hasta el momento:

"Jorge Sánchez estuvo impartiendo en mi empresa clases acerca de Clean Code. Gracias a las técnicas que nos enseñó hoy nos está siendo más fácil el mantenimiento de las aplicaciones que desarrollamos gracias a que aplicamos lo aprendido en las clases de Jorge.".
- Yhondri Josué Acosta Novas


"Jorge es un profesional serio, comprometido con su trabajo y en continuo reciclaje de sus conocimientos. Ha demostrado contar con gran experiencia en las técnicas para la construcción y mejora de software moderno (CLEAN, DDD, SOLID, TDD, CI, etc.). La formación impartida al equipo de Mejora Tu Ciudad está permitiendo que tanto en el ámbito mobile como en backend nuestro producto esté progresando muy positivamente, con resultados observables tanto técnicamente como por parte del cliente final".
- Fernando Moro Hernández


"Jorge nos lleva ayudando durante varias semanas a asentar conceptos acerca de principios de desarrollo SOLID, TDD, buenas prácticas, etc. Gracias a su formación, ya contamos con herramientas de testing en nuestros desarrollos de aplicaciones. La formación se estructuraba en sesiones teóricas así como prácticas, en forma de katas de programación, pudiendo aplicar los conocimientos de primera mano. Las sesiones son amenas y muy entretenidas, cualquier duda o pregunta nos atiende sin ningún problema. Además también adjunta al final de las sesiones un apartado de bibliografía recomendada para continuar con la adquisición de los conocimientos. En definitiva la formación es bastante completa y útil para desarrolladores que buscan limpieza y organización de código".
- Carlos Ramírez Lizán

Muchas gracias a Javier Pascual, Jorge Hernán, Fernando Moro, Alvaro Martín, Yhondri Josué, Carlos Ramírez, Veronica Brynza, Jose Marbin y David.