Incluye Code Reviews

La IA NO reemplazará a los programadores.
Sino que los (buenos) programadores reemplazarán a todos los demás

Testing SostenibleTesting Sostenible con TypeScriptUn curso de Testing, TDD y Diseño de Software
creado por y para Developers
500€COMPRAR HOY
paymentsSecured by Stripe with AES-256 Encryption

La frase de arriba es un post que publicó el gran Naval Ravikant en X hace unos meses.

Post con el que estoy 99% de acuerdo pero le faltó un detalle.

Ahora volvemos a eso.

Déjame ponerte antes una frase que le respondió un random que pasaba por allí (como si acabara de descubrir la pólvora)

"La IA puede escribir software — Jensen Huang CEO de Nvidia".

A lo que Naval replicó:

"Las calculadoras pueden hacer matemáticas — CEO de Texas Instruments"

Genio.

Volviendo al detalle que le faltó a la idea de Naval. La frase original decía:

"La IA NO reemplazará a los programadores. Sino que los programadores reemplazaremos a todos los demás"

Por eso añadí "buenos" entre paréntesis.

Y es que no creo que lo que dice aplique a todos los developers, si no a los buenos de verdad.

A los que de verdad marcan la diferencia, a los que multiplican frente a los que restan.

No hay duda de que por culpa de la IA en el sector sobran desarrolladores, la pregunta es: ¿sobran los buenos programadores?

Esta claro que no, pero...

¿Qué significa ser un buen programador?

A la mayoría de los desarrolladores nos han enseñado a programar mal y muchos ni siquiera lo saben.

Tú quizás sí, pero probablemente porque llevas el suficiente tiempo en esto.

Principalmente existen dos motivos.

El primero es consecuencia directa de la persona que te está instruyendo.

Docentes que no son profesionales del desarrollo de software, sino de la enseñanza, y que no han experimentado las calamidades que genera el paso del tiempo en los proyectos.

Esto pasa constantemente en cursos online, bootcamps y, sobre todo, en las formaciones académicas: universidad, ciclos formativos, etc.

Y es que la mayoría de las formaciones para desarrolladores que te encuentras hoy en día en el mercado están creadas por personas que nunca han convivido lo suficiente con su propio código.

Simplemente no son conscientes de los problemas de mantenimiento que puede acarrear la forma en la que enseñan a programar.

Es más, me atrevo a decir que en el 90% de esos cursos no se escribe ni un test.

Debemos entender de una vez por todas que sin buenos tests no puede haber calidad en el software.

Y esto es así, porque una buena batería de pruebas es lo que te permite hacer refactor con garantías.

Los tests son nuestra red de seguridad.

Sin tests (o con tests de mala calidad), intentarás mejorar una cosa y romperás otra, garantizado.

Tenemos que cambiar esa mentalidad de que programar y hacer tests son tareas distintas.

El otro motivo tiene que ver con la forma y las herramientas que usan.

¿Te imaginas ir a un curso de cocina y que te enseñen a hacer recetas de Thermomix?

Pues en la mayoría de los cursos para developers te enseñan a programar así, utilizando el framework o librería de turno.

No se centran en los principios.

Si no en diseñar soluciones totalmente acopladas al robot de cocina de moda.

El problema es que cuando pones en práctica estas ideas en el mundo real empiezan a surgir los problemas de mantenimiento.

Añadimos tal cantidad de complejidad accidental que el proyecto en unas pocas semanas o meses se nos va de va de las manos.

Diseñar software usando librerías y frameworks es como cocinar usando la Thermomix.

Cocinar como un chef profesional no es eso, ser un buen programador es otra cosa.

Por esta razón Carlos Blé (fundador de Lean Mind) y Miguel A. Gómez (fundador de Software Crafters) trabajaron durante más de dos años en la elaboración de un curso online que recopila lo más importante de su experiencia como programadores sobre testing, TDD y diseño de software.

El curso incluye más de 150 videos teóricos y prácticos incluyendo las soluciones de diferentes katas, repositorios de código, ejercicios tipo test, soporte y revisiones de código durante un año.

En definitiva, hemos creado algo especial que te ahorrará muchas horas en el camino del aprendizaje, evitará que te choques con los mismos obstáculos que nos hicieron perder tiempo a nosotros y te servirá para descubrir nuevos horizontes.

Testing SostenibleTesting Sostenible con TypeScriptUn curso de Testing, TDD y Diseño de Software
creado por y para Developers
500€COMPRAR HOY
paymentsSecured by Stripe with AES-256 Encryption
Una formación de alto nivel que incluye:
  • Acceso de por vida, nada de suscripciones.
  • Más de 150 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 y revisiones de código durante un año.

Así fue cómo perdimos a nuestro mejor cliente

Esta es una historia real que le ocurrió a Carlos Blé en sus comienzos, hace ya mas de 20 años.

"En 2004 monté mi primera empresa junto a tres amigos.

Uno de los mejores clientes que conseguimos fue una pequeña empresa de telefonía y canales de televisión que representaba más de la mitad de nuestra facturación.

Recuerdo que una mañana, mientras estaba desarrollando la parte de su web de registro de clientes, me llamaron porque ciertos usuarios no podían darse de alta en el sistema.

Resulta que eran extranjeros con apellidos que contenían símbolos como el apóstrofe o la diéresis y el código de validación fallaba y no les permitía registrarse.

No teníamos ni un test, no sabíamos ni cómo se hacían.

Tampoco teníamos un entorno de pruebas.

Sino que hacíamos los cambios a cualquier hora, directamente en el entorno de producción.

Aquella mañana hice como diez cambios en el código, cada uno correspondiente a una llamada de teléfono de mi cliente, quejándose por un caso diferente.

Mientras arreglaba un caso estropeaba otros, estaba cada vez más tenso y mi cliente más molesto.

Con cada cambio en producción teníamos que reiniciar el servicio y los usuarios conectados perdían su sesión.

Al final del día el cliente se había dado cuenta de que no éramos solventes, había agotado su paciencia.

Paró el proyecto y nos lo quitó.

Para mí fue una gran lección y la terminé de comprender cuando aprendí a hacer tests".

Verás.

Hoy en día hay tantas alternativas que los usuarios no se molestan en llamarte a quejarse, simplemente dejan tu aplicación o tu servicio y se van a la competencia sin que te des ni cuenta.

El coste de un bug en producción es más alto que nunca, porque la tolerancia de la gente es menor y las alternativas disponibles son mayores.

Hay que reducir al mínimo el número de bugs que llegan a producción y por supuesto, hay que impedir que reaparezcan problemas que ya estaban reportados y corregidos.

¿Para qué aprender a hacer buenos tests si ya los hace ChatGPT?

(Sustituye ChatGPT por el LLM que quieras, Sonet, Deepseek R1, Llama… )

Esta pregunta me la han hecho más de una vez y el perfil siempre es el mismo:

Desarrolladores que son "demasiado seniors" para seguir aprendiendo…

Suelen ser los típicos que también dicen que la IA nos va a dejar a todos sin trabajo (no me extraña).

A ver.

Apoyarte en la IA para escribir tests lo veo bien.

Nada en contra.

En realidad sería estúpido si no lo hicieras.

Lo que no puede ser es que le pidas a la IA que haga los tests y tú no sepas si su implementación es la mejor solución.

Y no me refiero a que funcione o no.

Porque en el desarrollo de software que algo 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 fácil de mantener.

Y con fácil de mantener me estoy refiriendo a fácil de cambiar.

Y sí, los tests también hay que mantenerlos.

No podemos tratar las pruebas como código de segunda categoría, debemos cuidarlos igual que hacemos con el código de producción.

Está claro que este tipo de comentarios se hacen desde la ignorancia.

Desde la ignorancia de no saber lo que significa mantener una batería con cientos o miles de tests que fallan cada dos por tres.

Juniors con 10 años de experiencia

Desafortunadamente el significado de la palabra senior no ha variado demasiado en los últimos 20 años.

Aún hoy en día en muchas empresas a los developers se les considera seniors (o se consideran ellos mismos) por el simple hecho de llevar "n años" en la industria, sin tener en cuenta su conocimiento.

Y no me refiero solo a sus habilidades técnicas, hay soft skills que también se esperan de un programador experimentado, especialmente las relacionadas con la comunicación.

Y sí, el código también comunica.

Para esto es fundamental entender cómo funciona el negocio, cómo hace dinero, dónde se aporta valor y dónde no.

Y por supuesto saber hacer buenos tests...

A ver, no estoy diciendo que llevar años en la industria no sea necesario.

Sin lugar a dudas lo es, no hay mejor aprendizaje que sufrir las calamidades del paso del tiempo en los proyectos para entender la importancia de saber escribir código de calidad.

Eso solo se consigue con horas de vuelo y, como diría Nassim Taleb, con Skin in the game.

Sufriendo las consecuencias en tu propia piel.

No hay otra.

Ahora bien, hay una enorme diferencia entre 10 años de experiencia y un año de experiencia repetido 10 veces.

No es lo mismo 10 años de aprendizaje constante trabajando en varios proyectos, con diferentes lenguajes, tecnologías y paradigmas, y rodeado de desarrolladores con mucho nivel.

Que pasar 10 años trabajando en la misma empresa, con un equipo mediocre y resolviendo siempre el mismo tipo de problemas, en un proyecto que hace aguas, sin tests y plagado de malas prácticas.

Esto, después de poco tiempo, limita tu capacidad de aprendizaje.

O lo que es peor, consolida una forma de programar que no te llevará muy lejos en tu carrera.

No te digo que estés saltando de empresa cada poco tiempo, eso también es un error.

Debemos de convivir el tiempo suficiente con nuestro propio código para sufrir en nuestra piel las decisiones que tomamos.

Lo que sí te recomiendo es que te expongas y practiques. Sal de tu zona de confort y enfréntate a problemas y retos diferentes.

No dejes de formarte, la vida es un continuo aprendizaje.

Mejora tu inglés, tus habilidades de comunicación y sobre todo tu técnica de programación.

Con las dos primeras no podemos ayudarte. En lo que sí podemos ayudarte es a convertirte en mejor programador.

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

Formación en la que aprenderás, entre otras cosas, cómo:

Todo esto y lo mismo alguna cosa más (seguro) en esta gran formación.

Testing SostenibleTesting Sostenible con TypeScriptUn curso de Testing, TDD y Diseño de Software
creado por y para Developers
500€COMPRAR HOY
paymentsSecured by Stripe with AES-256 Encryption
Una formación de alto nivel que incluye:
  • Acceso de por vida, nada de suscripciones.
  • Más de 150 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 y revisiones de código durante un año.

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

Se trata de una formación de alto nivel organizada en 28 apartados que incluye más de 150 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.

El curso empieza con una masterclass gratuita sin límite de tiempo y sin ningún compromiso (ni siquiera pedimos tarjeta de crédito).

Queremos que esta masterclass sirva como tu primer punto de contacto con nosotros y que te ayude a evaluar la calidad del contenido ¿no te convence? No hay problema, sin rencores.

Preguntas que quizás te estás haciendo

- ¿Qué conocimientos previos necesito?

Al menos debes tener unas nociones básicas de programación. 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 durante estos últimos años, situándose como tercer lenguaje más usado, después de JavaScript y Python.

De todas formas tenemos alumnos que nos han pedido feedback de los ejercicios en C#, Java, Python, Rust y Kotlin. Así que no te preocupes por el lenguaje, nos adaptamos.

- ¿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 tu 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 el primer año 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.

- ¿Hay alguna forma de acceder a los bonus atrasados?

Si, justo al momento de inscribirte en el curso tendrás la oportunidad de comprar los bonus que hemos publicado para el curso hasta este momento.

- ¿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 500 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 en inglés ni en Español.

Además recuerda que tienes soporte y revisiones de código durante un año.

Así que por este precio solo te puedo decir que esta 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.

Escribe a miguel.gomez@softwarecrafters.io solicitándolo y te indicaré cómo.

- ¿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. 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.

- ¿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.

- ¿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.

- ¿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: miguel.gomez@softwarecrafters.io

Testing SostenibleTesting Sostenible con TypeScriptUn curso de Testing, TDD y Diseño de Software
creado por y para Developers
500€COMPRAR HOY
paymentsSecured by Stripe with AES-256 Encryption
Una formación de alto nivel que incluye:
  • Acceso de por vida, nada de suscripciones.
  • Más de 150 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 y revisiones de código durante un año.

Una colaboración de: