Desarrollo Por Placer: Cómo Lidiar Con La Falta De Tiempo Y Motivación
En mi tiempo libre, lejos de mis responsabilidades gerenciales, me gusta trabajar en pequeños proyectos de desarrollo. Sin embargo, como muchos otros desarrolladores, me enfrento a dos principales limitaciones: la falta de motivación y de tiempo.
Por qué el tiempo libre es una limitante
Tengo alrededor de 10 horas por semana que puedo pasar frente a la computadora. Esta limitación cambia mi enfoque hacia el desarrollo. Un proyecto pequeño que podría completarse en un mes a tiempo completo (40 horas por semana durante 4 semanas, un total de ~160 horas) se extiende a 4 meses a razón de 10 horas por semana. Esto afecta considerablemente la percepción del proyecto.
Por qué la motivación es una limitante
He comenzado (y abandonado) proyectos muchas veces. La motivación es una cosa complicada. Al principio, la idea te inspira y estás dispuesto a trabajar 24/7 para ver resultados rápidamente. El problema es que este modo de trabajo afecta negativamente tu vida personal y tu trabajo principal. Si no ves resultados a largo plazo, la motivación desaparece. Es difícil trabajar durante 4 meses en algo que no da resultados tangibles cuando podrías pasar ese tiempo con la familia y amigos.
¿Cómo enfrentarlo?
Mirando hacia atrás, ambas limitaciones parecen obvias, pero durante mucho tiempo no las tomé en cuenta. En algún momento, me di cuenta de su impacto y comencé a buscar formas de sortearlas para no abandonar mis proyectos.
Como cualquier desarrollador al inicio de mi carrera, pensaba que pronto lanzaría un proyecto que generaría mucho dinero. Una especie de win-win: haces lo que te gusta y obtienes mucha libertad y dinero. En realidad, descubrí que el desarrollo es solo una pequeña parte del proceso y rara vez lleva al éxito financiero por sí solo. Intenté lanzar varios proyectos, pero carecía de experiencia, conocimientos y, en última instancia, motivación. Los proyectos quedaron abandonados.
En algún momento ideé una fórmula que me ha funcionado durante varios años. Decidí que solo desarrollaría aquellos proyectos que pudiera utilizar yo mismo y empezar a usarlos dentro de los primeros dos meses.
Este enfoque cambió considerablemente la forma en que llevo a cabo el desarrollo en mis 10 horas semanales. Me di cuenta de que pensar en la idea o hacer la planificación se puede hacer en el transporte o durante tareas domésticas, para aprovechar al máximo el tiempo disponible para la implementación. También reduzco al máximo las funciones, centrándome solo en las más importantes, y no dedico tiempo al UI (por ejemplo, maquetación), ya que es la parte que más tiempo me consume. Puedo empezar a usar el proyecto con bootstrap, y hacerlo más bonito con el tiempo.
Con el tiempo, he acumulado una serie de prácticas y herramientas que utilizo en el desarrollo de mis proyectos. Si bien las herramientas son bastante comprensibles, me gustaría compartir las prácticas por separado (probablemente en el próximo post).
Cómo aplicarlo en el trabajo gerencial
En cuanto a la motivación, esto también es válido en el trabajo dentro de una empresa. Como gerente, debo mantener la motivación de los ingenieros. Una de las formas es organizar los proyectos de manera que se pueda obtener feedback lo antes posible. El desarrollo en pequeñas iteraciones ayuda mucho a conseguir esto. El problema principal es que muchos desarrolladores (y también gerentes) no quieren o no saben trabajar en pequeños pasos, y a menudo, esta es una cultura ya establecida en la empresa, la cual es extremadamente difícil de cambiar. Como resultado, el desarrollo se prolonga, la motivación disminuye y los proyectos se abandonan, sin dar ningún beneficio a la empresa.