Para quienes, como yo, se dedican a programar (o algo que tenga que ver con IT), seguro se habrán topado con stackoverflow. En StackOverflow, una vez registrado, puedes realizar preguntas acerca del problema de IT que te aqueja, y (en mi experiencia), en sólo unas horas alguien responde, y si bien es posible que no te resuelva por completo el problema, seguro te ayudará a descubrir el camino para resolverlo tú mismo.
La filosofía detrás del sistema de preguntas y respuestas con la que funciona dicha página es muy interesante, y plantea una muy ingeniosa metodología para que realmente pienses en tu problema. Es más, es muy probable que al pensar cómo plantear tu pregunta logres encontrar la respuesta tú solito.
En palabras de uno de los fundadores del sitio, Jeff Atwood (cuyo blog ha sido una excelente inspiración para mí y se los recomiendo fervientemente), la filosofía detrás de StackOverflow se puede resumir en 3 palabras: "Pregúntale al pato".
No, no es broma, es una metodología perfectamente válida. Todo surgió gracias a una historia publicada aquí. Les ofrezco una traducción un tanto burda:
Bob señaló a una esquina de la oficina. "Ahí está un pato", dijo. "Quiero que le hagas tu pregunta al pato".
Miré al pato. Era un pato evidentemente muerto, de peluche. Incluso si no hubiera estado muerto, seguramente no sería una buena fuente de información sobre diseño. Miré a Bob, pero su mirada era totalmente seria. Además, era mi jefe, así que no tenía mucha alternativa.
Un tanto apenado, me acerqué al pato con la cabeza baja, como si fuera a rezarle. En eso, Bob me encrespó: "¿Qué demonios estás haciendo?". Uno de los superintendentes de Bob estaba en la oficina con nosotros. Sonriendo ampliamente y con cara de burla, me dice: "Andy, no quiero que le reces al pato. Sólo quiero que le hagas tu pregunta".
"¿En voz alta?", pregunté yo.
"Así es, en voz alta", respondió Bob. En eso el superintendente añade, con la risa evidente en su cara: "Su nombre es Bob Jr.". Lo miré con cara de desagrado total.
"Señor Pato", continué, "quisiera saber, si cuando uso un sujetador de tuberías, qué cosa mantiene la tubería del rociador de salirse del sujetador cuando la cabeza comienza a funcionar, causando que la tubería..."
Justo a la mitad de formularle mi pregunta al pato, encontré la respuesta a mi pregunta. Volteo entonces hacia Bob y veo que asiente con la cabeza. "Ahora ya sabes, ¿no es cierto?". Le comenté la solución que había encontrado. "Así es. La próxima vez que tengas una pregunta, ven a mi oficina y dísela en voz alta al pato, no a mí. Si después de preguntarle a él no tienes la respuesta, entonces sí puedes preguntarme".
¿Qué sucede? Al forzarnos a nosotros mismos a pensar en cómo podemos explicar nuestro problema de la manera más concisa, exacta y detallada posible, también nuestro cerebro se ve forzado a ver el problema desde varios ángulos, lo que en la mayoría de las ocasiones nos permite encontrar una solución que antes no veíamos. Al final lo más probable es que no tengamos que terminar la pregunta: ya sabemos cuál es el problema, y si no, al menos varios candidatos. Gracias a eso, ya no le quito (tanto) el tiempo a David, mi compañero en el trabajo, sino que pienso detenidamente las cosas, y si no encuentro la solución, imagino que quien está enfrente es un pato, y le hago mentalmente la pregunta.
Sin embargo, pienso mejorar. Tomaré este Yoshi que me regaló una ex-novia, me lo llevaré conmigo a trabajar, y será mi code-buddy. Espero levantar muchas cejas la próxima vez que le pregunte en voz alta al Yoshi cómo extender una clase de tipo de dato para Doctrine.
¿Alguna sugerencia de nombre para Yoshi?