No todos los problemas se resuelven programando, a algunos hay que hacerles la magia…

http://sergiot2.com/blogimages/2008/06Jun/18_magia.jpg

Un post de reflexión :D, y que servirá de referencia a otros.

Recurrentemente ante situaciones donde estás horas y horas, con un problema y no encuentras el código que lo haga funcionar, visitas todos los foros, en español, inglés, y hasta chino, y nada, y a la gente que envías un email esta apretada con sus quehaceres, lo último que queda es hacer la magia.

¿Pero qué es la magia?. La magia es la experiencia, el sentido común, y la habilidad que vas acumulando conforme aumenta tu participación en proyectos (exitosos o no). No se han dado cuenta que su ki, aumenta después de cada proyecto?, pues una manera de comprobarlo es revisando los primeros códigos que hacíamos, y que cuando los revisas, has los llegas a negar… pero esa es otra historia.

Ahora la adquisición de conocimientos es de todo el contexto: compañeros, proyecto, usuarios, y todo lo que rodea al proyecto. aprendes buenas prácticas, aprendes malas prácticas, (ya sabes que no hacer), aprendes de los buenos jefes de proyectos, también de los malos, incrementa tu capacidad de negociación, y tomar responsabilidad, sobre todo para que no tener que resolver bugs de otros te chanten muertitos de otros, aprendes a tratar con las personas, después de tratar con los usuarios, aprendes aguantar a los compañeros chinches, (no se como se dirá en otros países, pero alguien chinche es aquella persona que hace llegar al límite tu nivel de paciencia).

¿Y como aplico la magia para resolver un problema de programación?

Lo primero, es saber donde buscar, y donde preguntar, y a quién preguntar, recordar que probablemente nosotros no seamos los primeros con el mismo problema. El detalle viene en que quizás la solución no encaje en nuestra aplicación, o sea muy trabajosa, o sea muy compleja, entonces la opción es dar una alternativa, al requerimiento del usuario.

Debemos analizar nuevamente el requerimiento y buscar soluciones alternativas, hombre que de alguna manera tienes que satisfacer el requerimiento del usuario. Y estas alternativas dependiendo del requerimiento pueden variar, quizás haciendo cambios en el diseño, lo solucionemos, o quizás anexando información, ya la magia nos dirá que hacer.

Un ejemplo:

Problema: Desde una página aspx, estoy enviando los productos seleccionados en la página, y estoy abriendo un popup a través de JavaScript, pero si los navegadores tienen habilitado bloquear los popups, la aplicación pierde de alguna manera el flujo actual, y si estoy limpiando los productos seleccionados después de hacer postback, los productos seleccionados se pierden, y el usuario no sabe si tiene que volver a seleccionar los productos.

Solución: Buscar el código JavaScript para detectar si el usuario tiene activada esta opción.

Re-Problema: El problema puede venir, por ejemplo si para abrir el popup estamos registrando el código desde una página ASP.NET, y para hacerlo esto necesita un postback, ahora si el postback hace otros eventos, y dependiendo de nuestro código, tengamos que hacer más código para no perder algunas variables que estemos usando, y que todo funcione correctamente, y se hace todo un rollo.

Solución-Alternativa: Cambiar el diseño, e indicar al usuario que productos están seleccionandos. Así, si el navegador usuario tiene habilitado el bloqueo de popups, no tengo que hacer código extra por que le estoy informado cuales son productos seleccionados, y que no tiene que volverlo hacer.

Y eso, no todo se resuelve programando.

Por eso siempre ante alguna pregunta de código media marciana, siempre pregunto cual es el requerimiento, y quizás esta re-pregunta demuestre que no queremos ayudar o desconocimiento del tema que puede ser cierto, pero quizás no necesitemos un código marciano, solo cambiar de alguna manera el requerimiento.

Saludos,

7 comentarios en “No todos los problemas se resuelven programando, a algunos hay que hacerles la magia…”

  1. yo conozco un truco de magia , para algunas cosas… reiniciar tu vs , siempre es bueno, reinciar tu pc , volarte los temporales de tus Temporary ASP.NET Files, a veces esa magia , da resultado…
    Nos vemos sergio¡¡¡¡

  2. @Johnny, hay alguna otra en el tintero, esperando que haya un tiempito para el release.

    @Fabricio, y sí a veces reiniciar la PC una vez al mes siempre es bueno, debe haber una parte técnica en todo esto…

    Saludos,

  3. Completamente de acuerdo!! la magia se adquiere con el tiempo… la magia, el karma, el chiii, el know how, expertise, capacidad, habilidad,… el nombre es lo de menos 😉
    Muy bueno Sergio!!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *