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…