Haz lo que debes hacer
Inicio | Buscar | Quienes Somos | Reglas | Reuniones | Contacto | Aviso Privacidad | Usuarios
Editorial | La Realidad | Las AC | Sobre Proceso | Cambios al 2025


Traducir
#2

Versión Final.

http://www.zedshaw.com/essays/master_and_expert.html

El Maestro, El Experto, El Programador.
He gastado la mayor parte de mi vida de estudiante de bachillerato viviendo en Guam, tratando de estar lo suficientemente vivo para abandonar este modo de vida y recomenzar otro.
No ha sido una buena época para mí, y lo único bueno que me ha sucedido es el entrenamiento en Artes Marciales.
En estos días he sido un bastardo holgazán, pero tiempo atrás cuando estudiaba de todo, era mucho más activo.
Es un poco difícil de creer, pero las cosas comenzaron a salirme bien desde que apliqué mi conocimiento de Artes Marciales en prácticamente todo lo que he hecho.
Cada Arte Marcial que he estudiado, me ha enseñado algo diferente.
El Capoeira me enseñó que el estar bien equilibrado es mucho más que moverse y estirarse de una posición a otra.
El Aikido me enseñó que atacar un problema de manera directa, raramente es la solución.
El Muay Thai me enseñó que destruyendo la base se colapsará todo lo demás.
Estudié Muay Thai, Ninjutsu, Wing Tsung, Judo, armería e incluso entrené un año como para ser considerado un buen espadachín de la SCA.
Desafortunadamente nunca estudié el suficiente tiempo como para ser considerado muy bueno en ellas. Sólo tomé lo que me interesaba y lo llevé a un siguiente nivel más interesante.
¿Cómo aplicarlo a la programación?

El Maestro.
Cuando comencé a estudiar Aikido leí “El libro de los cinco anillos” de Miyamoto Musashi, alrededor de unas 20 veces.
Era un ejemplar que leía durante el trayecto a la clase, e incluso en las noches lluviosas. Estaba maltratado y tenía notas escritas para tratar de encontrar el maldito significado al libro.
Nunca lo logré. Supongo que se debe ser un Samurai Japonés del siglo XVI para lograrlo.
Pienso que Musashi fue capaz de derrotar a sus enemigos usando tácticas revolucionarias e inusuales. De lo que entiendo de la historia de las Artes marciales japonesas, nadie usaba dos espadas al mismo tiempo hasta que Musashi comenzó a hacerlo. Si tenían dos espadas, pero nunca las usaban de manera simultánea. Musashi fue el primer hombre conocido que innovó en usar ambas espadas y derrotar a una gran cantidad de enemigos con ellas.
Él hacía cosas distintas y funcionaban.
El caso de Musashi no fue algo que haya pensado, luego desarollado y perfeccionado, sino más bien fue un accidente producto de la necesidad.
Aparentemente estaba siendo atacado por una muchedumbre, y para mantenerse con vida tomó también su wakizashi (la espada pequeña) para defenderse. Posteriormente desarrolló un sistema completo, pero originalmente solo fue supervivencia, instinto de conservación.
También hizo esto, después de una vida entera dedicada al estudio del combate, la espada y la estrategia en general.
Incluso, aunque todo esto haya sido producto de la necesidad, tenía las herramientas y el entrenamiento necesario para haber logrado esta revolución en combate.
Sin su entrenamiento, probablemente hubiera sido asesinado al momento de empuñar ambas espadas por primera vez.

Después Musashi se retiró con vida y se retiró del mundo. Enseñó a un par de personas, pero si no hubiera sido por el “Libro de los cinco anillos”, su arte hubiera muerto con él. En este libro Musashi expone lo que conoce acerca de la estrategia, en el que probablemente es uno de los tratados mas concisos acerca del tema. Los otros que escribieron acerca de la estrategia terminaron con grandes volúmenes de información.
Si piensas que “El arte de la guerra” es pequeño, debes tener en mente que los chinos tenían enormes cantidades de textos “oficiales” de estrategia, en el cual “El arte de la guerra” era solo una pequeña parte que se enfocaba a como la guerra se ajustaba a la política China de la época. El “Libro de los cinco anillos” cuenta con un diferente pensamiento, no fue específico a una era, fue pequeño, fue austero, y fue como ninguno otro anterior. Fue la culminación final de la maestría de un hombre.

Después de leer por años libros de historia de artes marciales, y estudiar todo lo que pude, comencé a observar un patrón común de entendimiento. Casi todas la personas consideran a alguien maestro de su arte cuando finalmente logra profundizar su conocimiento de poder hacer más con menos. Más que una elaborada secuencia de movimientos y saltos, el maestro podrá siempre dar un paso hacia un lado y atacar calculadamente con un golpe de mano. Cada historia relativa a los maestros es la misma en que, incluso cuando hayan fallado y con la muerte cerca, sus conocimientos y habilidades eran tan profundas y claras que sus simples movimientos tenían un gran poder. Para un maestro, los movimientos pomposos y adornados eran sólo un desperdicio de energía.

Aparentemente creen, que son historias que escuchado por ahi. Solamente mitos y leyendas que me han transmitido mis maestros y mis amigos. Pero en estas historias lo que se percibe es el como es una persona con “maestría”.

Una historia similar viene de un lugar al otro extremo del mundo y en una época diferente. Leí la historia acerca del Maese Bimba -creador del Capoeira moderno brasileño- donde combatió contra un retador de 20 años. Maese Bimba tenía 80 años y una movilidad limitada, pero aún asi enfrentó al joven.
El muchacho joven comenzó la pelea, con impresionantes movimientos por el aire, listo para desgraciar al anciano. Maese Bimba solamente esquivó el movimiento con una lenta vuelta de carro, y lanzó un ataque de pie.
El joven acelerado, aún saltando por el aire fue a dar exactamente su cara hacia el pie del Maese, quedando inconsciente.
Cuando se recobró peguntó, “¿Qué...qué fue eso?”
“Hijo, ese fue mi pie” respondió Maese Bimba.

Este tipo de historias son muy comunes en el campo de las artes marciales, y es imposible haber estudiado algún arte marcial sin haber escuchado alguna de ellas.
Cada maestro del que aprendí tenía historias similares acerca de sus sensei, sifu, y maeses. Cada una de esas historias es acerca de que un frágil anciano (o mujer) pudo realizar cosas sorprendentes con movimientos sencillos. Todas estas lecciones me enseñaron la misma cosa:
“Un maestro no desperdicia la energía. Cada movimiento es precioso”.
Un maestro hace ver todo suave, no forzado.
Nada es frustrante o difícil para él, porque no hace nada que no sea necesario.
Las acciones de un maestro son puras y elegantes.

El experto.
En todos mis estudios de artes marciales, siempre me consideré a mi mismo como un novato. Nunca estudié el tiempo suficiente para volverme un “experto”, pero cuando era joven, pensaba que si lo era.
Aunque estudiaba tanto, eso no me podría ayudar a volverme algún tipo de experto. Descubrí que tenía facilidad para volverme bueno en algo, pero para alcanzar la maestría me tomaría mucho más tiempo. No creo haber alcanzado la maestría en algún campo que haya estudiado. Solamente soy un experto, ahora probablemente menos, por haber dejado de practicar regularmente.

Creo que me he encontrado con muchos falsos maestros. Estas personas pueden ser muy buenos e incluso mucho mejores que yo. Usualmente tomé clases con ellos, no porque pensara que eran “Grandes Maestros”, o “Maestros” o algo por el estilo. Estos hombres (siempre fueron hombres, las mujeres eran muy pocas) eran llamativos. Podían lograr limpieza técnica, podían enseñar técnicas complejas, y podían explicarte cualquier posible detalle mínimo de su arte marcial.
Cobraban por clase y así era como se hacían de bastante dinero. Ser instruido por un doble de película era muy atractivo y eso les ayudaba a tener bastantes estudiantes.
Aún asi, ninguno de estos caballeros eran maestros. Eran instructores muy buenos, y no quiero insultarlos de ninguna manera, pero no eran maestros en su arte. Ninguno de ellos podía explicar de manera simple y clara los conceptos de su arte. Cuando les hacia preguntas complejas, me respondían de manera compleja. En ocasiones sus respuestas estaban equivocadas.
Como una persona que intento mostrar a todos como romper una palanca de brazo con un golpe de mano.
El me instó a que le hiciera una llave de brazo, debido a que yo había estudiado Judo, así que lo agarré y me aseguré de rotar cuando el me intentaba atacar. Se mantenía en su intento, y yo solo rotaba. No ponía mucha atención, cuando súbitamente me gritó “Demonios, ¡quédate en tu lugar! para que pueda hacer la demostración”. Le dije -Lo siento- pero pensé, “Ya parece que me voy a quedar quieto”.
Ese domingo, el me podría haber desgraciado de dos maneras diferentes, ¿pero una simple llave al brazo lo frustró?


El asunto principal que noté acerca de los expertos es que impresionan con sus habilidades. Casí siempre son increiblemente buenos, pero para ser reconocidos necesitan adentrarse en el camino de la maestría. Todo lo que hacen es un intento para probarse a si mismos de lo que son capaces de realizar y actuan un papel. No hay nada malo en ello, pienso que el experto no puede volverse maestro sin meterse en su papel en la vida. Aunque en algún punto, el experto se conforma con lo que ha alcanzado para impresionar a los demás, y comienza una búsqueda interna en el núcleo de su arte.

El programador.
Comenzaré a verme como un odioso presumido e idiota, pero no estoy intentando ser uno. Simplemente estoy intentando de explicar las diferencias que he notado entre el código escrito por mi y por los “expertos frustados”. De ninguna manera estoy dando a entender que soy un Gran maestro codificador. A lo mucho me considero un experto avanzado.

Lo que he notado es que mis iguales han progresado en diseños cada vez más complicados y rebuscados. Impresionan con las API flash, enormes cadenas, y el mas intrincado uso de características especiales. Son más que felices por escribir interminables unidades de pruebas para verificar sus interminables correciones mientras todos dicen seguir el mantra de XP “la cosa más simple es la que funciona”. He visto a una persona usar una librería de clase que no hacía más que encapsular la suma de dos cadenas, y algo como una “correción” de cuatro clases en dos interfaces. ¿Esto en que mejora las cosas? ¿Cómo podría ser esto hacer lo mismo de manera más simple?. Este nunca debe ser el caso.

Estas acciones son las de un experto. Los expertos son muy inteligentes, capaces y hábiles, pero están demasiado ocupados en impresionar a todos al realizar sus acciones que solamente se complican la existencia.
Al final de sus impresionantes diseños, no hacen más que trabajar demás a la gente que esta a su alrededor y a ellos mismos. Es como si su trabajo sólo fuera diseñado para tener más trabajo, en lugar de facilitar su trabajo.

Yo también era asi. Amaba los diseños complicados y leía todo lo que podía de las complicadas tecnologías. Pero conforme fui adquiriendo más experiencia y “maduraba” como programador, descubrí que las cosas complejas solamente son molestas. No son un reto mental para entender más, solamente son irritantes. Separe la basura llamativa, destilé la esencia de la tecnología que hace el diseño de las cosas más simples para las tareas diarias.

Lo que me preocupa es la reacción de los expertos a los diseños simplificados.
Normalmente dicen que el código que he escrito “no esta siguiendo con las mejores prácticas” o que “no está bien diseñado”. Se proponen complicar interminablemente los diseños con interminables situaciones posibles, y no se fijan en la pesadilla que puede ser darle mantenimiento a eso.
Luego los expertos se irán a pasear para implementar su Torre de Babel en llamas sin ningún comentario, con pruebas horriblemente complejas, asegurándose de que CADA UNA DE LAS CLASES TENGA SU INTERFACE, y terminando cada clase con “Impl” porque, es la mejor práctica. Después de la implementación, continúan complicando el diseño más y más con correcciones interminables con el único fin del refactoreo. Y cuando está hecho, tratan de entender su propio código y lloran.

Eso es el proceder de un experto. Aman la complejidad porque el arte es aún nuevo para ellos, algo que debe ser explorado. Una lista no solo es un pila, es una lista encadenada, un árbol red-black, o una lista doblemente encadenada. Para mí, es solo una pila. Veo que pierden la simpleza de las cosas por la belleza de las cosas. No aman la elegancia, y solo quieren gritar en la cima de una montaña que son seres superiores.
Mientras tanto, yo solamente son un hombre holgazán que quiere hacer su trabajo y escribe algo sin desperdiciar su energía. Quiero subir a la cima de la montaña con la menor cantidad de esfuerzo ya que sus gritos están causando una avalancha de mal código.

La llegada del Maestro Profesional.
La programación es una disciplina muy nueva, es por eso que hay muchos maestros programadores por ahí. Lo que es peor, las pocas personas que puedo considerar maestros no son ejemplo de lo que es la profesión y el arte del software. Son el típico profesor que nunca han escrito nada en para entregar en un plazo y tienen completa libertad para desarrollar cualquier cosa que deseen. Por ejemplo Donald Knuth, que fue capaz de tomarse tres años para desarollar por completo TeX. Básicamente Knuth es un “maestro amateur”. Una persona que trabajo en una completa utopía y fue capaz de afilar sus habilidades sin interferencias. Lo podría comparar con un hombre que se hizo maestro estudiando toda su vida en un monasterio.

En contraste, hay maestros en artes marciales que parendieron su arte como método de supervivencia y alcanzaron la maestría en entornos reales y hostiles. No tenemos nada similar en la profesión de programador, o al menos no me he encontrado con alguien asi (N. del T. Darakann lo és).
Creo que mi generación de desarolladores producirá el tipo de maestros forjados en el mundo real profesional. (Si, lo siento profesores, si no pueden ser despedidos por no cumplir un plazo de entrega para ser programadores del mundo real). Afortunadamente el desarollo de software continuará como profesión y podremos ver emerger desde la industria un semillero de programadores maestros para enfrentar a los maestros amateurs. Pero, si los expertos actuales continuan presionando por complicar, rebuscar, revolver e impresionar con sus diseños e ideas, entonces estaremos en un mundo perdido.

Así que mi súplica final, para todos mis compañeros expertos de ahí afuera es: Podrían por favor presionar en que los adelantos en desarollo de software vayan hacia la austeridad?.
Me encantaría un día escuchar a un jover programador contar una historia acerca de alguien que lo idolatraba diciendo: “Eráse una vez una persona que trabajó con alguien que optimizó un complicadísimo árbol red-black obteniendo una aceleración de un 300%. Yo me desconcerté y le pregunté, ¿Cómo hiciste eso?, es imposible. A lo cual el me respondió:
“Hijo, Es mi lista encadenada”.

Marco Antonio Arenas Chipola fue expulsado por insultar a mujeres y reclutador para sectas. Se confirma en el año 2009 que ha sido reclutado por la secta templo de la serpiente emplumada, y que realizó robo de un perro con pedigree hacia nuestra AC, además de despojo a su maestro de artes Marciales, Hoffner Long.
Responder


Mensajes en este tema
Traducir - por admin - 12-14-2007, 02:23 PM
Traducir - por Banned Chipola - 12-15-2007, 01:08 PM

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)