Archive for December, 2012



¿Puedo ayudarte?

Además de ser desarrollador de software, soy consultor y mentor. Los tres roles me gustan siempre que sean medios que me permitan ayudar a los demás. Ser de utilidad a alguien. Cuando tengo que escribir un software que no va a servir a nadie, no encuentro la motivación para ello (de ahí que cada día piense más "lean" porque no me gusta trabajar en cosas que no se usan). Cuando tengo que impartir un curso a alumnos que asisten obligados, no me siento motivado a ello. Cuando tengo que ser consultor en un cliente que no quiere escuchar sugerencias ni propuestas de mejora, no me motiva serlo.
Pero en todos los demás casos estoy encantado de ser desarrollador, consultor y mentor, por separado o combinando los roles. Dependiendo de las necesidades de mi cliente.

Desde hace más de un año, SaludOnNet ha sido mi principal cliente y lo siento como mi equipo de trabajo. El reto era y es muy grande porque la empresa está creciendo muchísimo y el producto es muy poderoso y lider en el sector, con una competencia feroz. Como agente de cambio en la organización he aprendido muchísimo. Afortunadamente hemos mejorado mucho en este año y siento que cada vez se me necesita menos. Esto quiere decir que estamos haciendo bien el trabajo, aunque tambien hemos cometido errores. Yo he cometido algunos que no repetiré.   La misión de un consultor externo consiste en hacer que el equipo mejore sin que se genere una dependencia permantente. Es decir, mi objetivo es ser prescindible cuanto antes, tal que en el largo plazo solo tienen que contar conmigo para momentos puntuales. A partir de enero ire dedicando menos tiempo progresivamente a mi equipo de SaludOnNet para que otros equipos y empresas puedan contar conmigo.
En este periodo también he tenido la suerte de formar parte del equipo de Alea Soluciones, el cual ya por suerte no me necesita, porque son totalmente autosuficientes y el tamaño es más manejable (gracias @eferro!).

Recientemente me ha sorprendido mucho que amigos de la comunidad me dijesen que desconocían que podían contar con mi ayuda para sus equipos. ¡Claro que se puede, ese es mi trabajo!

En España la mentalidad de contratar al consultor externo no está muy consolidada. Cuando a las empresas les gusta cómo trabajas quieren que te quedes en plantilla con ellos de forma exclusiva todo el tiempo posible. Por otro lado cuando no te conocen les resulta difícil entender por qué, en sólo unas semanas de trabajo, les puedes ayudar a dar un gran salto en el camino de la mejora contínua. Pero creo que las cosas están cambiando y se está empezando a confiar más en expertos que sólo están de paso.

¿En qué puedo ayudar a tu empresa o a vuestro equipo?

Cómo desarrollador y arquitecto

  1.  En identificar y solucionar problemas de infraestructura y arquitectura:
    En algunos equipos la arquitectura brilla por su ausencia y sin embargo es esencial para abordar cuestiones como la tolerancia a fallos, la trazabilidad, la escalabilidad, la internacionalización, la seguridad, la reutilización, etc... Puedo ayudar en el diseño de la arquitectura o en mejoras de la arquitectura existente.
  2. En mejorar el proceso y las metodologías de desarrollo. Desde la toma de requisitos en las primeras conversaciones con el cliente hasta las puestas en producción. Revisamos y trabajamos juntos en el ciclo completo de desarrollo aplicando métodos ágiles y lean. A la vez que aplicamos BDD hacemos pair programming para que el conocimiento se quede en el equipo. Practicamos eXtreme Programming adaptado al contexto del equipo. Hacemos código limpio y mantenible en equipo.
  3. En solucionar problemas técnicos varios, como por ejemplo refactor de código legado o nuevos diseño.
  4. En resumen, tanto para ayudar técnicamente en el arranque de los proyectos como para desatascar los que llevan tiempo en marcha.
Tarifa como desarrollador/arquitecto para 2013: 50€/hora. (la tarifas podrían cambiar)

Cómo consultor

Mediante observación y sentido común, el trabajo del consultor consiste en ayudar a que su cliente vea lo que en realidad es evidente y sin embargo, pasa desapercibido.
El día a día de las empresas absorbe a los individuos de una manera que ya no consiguen ver cuál es la raíz de sus problemas o incluso darse cuenta de cuáles son sus problemas. Unos días de análisis y observación por parte de un agente externo, no condicionado por la rutina de la empresa, da como resultado un informe que incluye acciones de mejora a aplicar en el corto y medio plazo. En cierta forma es una auditoría global que tiene el objetivo de idenfiticar problemas y proponer soluciones a los mismos.
Mi propuesta es pasar cuatro días trabajando en vuestras oficinas, manteniendo contacto con todas las capas de la empresa. Necesitaré tener pequeñas reuniones con los diferentes actores que intervienen en vuestros proyectos/productos y en ocasiones incluso, sentarme a trabajar con los desarrolladores para analizar y auditar también el trabajo técnico.
A veces también aplicaré mi experiencia y conocimientos de coaching (reconociendo que no soy coach profesional) para ayudar a personas dentro de las organizaciones con problemas puntuales.
El último de esos días determinamos juntos las acciones de mejora a aplicar y trazamos un plan de cambio para los siguientes tres meses. Durante esos meses mantenemos videoconferencias regularmente para reforzar el proceso de cambio y regreso a visitar la empresa dos o tres días cada mes. Cada vez paso menos tiempo por la empresa hasta que al final el cambio se produce sin necesidad de que yo ayude.

Tarifa como consultor para 2013: 90€/hora. (la tarifas podrían cambiar)

 

Cómo mentor/docente:

Llevo años impartiendo cursos técnicos. La docencia me encanta cuando no ocupa el 100% de mi actividad profesional y los asistentes vienen con ganas de aprender. En los últimos años me he especializado formando a desarrolladores en  Test Driven Development y Behavior Driven Development, revisando también otras prácticas de XP como la programación en pares.
Ofrezco cursos in-house dentro de las empresas y tambien cursos en abierto. En ambos casos, los trabajadores pueden utilizar la Fundación Tripartita para que hasta el 60% del precio del curso les sea subvencionado.
Si quieres  organizar un curso abierto en tu ciudad y crees que puedes convocar al menos a 10 asistentes, contactame y podrás beneficiarte de descuentos como organizador del evento.
Los cursos son de un dia y de dos días, depende del contenido. El temario y ejercicios son adaptados al contexto del grupo.

Tarifa como profesor para 2013: 190€/dia/asistente. La formación ocupa toda la jornada laboral.

Buscando la sinergia

En los últimos años he buscado colaboraciones con otros profesionales independientes para dar mejor cobertura a las empresas. La sinergia significa que 1+1 pueden ser 3 o 4, no sólo 2. Cada colaboración ha sido para mi un placer y una oportunidad de mejora y aprendizaje. Sin embargo no es fácil crear verdadera sinergia. Hay que estar muy alineados y sincronizados. Por ahora es mi asignatura pendiente como consultor autónomo, hacer verdadero equipo con otros consultores autónomos para proyectos concretos.
Estoy abierto totalmente a colaborar con otros profesionales siempre que exista un win-win, es decir que ganemos todos. Que la energía fluya en las dos direcciones y haya auténtica sinergia.
Es muy posible que pronto haga consultoría en pareja para aportar todavía mayor valor a las empresas y al mismo tiempo conseguir feedback rápido para mejorar.  Es decir que iremos dos consultores juntos a las empresas para complementarnos. Pero será una estrategia muy meditada y trabajada para estar seguro que nuestros clientes obtienen el máximo beneficio.
Si quieres que colaboremos, por favor contacta conmigo y hablemos por videoconferencia y en persona para ver si efectivamente compartimos la misma visión.
Desde luego mi visión no es pelear por los clientes sino hacer bien el trabajo para que lo demás venga por inercia.

Este 2013 se presenta repleto de retos y cambios, como la vida misma. Lo comienzo con la ilusión de poder contribuir al desarrollo de las personas y el bien común.

Gracias por contar conmigo 🙂

Nota: Estos precios son para el mercado español. En otros paises de Europa manejo otras tarifas.

Pair programming for charity

Do you want to pair up with me for a good cause? I am proposing people to code with me over the internet to practice Test Driven Development, refactoring and pair programming. Instead of giving me money for that, I would like my pair to donate some money or time for charity. It works like this:

  • You choose the cause you want within the following three categories: people in need, animal welfare or nature conservancy.
  • So donations can't go to open source projects or startups.
  • You choose the amount. Think that we will be programming for one hour or more. Donate at least the money that you think it's worth an hour of pair programming with me.
  • Pay or provide active help and send me the receipt of your donation.
  • Choose the day and time. I usually prefer to meet on Sunday evening.
  • We meet through Skype or Google Hangout and share desktop with TeamViewer or Chrome Remote Desktop.
  • You choose the programming language, tooling and problem to solve. I can propose several code katas if you don't know what to work on. We can also work on any of my projects (LiveTeamApp for example).
  • Your name goes to the developer's charity "hall of fame".

What value do you get from a pair programming session with me?

  • I've been doing TDD daily for 5 years now. I can help you understanding TDD by solving together a code kata. I've also been training developers on this. We can talk in English or Spanish.
  • I've been practicing pair programming daily for 3 years now. With different people using several languages.
  • Most of the time I code in Javascript, Python, C# and Java. I can help you learning any of these languages.
  • You get the chance to share what you know and I'll be happy to listen and learn from you.

Can you copy this idea?

The idea is not mine. This is just a mix of ideas from Corey Haines, Sebastian Hermida  and more people. I'll be happy if you create your own "hall of fame" and invite developers to pair up with you for charity. If you do so, please send me the url and I'll link to it. We can use the hashtag #pairing4charity in twitter for this 🙂

Together we can become better developers, better professionals, and help others 😉