El truco absurdo que usan los ingenieros para encontrar errores
Es muy icónico entre los desarrolladores de software el pato de goma. El concepto tiene su origen en el libro: El programador pragmático que introdujo el concepto de Depuración del patito de goma: un método para encontrar errores antes de siquiera escribir código.
El método
La idea consiste en explicarle el código del programa a un objeto inanimado antes de siquiera escribir una línea. El proceso de explicar verbalmente y en voz alta lo que tu programa debe hacer te ayuda a digerir mejor la idea, lo que normalmente resulta en encontrar potenciales fallos o dificultades que la idea original tiene, y al repetirlo muchas veces, la idea se refina hasta el punto en que ya no hay obstáculos evidentes y el programa seguramente funcione como se espera.
Mi experiencia
Descubrí este concepto por algún profesor del bachillerato de informática. En su momento me pareció redundante y no le encontré valor alguno. Más adelante, cuando ya estaba trabajando como desarrollador junior, me encontré muchas veces explicándoles mi código a amigos y familiares, y fue ahí que entendí que ellos estaban cumpliendo el rol de patito: en vez de un ser inanimado era una persona que no sabía sobre programación.
Rápidamente entendí su valor, porque al contarles cómo funciona mi código a estas personas, muchas veces me preguntaban preguntas tontas, que resultan ser no tan tontas, pues tener que explicar los detalles técnicos que ellos no entendían desencadenaba una serie de pensamientos e ideas que no habrían tenido lugar sin esa pregunta, y que, efectivamente, terminaban mejorando mi software para bien.
Rápidamente entendí su valor, porque al contarles cómo funciona mi código a estas personas, muchas veces me preguntaban preguntas tontas, que resultan ser no tan tontas, pues tener que explicar los detalles técnicos que ellos no entendían desencadenaba una serie de pensamientos e ideas que no habrían tenido lugar sin esa pregunta, y que, efectivamente, terminaban mejorando mi software para bien.
Desde entonces, cuando estoy trancado en un proyecto que no logro resolver, le pido ayuda a alguien: "¿Me hacés de pato de goma?", y frecuentemente recibo un "sí" porque la otra persona no necesita saber lo que estoy haciendo, ni tampoco es necesario que me preste atención, el efecto es el mismo.
El pato humano versus el pato de IA
Con la llegada de los chats de inteligencia artificial, la práctica de dialogar con un patito de goma ha cambiado un poco, pues ahora el pato puede responder con todo el conocimiento de internet. Aprovecho la IA en modo diálogo para hacer las mismas interacciones que con la persona que me hace de pato de goma, y este nuevo objeto inanimado que sabe responder texto suele adelantarse a mi hilo de pensamiento y sale con sugerencias o preguntas más acertadas.
Conclusión
Al final, ninguno de los tres reemplaza al otro. El patito de goma sigue teniendo la característica de que no responde ni sabe entender lo que decís, mis amigos siguen haciendo esas preguntas tontas que disparan ideas que no pensé antes, la IA sigue abordando el problema con todo el conocimiento de internet. Las tres variantes tienen su magia, pero mi favorita siempre va a ser el pato humano porque el software se hace siempre pensando en las personas que lo van a usar: todo problema de software es un problema de personas al fin.
Y algo que particularmente me gusta de la idea del patito de goma es que se puede aplicar a cualquier clase de proyecto: no solo en el software es útil explicar tu hilo de pensamientos, también a la hora de hacer un dibujo, elegir las telas para tus cortinas, o la forma en que vas a hacer una pizza, siempre es útil revisar de antemano lo que se va a hacer.
Mati Bati

Comentarios
Publicar un comentario