Un verdadero senior no pide permiso para refactorizar

«Cualquiera es capaz de escribir código que una máquina pueda ejecutar. Los buenos programadores escriben código que otras personas pueden entender»

Refactoring Sostenible

Técnicas para mantener el legacy code bajo control

400€

La palabras de arriba las pronunció Martin Fowler hace más de 20 años y siguen estando más vigente que nunca.

Aún hoy en día la mayoría de los programadores siguen dejando el código a medias.


Y si ChatGPT, Sonet, Llama (pon aquí el LLM que quieras) también.


Digo a medias porque aunque la funcionalidad esté completa el trabajo está sin acabar.


Me explico.


Que el código funcione no significa que esté terminado.


Y es que los developers muchas veces nos olvidamos de la otra mitad del trabajo.


La que tiene que ver con hacer el código sostenible.


Con sostenible me refiero a fácil de mantener.


Y con fácil de mantener quiero decir sencillo de cambiar.


Si, cambiar. 


Porque hay una verdad absoluta en el software: si un proyecto tiene cierto éxito cambiará.


¿Y cómo se consigue esto?


Pues escribiendo código basado en la simplicidad.


Y es que como decía Steve Jobs: la simplicidad es la máxima sofisticación.


El problema es que escribir código simple es una tarea tremendamente compleja.


Requiere de un nivel de consciencia y pragmatismo a la hora de codificar totalmente fuera de lo común.


Verás.


Cuando programamos desconocemos tantas cosas que vamos acumulando deuda técnica sin darnos cuenta.


A veces porque no nos preocupamos de pensar si la manera en la que estamos desarrollando una funcionalidad es la más simple.


O quizás sea por las prisas y la sensación de urgencia constante.


Otras ni siquiera somos conscientes de que estamos arruinando el código, simplemente ocurre por desconocimiento o falta de entrenamiento.


Desconocimiento unas veces de las necesidades reales del negocio y otras veces de la propia técnica.


La realidad es que nadie escribe el código perfecto a la primera.


Ni tú.


Ni yo. 


Ni nadie.


Por más cuidado que pongas (o por muy bueno que seas) cometerás errores de diseño que solamente se pueden subsanar de una manera:


Mediante la refactorización permanente, diaria. No hay otra.


«El product manager no me deja escribir más condicionales»


Esto no lo escucharás nunca salir de su boca.

Lo que sí escucharás es que no hay tiempo para refactorizar, para hacer tests o para dedicar tiempo a un buen diseño.

Es cierto que existe la posibilidad de que cualquiera de nosotros termine dirigido por un micromanager.


Ya sabes, de esos que están todo el día encima de uno tocando las narices.

Aunque admito que esto puede ser un problema, descargar la responsabilidad en otras personas no es la solución.


Tenemos que preguntarnos dónde está el límite entre las tareas de las que somos responsables como programadores y las que son trabajo de otro.

¿A qué no le dices al manager cuantos condicionales o cuantas funciones tienes pensado escribir en el próximo sprint?


Sería ridículo hacerlo, ¿verdad?

Entonces, por qué pedimos permiso para refactorizar, hacer tests o dedicar tiempo a un buen diseño, en lugar de seguir haciendo ñapas…


Déjame adivinar, seguro que te dicen todo el rato:

“Ahora no hay tiempo para refactorizar, ya lo haremos cuando se pueda”.


A ver.

Esta frase tendría sentido si no se abusara de ella.


Hay ocasiones en las que esto es así pero está claro que no es la mayor parte del tiempo.

Y es que un producto de calidad no se puede desarrollar en permanente situación de urgencia.


Importante y urgente no son lo mismo.

Y no todo es igual de importante ni de urgente.


La realidad es que cuando tienes soltura refactorizando desarrollas más rápido que sin hacerlo porque ahorras tiempo depurando.

Verás.


El cuello de botella de los proyectos no está en el teclado.

La mayor parte del tiempo se esfuma tratando de entender el código para averiguar dónde hay que introducir los cambios.


Se malgastan mucho más recursos en leer y depurar el código que en escribirlo.

Por esta razón un verdadero Senior NO pide permiso refactorizar.


Un verdadero senior NO pide permiso para mejorar el código cada vez que tiene ocasión (pero si consensúa las decisiones que impactan en el negocio).

En realidad ningún programador que sepa lo que está haciendo debería pedir permiso para refactorizar.


No tiene que ver con ser junior o senior.

Ahora bien, pedir permiso para formarse es otra cosa…


Si no tienes experiencia ni haciendo tests, ni refactorizando y quieres empezar a hacerlo tienes que comunicarlo.

Sobre esto no hay duda al respecto.


Hay que entender que refactorizar es más que una tarea técnica.

Refactorizar tiene valor de negocio porque su función principal es asegurar que el lenguaje y el conocimiento del dominio están reflejados en el código.


Y precisamente esta es la razón por la que hemos creado esta formación.

Aquí tienes un breve resumen de lo que te encontrarás dentro:


✔ Qué es el Legacy Code y qué no. Y las técnicas más importantes para mantenerlo bajo control.

✔ Los 5 principios básicos que tienes que conocer para evitar que el código se te vaya de las manos.


✔ Las herramientas clave para que puedas transformar el código legado en un greenfield de nuevo. Con el tiempo, tendrás la sensación de trabajar como en un proyecto empezado desde cero.

✔ Dos conceptos fundamentales para escribir código simple y fácil de mantener. Dos conceptos que son como las leyes de la física del diseño de software.


✔ Buenas prácticas de refactoring. Aprenderás a distinguir qué puedes (y debes) refactorizar y qué no.

✔ El arte de mejorar la legibilidad y el diseño sin romper nada. Aprenderás a plasmar en el código el conocimiento adquirido sobre el negocio.


✔ Las 3 estrategias más importantes (+1 método) para refactorizar con éxito.

✔ Las 10 técnicas de refactoring con más ROI. Pondremos el foco en priorizar aquellos cambios que producen el máximo retorno de inversión con el menor riesgo.


✔ Un taller práctico, para que pongas a prueba tus habilidades, con ejercicios que muchas veces sorprenden hasta a los desarrolladores más experimentados.

✔ Los 20 Code Smells más importantes, junto con ejemplos reales, para que aprendas a diferenciar qué código puede ser potencialmente un antipatrón y cuál no.


✔ Siempre decimos que los tests son nuestra red de seguridad a la hora de refactorizar, pues en los videos sobre Testing Legacy Code aprenderás 4 estrategias para añadir tests a código difícil de probar.

✔ Una técnica muy simple pero efectiva que te ayudará a validar la calidad de tus tests antes de empezar a refactorizar.


✔ Una masterclass de Refactoring a Arquitectura Hexagonal que sin duda es más completa que muchos cursos de arquitectura que hay en el mercado (bien podría haberla vendido por separado). 

✔ En la sección Refactoring Frontend aprenderás a cómo meterle mano a un proyecto escrito en React muy enrevesado. 


Lo primero que haremos es aplicar algunas estrategias para poder añadirle tests y luego poco a poco iremos refactorizando, sin romperlo en ningún momento, hasta dejarlo encaminado.

Todo esto y lo mismo alguna cosa más (seguro) en la mejor formación que encontrás sobre refactorización.


Refactoring Sostenible

Técnicas para mantener el legacy code bajo control

400€

Una formación de alto nivel que incluye:

✓ Acceso de por vida, nada de suscripciones.

✓ Más de 100 videos teóricos y prácticos. Son lecciones concisas, no te haremos perder el tiempo dando rodeos.

✓ Katas, ejercicios y repositorios de código para que aprendas haciendo.

✓ Acceso a las actualizaciones que hagamos en las futuras ediciones del curso.

✓ Soporte con revisiones de código durante 6 meses.

Si aún no lo tienes claro,
aquí tienes los contenidos detallados


Se trata de una formación de alto nivel organizada en 14 apartados que incluye más de 100 videos teóricos y prácticos. Las lecciones son concisas, valoramos tu tiempo tanto como el nuestro, así que no te haremos perderlo dando rodeos.

  1. Introducción
Disponible en días
días después de inscribirte
  2. Repaso: Las reglas del Diseño Simple y POLA
Disponible en días
días después de inscribirte
  3. Repaso: Cohesión y Acoplamiento
Disponible en días
días después de inscribirte
  4. Refactoring Kata: Theatrical Players
Disponible en días
días después de inscribirte
  5: Fundamentos de Refactoring
Disponible en días
días después de inscribirte
  6: Estrategias de Refactoring
Disponible en días
días después de inscribirte
  7. Técnicas de Refactor basadas en ROI
Disponible en días
días después de inscribirte
  8. Refactoring Workshop
Disponible en días
días después de inscribirte
  9. Code Smells
Disponible en días
días después de inscribirte
  10. Testing Legacy Code
Disponible en días
días después de inscribirte
  11. Refactoring Kata: Gilded Rose
Disponible en días
días después de inscribirte
  12. Refactoring a Arquitectura Hexagonal
Disponible en días
días después de inscribirte
  13. Refactoring Legacy Frontend
Disponible en días
días después de inscribirte
  14. Estrategias para migrar la Arquitectura Legada
Disponible en días
días después de inscribirte

Preguntas que quizás te estás haciendo


- ¿Qué conocimientos previos necesito?

Al menos debes tener unas nociones básicas de programación y si tienes algo de experiencia haciendo testing mejor. El curso está pensado para que tanto los developers juniors como los más seniors puedan sacarle partido. Pero si no sabes programar nada, este curso no es para ti.

- Normalmente programo en otro lenguaje, ¿podré sacarle partido al curso?

Si, el 90% del contenido del curso son conocimientos transversales que puedes aplicar en cualquier otro lenguaje. Hemos escogido TypeScript, por su crecimiento exponencial y por su versatilidad.

- ¿El curso tiene fecha de inicio y final?

No, tu decides cuándo lo empiezas y cuándo lo acabas. Una vez terminado podrás consultarlo las veces que quieras. Esta no es la típica suscripción que tienes que pagar cada mes o cada año, pagas una vez y tendrás acceso para siempre.

- ¿Cuándo podré acceder?

Desde el momento que realices la compra.

- ¿Hay un grupo para resolver dudas?

Esto es otra cosa importante que debes saber. No vamos a tener un grupo de Facebook, ni Slack, ni Discord para resolver dudas o para hacer networking.

En este curso, si tienes dudas (que las tendrás), le mandas un mail a Miguel y te las resolverá directamente. Sencillo.

Además podrás enviarle tus soluciones de las katas para que te pase feedback sobre tú código (este servicio deberíamos cobrarlo por separado).


- ¿Puedo pedir feedback sobre cualquier código?

No, el soporte no es una mentoría. Solo daremos feedback sobre las katas y ejercicios propuestos en el curso. Podrás enviar código para que te lo revise Miguel durante 6 meses, a partir de la compra del curso.

- ¿Actualizarán el contenido del curso?

Si, la idea es mantener el curso y los repositorios de código actualizados. Además de vez en cuando preparamos contenido extra en forma de bonus que regalamos a todos los antiguos alumnos en agradecimiento por la confianza.

- ¿Tiene garantía de devolución?

En ningún caso. Si no tienes claro que este programa vaya a compensar la inversión por todo lo que puede enseñarte, simplemente no lo compres.

- ¿No es caro 400 euros por un curso online?

La gente valora las cosas en función de lo que paga por ellas. Si no se paga acorde, no se valora o se ignora. 

Y para nosotros esta es la mejor formación sobre refactoring que existe. No hay nada igual ni inglés ni en Español.


Además recuerda que tienes soporte en forma de
revisiones de código durante seis meses.

Así que por este precio solo te puedo decir que está formación es muy rentable. Si aún así no te lo puedes permitir o te parece caro, mi consejo es que no la compres.

El precio de la educación no es nada comparado con el coste de la ignorancia.


¿Puedo pagar a plazos?

Directamente con nosotros no. Pero escoge la opción de Klarna en el carrito de compra y paga cómodamente en 3 plazos sin intereses.

En principio Klarna está disponible en España, Italia, Suecia, Noruega, Finlandia, Dinamarca, Alemania, Austria, Países Bajos, Gran Bretaña y Estados Unidos.

- ¿Puedo pagar por transferencia? / ¿Puedo pagar con criptomonedas?

Si, es posible.

Escríbe a [email protected] solicitándolo y te indicaré como.

- ¿Hacen factura?

Si, por supuesto.

Si compras desde España tienes que activar la opción que tienes justo debajo del botón de comprar eso te permitirá rellenar los datos de tu empresa (o autónomo) y en menos de 48 horas recibirás tu factura de forma automática.

Es importante que selecciones esta opción y que rellenes correctamente los campos correctamente. No hacemos rectificaciones ni enviamos facturas a posteriori.

Si compras desde fuera de España y necesitas factura, te indicaremos cómo proceder en el email de bienvenida.

- ¿Hacen descuentos?

Nunca hacemos descuentos por simple respeto a los alumnos que ya están dentro. Ni por Black Friday, ni por Navidades, ni por el día del programador.

Hoy siempre será el día en el que encuentres el mejor precio al que puedes entrar a esta formación. Mañana el precio será el mismo que hoy o mayor, pero nunca inferior.

- ¿Es el curso subvencionable por FUNDAE?

No.

Además de que no estamos de acuerdo con las ayudas públicas a empresas. En cada edición superamos el número máximo de alumnos permitidos para ser subvencionables.

- ¿Tienes alguna otra pregunta?

Cualquier duda que tengas sobre estas u otras cuestiones puedes escribirle directamente un correo a Miguel, y te responderá lo antes posible. Su dirección es: [email protected]

Refactoring Sostenible

Técnicas para mantener el legacy code bajo control

400€

Una formación de alto nivel que incluye:

✓ Acceso de por vida, nada de suscripciones.

✓ Más de 100 videos teóricos y prácticos. Son lecciones concisas, no te haremos perder el tiempo dando rodeos.

✓ Katas, ejercicios y repositorios de código para que aprendas haciendo.

✓ Acceso a las actualizaciones que hagamos en las futuras ediciones del curso.

✓ Soporte con revisiones de código durante 6 meses.


Una colaboración de: