|
Durante los últimos meses construí un proyecto personal usando Claude como mi principal herramienta de desarrollo. La idea parecía simple: Crear una quiniela del Mundial donde los participantes hacen todos sus pronósticos antes de que empiece el torneo, como hacíamos en Excel hasta hace poco. El software estuvo listo mucho más rápido de lo que imaginaba. Pero lo más interesante fueron los aprendizajes a lo largo del camino. Algunos de ellos: Los tests son obligatorios. En un momento decidí leer todos los unit tests generados por Claude. Fue entonces cuando descubrí que estaba colocando una parte importante de la lógica dentro de la base de datos. Cuando lo cuestioné, la respuesta fue básicamente: “Ah, entonces moveré esa lógica al código. Es más fácil de testear.” Touché. Otro aprendizaje: los tests encontraron muchos más problemas de los que esperaba. Detecté:
Otra cosa que aprendí fue el concepto de mutation testing. No basta con tener tests. La pregunta es: ¿los tests son buenos? Las herramientas de mutation testing modifican automáticamente el código para verificar si los tests detectan el problema. Si los tests siguen pasando, probablemente no están cubriendo el comportamiento que deberían. Hay tests que parecen simples y son absurdamente difíciles. Un ejemplo fue validar la clasificación de los grupos del Mundial. Empate en puntos. Diferencia de goles. Goles marcados. Enfrentamiento directo. Probar todas las combinaciones posibles de cuatro selecciones fue mucho más complicado que implementar la funcionalidad. Los usuarios ven cosas que tú no ves. Le mostré la home a un amigo publicista. La miró durante unos segundos y dijo: “La tipografía se ve vieja.” Pensé que era una opinión. Era un bug. El CSS se estaba cargando incorrectamente. Poner nombre a las cosas sigue siendo difícil. Hasta hoy no sé cuál es la mejor forma de explicar el producto. ¿Es una quiniela? ¿Una quiniela clásica? ¿Una quiniela hasta la final? ¿Y encontrar un buen dominio? Ni hablar. Pensé que el problema sería desarrollar. Terminé gastando mucho más tiempo intentando explicar lo que había desarrollado. Traducir es fácil. Entender el mercado es difícil. Como la barrera de implementación se volvió mucho menor gracias a la IA, una de las primeras ideas que tuve fue lanzar el producto en varios idiomas. Traducir la interfaz sería trivial. El problema apareció antes. Si ya me costaba explicar el producto en Brasil, ¿cómo iba a descubrir cuál es el equivalente de este tipo de quiniela en otros países? ¿Cómo se conoce? ¿La gente juega de esta manera? ¿Existe demanda? Le pregunté a una amiga argentina si este tipo de quiniela era común allí. La respuesta fue negativa. Mi research internacional terminó ahí mismo. Fue un buen recordatorio de que la IA redujo drásticamente el costo de construir software. Pero no redujo en la misma proporción el costo de entender clientes y mercados. No toda automatización vale la pena. Decidí validar manualmente los pagos vía Pix (el sistema brasileño de pagos instantáneos). ¿Podría automatizarlo? Claro. Pero para el volumen esperado, la complejidad no lo justificaba. Fue un buen recordatorio de que la mejor solución no siempre es la más tecnológica. La IA genera landing pages muy rápido. Usé IA para crear prácticamente todas las páginas de SEO. ¿Leí cada una con atención? No. ¿Podrían ser mejores? Probablemente. Pero también aprendí que SEO es un juego de largo plazo. Las páginas fueron publicadas casi dos meses antes del Mundial para dar tiempo a que fueran indexadas. Y por último: los problemas más peligrosos son los de especificación. Cuatro días antes del inicio del Mundial, un usuario me avisó que los cruces de los dieciseisavos de final estaban equivocados. El código estaba funcionando exactamente como había sido especificado. El problema era la especificación. Yo había interpretado incorrectamente una parte del reglamento de la FIFA. Claude no cuestionó nada. Yo no releí el Anexo C. Y el error pasó. Resultado: Tuve que reimplementar toda la lógica de los cruces y avisar a unas 30 personas que ya habían completado sus pronósticos de eliminación directa para que los revisaran nuevamente. No fue una experiencia agradable. Tal vez esa haya sido la principal lección del proyecto. La IA reduce muchísimo el costo de implementación. Pero sigue sin reemplazar la comprensión del problema. Y cuando entiendes mal el problema, implementa el error con una velocidad impresionante. PD: Si quieres probar el producto, está disponible en www.obolaodacopa.com.br (en portugués) |
Ex-VP Engineering @ Creditas ($4.8B). 20+ years building and scaling tech teams. Today, I help CTOs make better decisions.
Imagina la siguiente situación: eres responsable de algunos equipos de desarrollo. Esos equipos tienen stakeholders. El CEO de la empresa se acerca a uno de ellos y le pregunta por qué una determinada iniciativa está retrasada o por qué no se alcanzó algún resultado. Escenario A: el stakeholder se queja del equipo de tecnología. Dice que el equipo no entrega, que es lento, que no entiende lo que realmente necesita. Escenario B: el stakeholder dice que hubo algunos obstáculos, pero que está...
Imagine a seguinte situação: você é responsável por alguns times de desenvolvimento. Esses times tem stakeholders. O CEO da empresa chega para um dos stakeholders e pergunta por que uma determinada iniciativa está atrasada ou algum resultado não foi entregue. Cenário A: o stakeholder reclama do time de tecnologia. Diz que o pessoal não entrega, que é lento, que não entendem o que ele realmente precisa. Cenário B: o stakeholder diz que houve alguns obstáculos, mas que ele está trabalhando bem...
Camille Fournier escribió un muy buen artículo sobre el uso de IA en equipos. Es la autora de The Manager's Path, uno de los libros que más recomiendo para quienes lideran equipos de tecnología. La idea central del artículo es diferente de la mayoría de las discusiones sobre IA. No trata de seguridad ni de compliance. Trata de respeto hacia tus compañeros de trabajo. La idea es simple: La IA puede aumentar mucho la productividad individual. Pero eso no puede ocurrir a costa de la...