¿ Otro curso más?

Te ahorraré tiempo, voy a intentar venderte este curso de Refactoring.

Hace un año cuando estaba vendiéndote el anterior, hacia una pequeña declaración de intenciones acerca del curso…

Las conté en el articulo : “Otro curso de Refactoring”.

Hice esa Kata Bowling siguiendo el camino empezado con la Mars Rover, y grabaré una sobre la clásica kata del juego de la vida de Conway en Decharlas.

Sigo con Borillo trabajando el formato Agile at Work y preparando nuevos formatos de capacitación para departamentos de desarrollo.

Con Sergio, hubo muy buena química como podéis ver en el tráiler. Hicimos un poco el bobo y lo que podemos afirmar es que somos amenos. Son 20 horas de video, aun poniéndolas a doble velocidad, pueden aburrir a cualquiera. Y es que grabamos mas o menos eso. Bueno, en realidad mucho mas porque ensayamos un montón de cosas que no salieron bien.

Así ha quedado la tabla de contenidos:

Refactoring Básico

“Mecánicas y OpenScad”: Refactorizando un proyecto en Openscad, desde un IDE sin concesiones donde las mecánicas son importantes, mostramos los refactors más básicos.

“De procedural a objetos”: Partimos de un script procedural en PHP. Separamos las responsabilidades en objetos y aprendemos buenas prácticas de implementación y repasamos refactors de movimiento de responsabilidades.(move method, pull-up,..etc)

“Reorganizando código”: Usamos una gema de Ruby con buena cobertura de test para aprender como detectar las colaboraciones y crear las abstracciones correspondientes. Movemos mucho código!

Refactorizando a Patrones

“Controlando la creación de objetos”: Pasamos a Java y usamos Jodatime para ilustrar refactors a patrones de control de la creación de objetos. Singleton, Pools, Factorías.

“Extrayendo nuevas abstracciones”: Seguimos con Jodatime, esta vez nos centramos en como buscar candidatos a refactorizar. Cazamos Data Clumps y los refactorizamos a Value Objects.

“Extrayendo colaboraciones”: Javascript y Math JS para mostrar como refactorizar a Builders y Parsers.

Refactorizando Proyectos

“Saliendo del framework”: Usamos el código del RailsTutorial de Michael hantl y a partir de este efectuamos una refactorización en paralelo buscando una arquitectura de servicios.

“Refactor sobre legacy”: Investigamos sobre el venerable Jenkins como hacer refactors en bases de código de manera que tengan el mínimo impacto sin renunciar a código limpio y a una mejora del diseño de la solución.

“Smooth refactor”: Volvemos la vista atrás sobre un antiguo proyecto nuestro: Cuore, un framework javascript para Single Page Application. Vamos a ver como surgen nuevas ideas de refactor y cómo hacerlas manteniendo el flow y sin afectar a los usuarios de la librería de código.

No obstante , el curso anterior resultó ser bastante malillo...

Volvimos locos con el ritmo de grabaciones a Chaume y al bueno de Ricardo. A los alumnos, los mareamos con las fechas de inicio y el ritmo de lanzamiento de cada sesión. Los foros fueron un desastre, nunca me han gustado para cursos. Ni funcionaron bien ni les presté la atención suficiente. Hubo pocas horas de dudas y estuvieron descoordinadas. Los alumnos nos pidieron mas estructura en el curso y nosotros habíamos apostado por un formato muy libre de exploración de los temas. Dio buen resultado, pero aunque algunos valientes permanecieron, muchos fueron los que cayeron.

Así que hemos invitado a este curso a los alumnos de la primera edición e intentaremos que tengan junto con vosotros una buena experiencia de aprendizaje.

Una vez grabados todos los contenidos, nos centraremos en la explicación de éstos. Haremos dos horas a la semana de hangouts para sesiones de dudas y corrección de ejercicios, que quedarán grabadas para todos los alumnos.

El calendario de publicación también esta claro, el 22 de febrero, día de lanzamiento, saldrá un primer bloque de tres sesiones que cubre el Refactoring básico. Tendremos seis semanas para completar este material. Después saldrá el bloque de Refactor a patrones y otras seis semanas hasta el de Refactorizando proyectos.

Cuenta con que el curso completo son 20 semanas y que con 2 o 3 horas semanales podrás seguirlo cómodamente . Si dispones de mas tiempo para atacar ejercicios y estar en las sesiones de review, puedes sacarle mucho partido.

Esta vez no vamos a usar foros sino un chat, Noisy. Un producto de una startup española que hoy ya es una digna mezcla de Slack y Flowdock orientada a comunidades de programadores, con integraciones en los canales de Github, Trello y demás. Pero sobre todo, con integración de Hubot. Así que el Repli y yo amenazamos con programarnos unos bots muy majetes.

Este es un run abierto y sin límite de plazas y se cerrará el día 22 de febrero.

Será la última vez que lo hagamos. No nos gusta repetirnos. Estoy preparando uno de TDD y el Repli una formación online muy interesante sobre Rails para la GeeksHubsAcademy.

Siempre me da pudor recomendarme a mi mismo y miedo timar a la gente. Pero ha quedado un material estupendo. Estamos muy comprometidos, contamos con Chaume y la GeeksHubsAcademy para que tankeen los problemas, que siempre los habrá, y aun así seguro que abusaremos de tu paciencia.

Si puedes permitírtelo, merecerá la pena. Si no, escríbeme.