Cómo escribir posts más rápido (y que suenen a ti)

Hoy quiero compartir una técnica que me ha ayudado a mantener constancia y calidad al escribir posts.

1️⃣ Empiezo por la idea

Cuando quiero escribir un post, lo primero que hago es definir el tema. A veces le pongo un título provisional solo para orientarme.

Enseguida me vienen ideas sueltas… y las anoto tal cual. No me preocupo por la forma, solo por capturar lo esencial. En esta etapa, lo importante es la calidad de las ideas, no cómo están escritas.

2️⃣ Le pido ayuda a la IA

Con esa lluvia de ideas, lanzo un prompt muy sencillo a mi LLM favorito: «Crea una publicación con las siguientes ideas. Sugiere cinco versiones diferentes.»

El objetivo no es que la IA escriba por mí, sino que me ayude a estructurar mejor el mensaje y hacerlo más claro.

3️⃣ Selecciono, mezclo y afino

Leo las 5 versiones que me devuelve y elijo la que mejor refleja lo que quiero transmitir. A veces mezclo partes de otras versiones. Le doy mi toque final, y voilà.

También le pido a la IA ideas para títulos y llamadas a la acción. Elijo las que más encajan y ¡post listo para publicar!

Confesión: Cuando empecé a publicar con regularidad, probé a delegar todo el post en la IA. ¿El resultado? Correcto, sí… pero sin alma. No transmitía mi forma de pensar ni mi estilo. Era impersonal.

En cambio, cuando las ideas son mías y la IA solo me ayuda a contarlas mejor, el resultado es radicalmente distinto: más auténtico, más potente, más yo.

En resumen: No se trata de si usamos IA o no. Se trata de cómo la usamos para potenciar lo que solo nosotros podemos aportar: nuestras ideas, experiencias y visión.

Más Allá del Código: Por qué los fundamentos definen al ingeniero de software

A veces me cuesta recordar cómo se declara un cliente Retrofit o cómo se define una base de datos con Room en Android. Y no me preocupa demasiado.

Después de más de 20 años trabajando con C++, MFC, POSIX, Java, Kotlin, PHP, C#, wxWidgets, Android, Flutter y más, he aprendido algo: los detalles concretos cambian, los fundamentos perduran.

Los paradigmas, las estructuras de datos, la orientación a objetos, la arquitectura de software, el pensamiento crítico… eso es lo que realmente da solidez profesional. Lo demás lo buscas en Google o lo preguntas a GPT.

Con la irrupción de la IA, el rol del ingeniero de software tiene que estar más arriba: tomar decisiones, entender el contexto, razonar, abstraer. Lo duradero se vuelve diferencial.

No estoy diciendo que no haya que conocer los detalles de cómo funciona una tecnología concreta. Al fin y al cabo, el software se ejecuta sobre ordenadores y esos detalles importan. Pero no confundamos los medios con los fines. Los fundamentos no caducan.

Si estás formando un equipo sólido que necesite pensamiento crítico y fundamentos sólidos, estoy interesado en colaborar. Escríbeme.

IA y TDD: ¿Compatibles o rivales?

Es una cuestión a la que sigo dándole vueltas.

Por un lado, la teoría del Test Driven Development (TDD) sigue siendo sólida: primero los tests, luego el código y después refactorizar.

Sus beneficios son innegables:

  • Código más modular y desacoplado
  • Documentación viva a través de tests
  • Regresiones detectadas al instante
  • Refactorización más segura

Por otro lado, llega la IA como ese nuevo compañero que parece hacer la vida más fácil: «Déjame generar todo ese código aburrido», «Aquí tienes tanto la implementación como los tests», «¿Para qué pensar tanto si puedo hacerlo por ti?». Luego solo revisas y ajustas.

Es tentador, terriblemente tentador.

A simple vista, el camino 2 parecería el más óptimo: más rápido, más eficiente. Pero ¿realmente lo es?

Aquí está el meollo del asunto: cuando pides a una IA que genere código y tests en un solo paso, estás saltándote la fase más valiosa del TDD: el proceso de pensamiento.

¿IA que entiende tu código? Así funciona Copilot Agent

Hace poco intenté generar tests para un código preexistente usando GitHub Copilot en Android Studio y Visual Studio Code. Primero probé con el modo «Edit»… y fue un desastre.

El código generado:

  • No seguía el estilo del proyecto.
  • No compilaba por múltiples errores.
  • Requería demasiada corrección manual.

Cuando yo estaba decido a darlo por imposible, probé con el modo «Agent» y el resultado fue brutal. El código generado compiló sin problemas, seguía el mismo estilo que el resto de código y hacía lo que tenía que hacer. ¡Genial!

✨ ¿Por qué esta diferencia?

Porque el contexto es la clave para que un LLM genere buenos resultados.

El punto de partida fue el mismo en ambos casos, indiqué el fichero de código sobre el que debía basarse. Sin embargo (lo puedes ver en las capturas):

Modo «Edit»: Se limitó a leer dicho fichero y generar los tests a partir de ahí.
Modo «Agent»: En primer lugar buscó otros tests similares en el código para entender cómo estaban hechos y seguir el mismo estilo. Luego generó el código.

Resultado: mucho mejor código y menos tiempo perdido.

Sin duda, voy a seguir usando el modo «Agent» de Copilot en mi día a día, pero se puede hacer mejor.

Me explico.

Copilot Agent actúa como un programador que llega a un proyecto nuevo: busca otro código parecido al que quiere crear y lo toma como referencia. Al principio está bien, pero a larga lo ideal es que esta persona interiorice este conocimiento. Aunque acabe consultando algún detalle concreto, conocer el proyecto en global le hará ser más eficiente y efectivo. Algo parecido es los que ofrecen otras herramientas como Aider o Cline. Construyen una base de conocimiento a partir del código existente que después utilizan para poder incorporar a la ventana de contexto los detalles necesarios para que el LLM acabe generando el mejor resultado.