delucas.blog!

sobre mí

Las 10 reglas de un programador Zen, por Christian Grobmeier

03 Jan 2014 | programación opinión traducciones

Texto original por Christian Grobmeier, el 3 de Febrero de 2012 a las 8:52 pm

ACTUALIZACIÓN: ¡El libro “El programador Zen” está disponible! Hacé click aquí

En una mañana lluviosa me encontré pensando en el trabajo eficiente, sentado a mi mesa. Antes de que comience como trabajador independiente, tuve unos días en los que trabajaba mucho pero sólo podía obtener un peores resultados.

Comencé con la práctica del Zen allá por el año 2006. Lo que claramente vino a mi mente antes de eso fue: los antiguos maestros Zen ya conocían hace cientos de años, cómo los programadores de hoy deberían trabajar. Aún cuando no me gustan esos post del tipo “sé un mejor programador”, quiero delinear algunos de mis pensamientos de esa mañana. Esto va a servirme como recordatorio, pero si tenés alguna idea sobre esto, sentite libre de comentarlas.

1. Foco

Si te decidiste a trabajar en una tarea, hacela tan bien como puedas. No comiences múltiples cosas a la vez. Hacé sólo una cosa a cada momento. No vas a hacerlo más rápido, sólo vas a trabajar en múltiples hilos. Si trabajás en múltiples hilos, te vas a agotar, equivocarte y a perder tiempo saltando de una tarea a otra. Esto no es sólo sobre la programación, es un consejo general.

Kodo Sawaki dice: si necesitás dormir, dormí. No planees tu software cuando tratás de dormir. Sólo dormí. Si programás, programá. No sueñes, programá. Si estás tan cansado que no podés programar, dormí. Aún conocidos trabajadores en múltiples hilos como Stephan Uhrenbacher entretanto han decidido trabajar en una sóla tarea. Yo tuve una experiencia similar a la de Stephan y finalmente escribí Time & Bill, una herramienta para el seguimiento del tiempo. El objetivo era seguir mis tiempos tan fácilmente que pudiera hacerlo aún para tareas pequeñas como una llamada. Ahora podía crear un par de cronómetros al inicio del día y llevar cuenta de mi tiempo con sólo un click. El resultado fue un desastre: a veces sólo trabajaba un par de minutos en una tarea hasta que me movía a la siguiente. Ahora he mejorado: En forma similar a la técnica Pomodoro, planifico algunos bloques de tiempo y me concentro en ellos. No chateo, no duermo, no chequeo ningún gran juego en el Appstore.

2. Mantén tu mente limpia

Antes de trbajar en tu software, necesitás limpiar tu memoria. Descartá todo lo que haya en tu mente en ese momento. Si tenés problemas con algo, no dejes que te influencien. En la mayoría de los casos, los problemas se irán. Si el problema es tan grande que no podés dejarlo ir, no trabajes. Tratá de resolverlo. Pero cuando comenzás a trabajar, dejá el mundo exterior lejos.

¿Algo interesante en la lista de correo? Dejalo ahí. Podés revisarlo de nuevo más tarde. Apagá lo que llena tu mente con mierda: cerrá Twitter, Facebook, tus e-mails. Deberías también poner en silencio el timbre de tu teléfono y dejarlo en tu bolsillo. Podrías decir que esto es similar al ítem #1, foco. Pero hay una restricción más: no utilices esas herramientas antes de trabajar o durante el almuerzo. Éstas te conectan con el mundo exterior, y probablemente te traigan algún nuevo problema o cosas que requieren tu atención.

Pensalo de este modo: la mayoría del tiempo tu mente está bastante limpia cuando te levantás en la mañana. Si no lo está, algo de deporte ayuda (yo hago carreras de larga distancia). Si te sentís limpio y renovado, andá a trabajar tan bien como puedas. Cuando dejes tu trabajo entonces podés llenar tu mente con ese montón de cosas. Vas a ver que no es tan divertido si tenés un día completo de trabajo detrás de tí. Twitter y compañía consumen mucha de tu energía. No pienses: “es sólo un minuto”. No lo es.

Ya lo sabés.

3. Mente de principiante

Recordá los días cuando eras un principiante. O memorizá, si sos aún uno de ellos. Nunca habías aprendido lo suficiente. Pensá en vos mismo como si fueras un principiante, cada día. Siempre tratá de ver las tecnologías desde la mente de un prinicipiante. Podés aceptar correcciones a tu software para mejorarlo y dejar el camino habitual si lo necesitás más simple. Hay algunas buenas ideas aún de gente que no tiene tu experiencia.

¿Acaso alguna vez se construyó el mismo software dos veces, del mismo modo? Aún si lo copiás es de algún modo diferente.

4. No Ego

Algunos programadores tienen un problema inmenso: su propio ego. Pero no hay tiempmo para desarrollar un ego. No hay tiempo para ser un rockstar.

¿Quién es el que decide sobre tu calidad como programador? ¿Vos? No. ¿Los otros? Probablemente. Pero… ¿podés realmente comparar una manzana con una banana? No. Vos sos un individuo. No podés comprarar tu persona completa con otro ser humano. Sólo podés comparar algunas pocas facetas.

Una faceta no es algo de lo que puedas estar orgulloso. ¿Así que sos bueno con Java? Genial. El otro muchacho no es tan bueno como vos, pero es mejor en los bolos. ¿Es más importante Java que los bolos? Depende de la situación. Probablemente ganes más dinero con Java, pero el otro muchacho podría divertirse más en la vida por sus amigos de los bolos.

¿Podés realmente estar orgulloso porque sos un geek? Los programadores con ego no aprenden. Aprendé de todos, de los expertos y de los novatos al mismo tiempo.

Kodo Sawaki una vez dijo: “vos no sos importante”.

Pensalo.

5. No hay objetivo de la carrera.

Si querés obtener algo y no te preocupa tu vida “ahora”, ya perdiste el juego. Sólo actuá tan bien como puedas, sin buscar el objetivo que alcanzarías luego de mucho tiempo.

¿Trabajar 20 años para convertirse en socio? ¿Por qué no estás trabajando tan duro como puedas sólo porque es divertido? El trabajo duro puede ser divertido. Un día sin trabajo es un día sin comida es un dicho Zen.

No hay necesidad de comenzar a ser feliz luego de 20 años. Podés ser felíz en este momento, aún si no sos un socio o si no conducís un Porsche. Las cosas cambian muy fácilmente. Te enfermás. Te despiden. Quedás quemado mentalmente (si seguís esta guía puedo adivinar que es poco probable).

A menos que esas cosas malas sucedan, sólo trabaja tan bien como puedas, y divertite haciéndolo. No hay razón para mirar las ganancias de los colegas. No hay razón para pensar sobre el nuevo puesto que no obtuviste. Después de todo, alcanzarás algo. Vas a terminar con algunos lindos recuerdos, quizás un buen puesto - y 20 excelentes años. Cada día es un buen día.

Si alguna vez llegás al punto de pensar que trabajar en tu compañía ya no es divertido en absoluto debés irte inmediatamente. NUNCA te quedes en una compañía que quita la felicidad de tu vida. Por supuesto, esto sólo es posible en paises ricos, donde la gente tiene la opción de irse. Pero si estás viviendo en tan buen entorno, hacelo. Andate sin resentimientos. No tenés tiempo que perder, probablemente mueras mañana. Cuando no tenés objetivos de carrera irse es fácil.

6. Callate.

Si no tenés nada que decir no gastes el tiempo de tus colegas. Esto no te hace ver débil. Cada día que trabajás necesitás intentar no meterte con los nervios de alguien más. Imaginá si todos probasen esto - ¿qué gran lugar de trabajo sería? A veces esto no es posible. Intentá duro, te gustará.

Si no desarrollás un ego es bastante fácil callarse y preocuparse de las cosas de las que tenés algo que decir. No mezcles tu ego con tu “experiencia” y siempre recordá: sos un principiante. Si alguien tiene una idea, apoyá la idea.

7. Conciencia plena. Preocupación. Atención.

Sí, estás trabajando. Pero al mismo tiempo estás viviendo y respirando. Aún cuando tenés tiempos difíciles en el trabajo necesitás escuchar a los signos de tu cuerpo. Necesitás aprender sobre las cosas que son buenas para vos. Esto abarca todo, incluyendo cosas básicas como la comida. Necesitás tener cuidad de vos mismo y de todo lo que hay en tu entorno - porque después de todo, el agua que bebés es el agua que corre en el río. Porque estás viviendo sólo por vos mismo. Vivís solo y morirás solo. El mundo sigue, aún sin vos.

Evitá trabajar en situaciones que no te gustan. Evitá trabajar gratis si esto significa que no te divertirás y te mantiene lejos de la cama. Dejá ir aquello que no te hace felíz. ¿”Trabajar gratis” es sólo una teoría? Considerá la gente que hace Open Source en su tiempo libre. Si te suscribiste a algunas listas de correo de proyectos, probablemente sepas qué clima hay (a veces). Si no te divierte dejá de hacerlo. Conozco un montón de gente que trabaja en un entorno Open Source que no les gusta. Nuevamente con Time & Bill tomé cuenta del tiempo que gastaba en proyectos Open Source y me sorprendí de cuánto tiempo perdía allí, especialmente en proyectos que no me gustaban demasiado.

Teniendo esto en mente, algunas personas piensan que sólo son felices cuando tienen su tiempo libre y pueden gastar la noche con una xbox y algunas cervezas. Mientras que esto es una buena idea a veces, no significa necesariamente que todo el tiempo de tu vida es “divertido”. Si podés evitar situaciones que no te gustan, evitalas (como dije arribe). Pero a veces se necesita algo realmente apestoso. Como por ejemplo copiar manualmente cosas de la planilla de cálculo de tu jefe en phpmyadmin. Puede llevarte días, y es realmente aburrido. No es divertido, pero a veces necesitás hacer ese tipo de cosas. No siempre podés renunciar cuando tenés una tarea aburrida. Los Monjes Zen no le temen al trabajo. Se levantan a las 4am (a veces antes, a veces después, depende del convento) y comienzan a meditar y trabajar (y también consideran el trabajo como forma de meditación). Tienen cosas que hacer como limpiar los baños. O trabajar en el jardón. O como un Tenzo, cocinar. Lo hacen con todo el cuidado que pueden tener. Lo que sea que hagan, lo hacen sin sufrimiento y son (o deberían ser) felices, porque cada segundo, aún el segundo cuando limpian los baños, es un segundo de sus vidas.

Dicho esto: dejá de llorar, si tenés que copiar un Excel. Sólo hacelo. No gastes tu energía con esas cosas, pasarán. En cambio, convertite en el mejor copiador de excel que existe.

Si sufrís un ataque al corazón, la gente probablemente dirá: “oh, sí, él realmente trabajó mucho, asimismo trabajó para mí gratis por la noche”. Nadie puede guiarte al otro mundo. Ese último paso lo tomamos solos. No podés intercambiar nada de este mundo. Ni siquiera un pedo. Entonces depende de vos tomar cuidado en cada segundo. Si morís, morí. Pero cuando vivís, viví. No hay tiempo que perder.

“Cuidado” es una palabra enorme en el budismo zen (y pienso en todas las formas de budismo). No puedo expresar todo lo que necesita decirse, es difícil de entender los diferentes significados de “cuidado”. Probablemente estés mejor con el término “atención”. Debés prestar atención de lo que hacés, a cada segundo de tu vida. Tenés que tener conciencia plena de tu vida. De otro modo, la gastás. Pero, por supuesto, depende de vos hacerlo, si querés.

8. No hay Jefes

Sí, hay alguien que te paga. Hay alguien que te dice qué cosa necesita hacerse. Y puede despedirte. Pero no es una razón para abandonar tu propia vida o enfermarte por tu trabajo. Finalmente tu Jefe no tiene control sobre vos. Se puede aún dudar si vos tenés control sobre vos - pero no investiguemos ese camino ahora.

De vuelta a tu Jefe: puede hacer tu vida más dura si lo dejás. Pero hay una salida. Decí “No” si te pide hacer algo que te enferma o va contra tu ética. ¿Qué sucederá? En el peor de los casos, te despedirán. ¿Y qué? Si vivís en los países del oeste y sos un programador (lo que es muy probable si estás leyendo esto) obtendrás otro trabajo.

No me refiero a decir “No” a tareas como copiar datos CSV a un HTML. Hablo de semanas de 80 horas y que sientas que tu cuerpo se rompe. O si sentís que tus niños necesitarían más atención. O si te fuerzan a despedir gente sólo porque a tu Jefe no les gusta. O si sos un consultor y obtenés un trabajo para desarrollar software para plantas nucleares (algunos podrían decir que es perfectamente correcto trabajar para plantas nucleares - va en contra de mi ética y sirve como ejemplo) o para tanques. Podés decir “No”.

9. Hacé otra cosa

Un programador es más que un programador. Debés hacer algo que no tenga nada que ver con las computadoras. En tu tiempo, navegá, pescá, nadá. Meditá, hacé artes marciales o tocá el Shajuhachi. Lo que hagas, hacelo con todo el poder que te quede. Así como hacés en tu tiempo de trabajo. Hacelo seriamente. Un hobbie no es sólo un hobbie, es la expresión de quién sos vos. No dejes que nadie se burle cuando dice que los hobbies no son importantes. Hoy por hoy podemos tener hobbies. Yo grabé bastantes CDs y escribí libros de fantasía (el último no publicado, debo practicar más). Esas cosas me hicieron ser la persona que soy y finalmente me llevaron al Zen y a este post. Estos días practico Zen Shakuhachi. Es un aspecto muy importante de mi vida diaria.

10. No hay nada especial

Una flor es belleza. Pero sólo es una flor bella - nada más. No hay nada especial al respecto. Vos sos un humano que puede programar. Quizás sos bueno. No hay nada especial al respecto. Sos del mismo tipo que soy yo o todos los otros en este planeta.

Necesitás ir al baño y necesitás comer. Por supuesto, necesitás dormir. Luego de (esperemos) un buen tiempo vas a morir y todo lo que creaste se perderá. Aún las pirámides se pierden, luego de un buen tiempo. ¿Sabés los nombres de la gente que construyó una pirámide? Y si los conocés… ¿es importante que los conozcas? No lo es. Las piramides están ahí, o no. Nada especial.

Lo mismo pasa con tu software. El banco gana dinero con tu software. Luego de que te vas, nadie te recuerda. No hay nada malo al respecto. Es el correr del tiempo. Nada de lo que debas preocuparte. Si vivís tu vida con las 9 primeras reglas, verás que ese último proyecto en el que estuviste fue bueno y divertido. Ahora es simplemente tiempo de movilizarse y concentrarse en algo diferente.

Si tu compañía cierra por problemas financieros, no hay problema. La vida continuará. No hay necesidad real para una xbox, un auto o algo así. La mayoría de la gente en este planeta vive en la más profunda pobreza. No se preocupan por una xbox porque estarían agradecidos de tener comida o incluso agua.

Entonces… ¿por qué exactamente sos especial? ¿Porque tenés la suerte de haber nacido en el oeste? ¿Porque podés programar? No, no hay nada especial al respecto. Podés dejar ir tu ego y vivir libremente. Disfrutá los colores y el aroma de las flores. No te entristezcas tanto cuando llega el invierno y no te regocijes demasiado cuando vuelve la primavera. Es sólo un flujo. Tenelo en mente cuando alguien rechaza tu propuesta. Porque la compañía no es tan especial como para que necesites preocuparte por el trabajo.

**Descargo: ** No soy un monje Zen. Sólo estoy practicando y aprendiendo. Por favor preguntá a tu monje Zen local si sentís que hay algo que querés entender más profundamente. Por supuesto puedo tratar de responder en este blog, pero bueno, sólo soy un principiante. De cualquier modo me alegro que comentes y si pudieras twittear con un link a esta página si te gustó el post. ¡Gracias por leer!

Ilustración hecha por Adrián

Notas del traductor: Se reproduce el texto traducido, con permiso explícito de Cristian Grobmeier.
La ilustración no forma parte del artículo original, sino que es un aporte de Adrián ¡Gracias!

comments powered by Disqus