Retrospectiva Enero 2009

En enero de 2009 realice un cambio muy importante en mi vida laboral, estuve trabajando por 3 años como Gerente de Desarrollo en la Bolsa Mexicana de Valores, fue una etapa muy importante en mi carrera profesional. Tuve la oportunidad de trabajar con el arquitecto de software más capaz que he conocido, el gran D.

El primer año ahi fue muy interesante, D lidereo la implementación tecnologica más grande y una de las importantes en las que he trabajado, con un impacto en la industriua financiera enorme. He de decir que cuando conoci acerca de la posibilidad de trabajar en BMV tuve miedo por el tipo de negocio y el tamaño e importancia de dicha institución, pero el trabajar a lado de D y aprender de el me ayudo mucho.

Con el tiempo fui aprendiendo y fortaleciendo muchos conocimientos que han sido muy bien aprovechados en los proyectos que he desarrollado hasta la fecha. La BMV ha sido un gran capital profesional para mi.

Los últimos dos años estuve a cargo de la implementación de la nueva arquitectura del Mercado de Derivados, muy interesante todo ahí, muy duro y ahora que lo veo a la distancia, me dejo mucho en lo profesional, pero mucho mas en el carácter y visión, aprendí mucho de ello, es bueno ver las cosas a distancia ya con otra perspectiva y experiencia.

En fin, esa etapa termino con un nuevo empleo que precisamente empezó en Enero de 2009, entre a trabajar en G, todo surgio muy inesperado sin buscarlo, solo llego una oportunidad, que tome y la logre.

Empece ahí sin expectativas he de decir, quería sanar de muchas cosas y en G lo logre. En G me encontré con el equipo técnicamente más capaz que he conocido, todos los ingenieros son unos cracks, un verdadero equipazo y no lo digo porque aún trabaje ahí (Enero 2010), en verdad es el mejor equipo en el que he estado. En G he vivido en carne propia y de verdad lo que es una empresa ágil, usando Scrum como marco de referencia.

Fue un mes muy importante para mi, aprendí a callar.

Pair programming en practica…

La practica de “Programación en pares” o “Pair programming” es algo que no había practicado en su totalidad, esta semana estuve practicando y de verdad creo que es una gran idea.

Por un lado, es complicado no tener el “control” del teclado, esto puede ser complicado o incluso molesto si eres muy posesivo con el teclado. Otra cosa interesante es que es muy útil usar un par de monitores, así como de teclados y ratones. Es requisito indispensable que los desarrolladores se pongan de acuerdo sobre quien hace que cosa, de lo contrario puede ser también molesto.

Lo que mas me ha gustado de “Pair programming” es que se favorece la comunicación entre desarrolladores, pues mientras uno teclea “su” código, el otro observa; esto permite que se intercambien ideas, experiencias, razonamientos; lo que se traduce en mejor código, maduro, estable. Esta experiencia para mi ha sido fabulosa, me agrada muchisimo la sensación que te queda al final de día cuando vez los resultados del trabajo. El rol de “observador” de código pretende que se pueda opinar y/o sugerir mejoras, intercambiar ideas con el “codificador”, al intercambiarse los roles la perspectiva cambia totalmente. Es muy recomendable, si no es que mandatorio, acompañar Pair Programing con TDD, pero TDD en serio.

A primera vista pareciera que el “Pair Programming” es muy costoso, dado que tienes a dos desarrolladores haciendo lo “mismo”, pero hay muchos beneficios adicionales a los que he mencionado. Lo que mas me ha impresionado es que se reduce la perdida de tiempo en otras cosas diferentes a lo que se debe hacer, se evita la procastinación. El tener a los desarralladores cada quien en su lado y aislado puede generar demasiada procastinación.

Me he sentido muy cómodo trabajando así, me he sentido productivo escribiendo código y mejorando el que mi compañero escribe, es rico irse a la cama sintiendose satisfecho y con ganas de ir a trabajar al otro día.

Empezando…

Asi es, me encuentro de nuevo empezando otra etapa de mi vida profesional. El cambio no pudo caerme mejor, de hecho lo necesitaba desde hace mucho tiempo.

Estoy en mi tercer día, sigo familiarizandome con el proyecto, que por razones de un convenio de confidencialidad no puedo contar, solo puedo decir que haré mucho Swing y mucho del lado del servidor, y todo con Spring. 😉

El entorno de trabajo es excelente, el ambiente me agrada mucho, pero sobre todo que se usa Agil, en concreto Scrum. Desde el primer día participe en el Daily Meeting. El equipo es auto-organizado, no hay líderes, la comunicación se favorece en lugar de la documentación excesiva. El equipo es multicultural, eso también me agrada mucho, voy a mejorar mi ingles, eso esta mucho mejor…

En fin, seguro aprendere mucho de Ágil, así que de ese aprendizaje empezare a bloguear. Tengo mucho que aprender…

El caracol del desarrollo…

Hace poco mas de un año escribí un post sobre algunas confusiones que se llegan a dar cuando no existe la comunicación adecuada o cuando de plano no te entienden si es que solicitas algo.

Resulta que me ocurrió algo similar, creo que la idea conceptual se entendió. La persona que lo debía desarrollar tenía una semana, para hacer un MDB

<En voz de narrador de radio novela>

Un mes despues…

</En voz de narrador de radio novela>

No esta listo. No es choro, es cruda realidad. Me lo contó un amigo…

Creando equipos…

Esta semana empece más en forma a trabajar con un nuevo equipo en mi trabajo, no me refiero a hardware, si no a ingenieros…

Hemos arrancado el primer proyecto con este equipo, debo decir que es nuevo porque apenas se incorporaron a la empresa y están empezando. Me ha gustado mucho darles la bienvenida a la empresa y mostrarles poco a poco lo que hemos ido desarrollando.

Son curiosos y la curiosidad es algo que me agrada mucho, estos chavos se ven muy bien y seguro haremos un buen equipo. Es justo la motivación que necesitaba. 😀

Calidad de vida…

Resulta curioso, o puede que no. Pero sin duda nuestra calidad de vida depende mucho de los compañeros de trabajo. Y toma mayor importancia si el trabajo que desempeñamos es parte de un todo, como los sistemas. 

Yo me dedico a eso, a los sistemas.

Un sistema puede ser simple, pero la gran mayoria son muy complejos. Y creo que a veces es  mas complejo el entorno en el cual el sistema crece o se desarrolla, que en el que produce. Menciono esto dado que la complejidad que un sistema abstrae es invaluable. Pero este valor tiene un costo muy alto, tanto en dinero, como tiempo y en el caso de los mortales, de vida. Mientras el sistema se desarrolla, una vez que esta produciendo es diferente.

Dejando a un lado mi penosa cuasi-definición de un sistema, me permito pedir calidad de vida.

Recuerdo que mi maestro, mi sensei, una vez me dijo de manera textual: “Get a life”. Le hice caso. Pero no deje de trabajar.

Resulta que desafortunadamente, el tiempo que dispones para tener una vida no depende de ti. Muchos pensaran que soy un pendejo por escribir esto, pero creo que se engañan.

Solo hay que pensar por un momento que hariamos sin nuestro empleo. A lo mejor consigues otro, puede que no. Pero la vertdad no puedes vivir sin trabajar. A menos que tengas dinero. Y si estas leyendo esto, sin duda no lo tienes 🙂

Ahora me encuentro viviendo una doble vida en el trabajo. Acabo de terminar una semana de 83 horas de trabajo. ¿La causa? No lo se. Así es, no lo se.  A estas alturas ¿que importa?, sigo trabajando. Corrijo, detecto, me enojo, me frustro, me recrimino, me regaño…

Estoy harto, hastiado. ¿que puedo hacer?. No lo se ahora, ¿escuchar musica?, no se… 

Deliro, me mareo, maldigo, me arrepiento…. Mierda… Ya no quiero, quiero mas… Quiero otra cosa, quiero de lo mismo. joder no me pongo de acuerdo…

Tu eres, de ti depende mi calidad de vida, ¿porque no terminas? ¿porque lo haces mal? ¿que hago mal?. Piensa. Te pido demasiado.