viernes, 9 de marzo de 2012

Cómo se trabaja en GitHub: Las horas son basura


Traducción libre del original:

How GitHub Works: Hours are Bullshit
http://zachholman.com/posts/how-github-works-hours/

de Zach Holman

------------------------
Frederick Winslow Taylor escribió el gran análisis de management y eficiencia en 1911 con "Los Principios Científicos de la Administración". El tuvo el primer punto de vista científico en cuanto a maximizar la eficiencia en trabajos de manufactura. Tiempo es dinero. Rápido es mejor. Más horas son mejor trabajo.


Las horas son basura
Las horas son un gran modo de determinar la productividad en muchas industrias, pero no en la nuestra. Trabajar en una startup es una muy diferente experiencia respecto de trabajar en una fábrica. No puedes dedicarle más tiempo a un problema y esperar llegar a resolverlo. El código es un esfuerzo creativo. Tienes que estar del humor apropiado para crear código de alta calidad.

Recuerdas la última vez que estuviste depresivo o enojado. Qué tan productivo fuiste? Ahora piensa en la última vez que fuiste realmente productivo. El código volando desde la punta de tus dedos. No solo la pura cantidad, sino la pura calidad de ese código. Cuando estás en el estado de ánimo correcto, tu mejor día de programar puede ganarle a semanas de frustrante tipeo de teclado.

Queremos que los empleados estén en la zona tan a menudo como sea posible. Disponer de horarios específicos para que estén en la oficina hace daño a esa cuestión. Forzarme a estar en la oficina a las 9AM no me va a llevar a la zona nunca, pero la mitad de GitHub podría muy bien trabajar mejor durante la mañana.

Al permitir un horario de trabajo más flexible, creas una atmósfera donde los empleados pueden estar contentos acerca de su trabajo. Al final ello llevará a más horas de trabajo, y que esas horas sean incluso más productivas. Trabajar semanas se vuelve trabajar noches y ello se vuelve trabajar fines de semana, ya que ninguno se siente como si fuera "trabajo".


Un Día
Cada día en GitHub es diferente. Realmente no tengo un día "promedio", pero esto es una buena aproximación:

- Despertar alrededor de las 10am, revisar los logs de Campfire (N.deT. Es un chatroom masivo para los empleados de GitHub), limpiar los tickets de soporte de la noche.
- Tomar el colectivo al trabajo y desayunar cerca del mediodía o las una.
- Trabajar desde las 1pm hasta algo así como las 6-9pm en la oficina
- Ir a casa y trabajar/relajarme en mi sofá hasta las 2am, o
- Salir y tomar algo con mis compañeros de trabajo (más sobre esto luego)

Tenemos un grupo de gente (loca) que viene a trabajar alrededor de las 7am, tenemos algunos que vienen a las 3pm. Tenemos otros que son más productivos trabajando desde su casa. No hace falta que vengas a la oficina todos los días, si no tenés ganas (aunque la mayoría del tiempo todos vienen).

Por qué nuestro día es tan "libre"? Porque
1) Trabajar en chatrooms nos permite trabajar cuando y donde querramos y
2) queremos crear un ambiente donde la gente sea más productiva. No hay un solo "día de trabajo" que se acomode a las horas productivas de todos, así que no forzamos uno.


Forzandolo
Tenemos actualmente 35 empleados y creciendo, y este punto de vista funciona muy bien, pero los managers aman asignar horas de trabajo por una razón: les da la ilusión de que las horas pueden medir el rendimiento.

Si no le prestás mucha atención a las horas, te hace falta mirar métricas diferentes: Qué tan bueno es su código? Están arreglando bugs? Están metidos en el trabajo o la mayor flexibilidad no está motivandolos?

Es difícil hacer esos juicios cualitativos, pero aún así son más valiosos que "este tipo hoy trabajó 10 horas". Porque tan pronto como tú lo vuelves una cuestión de "horas", su trabajo se vuelve menos acerca de código y más acerca de "horas".

No hay comentarios: