Programación a lo “Monaguillo”… y todos lo hemos hecho.

Publicado el 13 julio 2015 por Gaspar Fernández Moreno @gaspar_fm

Antes de nada, vamos a poner antecedentes. Para los que no conozcáis a este humorista:


Bueno, que este hombre tiene un estilo muy particular, es nervioso y dice las cosas como le vienen y personalmente me río mucho con él, por lo que ya podéis estar siguiéndole en Twitter.

En programación, es una cosa que suelo hablar con amigos y colegas de trabajo y es un concepto que se puede aplicar a muchas áreas de conocimiento.

Nota: Antes de nada tengo que decir que todos los programadores llevamos un Monaguillo en nuestro interior, y todos alguna vez hemos seguido esta técnica de programación, no es muy recomendable si estás desarrollando un sistema de seguridad de un avión o un aparato médico, pero vamos, que todos nos hemos dejado llevar alguna vez.

Los niveles del programador Monaguillo

Como en todo, hay varios niveles, pero vamos a resumirlos en principiante y pro. Como las palabras indican, depende también de tu experiencia programando, tu conocimiento en las áreas que estás tratando y tu destreza explicándole a un ordenador qué tiene que hacer para satisfacer tus deseos (o los de tu cliente).

Monaguillo programador principiante

En realidad son personas que llevan poco tiempo programando, pero que saben hacer un par de cosas, han logrado ejecutar un código pequeño, o se han bajado un programa de Internet y han logrado hacer una pequeña modificación.

Por ejemplo, nuestro programador se llama Manolo (no estoy pensando en nadie en particular, en serio), y se baja un ejemplo de Internet de un ejercicio que calcula la media de 3 números. Pues bien, esta persona lo modifica para que, el programa, una vez introducidos los 3 números diga: "La media es: xx. ¡ Y MANOLO ES EL MEJOOOOOOOOOOOOOOOOOOOOoooooooorrrrrrr !!!!". Esto produce una satisfacción inhumana y una sensación de semidios en su interior.
Pero lo que realmente le convierte en monaguillo programador es que a partir de ese momento cree que puede hacer cualquier programa que le pidan y, en algunos casos, es capaz de pedir o buscar trabajo como programador.

A partir de ahí, y gracias a Google, tal vez sea capaz de conservar el trabajo durante un tiempo. En definitiva son personas que, leen un poco de código, pueden llegar a entender algunas funciones, pero esperan que todo venga hecho y aprovechan el copia y pega para hacer todo lo que hacen. En algún momento, nos pueden sorprender con algo que han hecho, pero poco, ya que son personas, incapaces de leerse la documentación de una biblioteca, un script, un lenguaje de programación (y menos aún sin dibujitos).

Son, además, amantes incondicionales del "prueba y error". El prueba y error está bien, pero siempre y cuando, cuando sepas lo que estás haciendo, con esto me refiero a que encuentran en Internet un código que hace lo que quieren, pero no funciona, sin saber lo que hace esa línea de código, prueban ponerla más arriba, más abajo, al principio, al final, cambian el orden de algunas palabras, y cuando finalmente te piden ayuda pueden pasar dos cosas: que por no tragarse su orgullo digan "antes funcionaba perfectamente"; o que todo esté roto y sea más rápido empezar de cero que buscar el problema. Bueno, o las dos.

También se caracterizan por elegir la forma más óptima siempre de hacer las cosas. Mejor lo explico gráficamente:

y

Por poner un ejemplo un poco más tangible, imaginad que nos han pedido hacer una modificación a una página web, pues un monaguillo programador, siempre te pedirá el FTP para trabajar. Pero no para descargarse la web, sino para trabajar directamente ahí bajando y subiendo archivos a cada pequeña modificación, siendo capaces de tener una página web inutilizada durante varias semanas o incluso meses. Y, ¿por qué no se bajan la página a su ordenador, hacen todos los cambios que quieran y cuando esté terminado lo suben (eso ahorraría desesperación cada vez que haya que conectarse a un FTP por lo lento que va, y hará que los visitantes no vean la página a medias, ni las pruebas, ni información de depuración, ni nada) ? Fácil, porque así van más rápido.

Programador monaguillo nivel pro

Bueno, este segundo grupo puede estar más marcado por el estrés, los plazos y, a veces, el poco interés en ciertos proyectos.

Bueno, aquí entran, sobre todo, aquellos programadores que hacen pruebas en el servidor de producción, como unos valientes y los que prefieren tocar el núcleo de un WordPress, un Magento o un Drupal en lugar de hacer una extensión porque actualizar es de débiles, y eso nunca se va a hacer.

Siempre tienen experiencia y argumentos para justificar sus decisiones como: "Actualmente mantengo 15 páginas hechas con WordPress y en 5 años no he tenido que actualizar ninguna", o, "¡¡Subimos a producción un viernes a las 20:00 !!"

También son personas que, cuando surge un pequeño problema en el código, nada más comunicarles el fallo, les entra el nervio muy Monaguillo, se ponen a teclear como unos descosidos, motivados y concentrados, y en cinco minutos tienen un parche, parche que ha provocado dos fallos nuevos, y a lo mejor no soluciona al 100% el fallo. Al conocer los nuevos fallos, y tras otros cinco minutos de programación motivada, publican el parche, y ahora los fallos no están, pero por alguna casualidad de la vida, un fallo que lleva un año arreglado, vuelve a la luz, y así durante unas cuantas veces.

En ocasiones, suelen pensar que el usuario es bueno, y no validan un dato de entrada de usuario "porque es muy lento hacerlo" o no hacen comprobación de errores en ciertas partes del código "porque eso nunca va a fallar, o no ponen un default a un switch "porque ese caso nunca se va a dar". Pero claro, el "Manolo" de dentro de una semana, un mes, o un año, que se atenga a las consecuencias.

Algunos de estos Monaguillos, también se caracterizan por su velocidad programando, son muy rápidos, extremadamente rápidos, da hasta miedo lo rápidos que son, pueden pasar por desarrolladores la mar de eficaces y motivados y son el orgullo de cualquier jefe. El problema viene cuando esos desarrollos que han sido tan rápidos, no funcionan como deben, tienen pequeños fallos en pequeñas cosas, y toca estar varios meses publicando parches para que funcionen. Vamos, como cuando sale un programa nuevo al mercado, y hay que estar varios meses instalando actualizaciones bastante frecuentemente...

Disclaimer

Este texto ha sido escrito y exagerado un poco en todo de humor y nunca con el fin de ridiculizar a nadie, de hecho, ya lo dije al principio que, todos los programadores lo hemos hecho alguna vez, y menos a El Monaguillo, que me ha servido de inspiración.
Puede que piense en personas concretas, puede que no, aunque a nuestro Monaguillo lo he llamado Manolo, lo siento si algún Manolo se da por aludido, no es mi intención.
Si alguien que conozco cree que he pensado en él, que me lo diga si quiere, yo ya le diré si de verdad pensé en esa persona o no, pero vamos, si se ofende, que piense que tiene algo que cambiar si los motivos de su Monaguillismo no son puros.

Foto: El Hormiguero (Flickr CC-BY-ND) Sí, el Hormiguero comparte las fotos en esta licencia!! ¡¡Me acabo de enterar!! Un puntazo para el hormiguero.