miércoles, 16 de enero de 2013

¿Por qué los programadores trabajan de noche?


No es que los programadores (entre los cuales me incluyo aunque no sea informático) trabajemos solo de noche pero hay una cosa que me he preguntado muy a menudo y es eso mismo, ¿por qué de noche es cuando mejor trabajo?




Normalmente cuando es tarde estás cansado y quieres irte a dormir pero hay algo que me hace irme a dormir muy tarde y resulta que en ese tiempo es cuando más concentrado estoy y mejor trabajo hago.

Hoy he leído un post que me ha dado una idea de  por qué puede ser así y que creo que tiene bastante razón en muchos aspectos. Voy a tratar de resumirlo porque creo que a muchos les puede pasar igual y a algunos les va a ayudar a entender por qué suelo irme a dormir a las cuatro de la mañana tranquilamente.

Hay un dicho que dice que los programadores son máquinas que convierten cafeína en código. En mi caso lo del café es algo que se queda un poco fuera aunque es verdad que a veces ponemos la máquina a trabajar para tener algo de combustible que echar.
Si preguntas a un programador cualquiera cuándo trabaja mejor es muy posible que te diga que durante la noche. Muchos dicen que es porque así no los distraen, y es muy posible, pero si lo hicieses de día podrías cerrar la puerta ¿no?.

Para entender mejor por qué pasa esto se analizan tres puntos clave y más o menos estoy muy de acuerdo con todos.



El horario del creador

Básicamente la idea es que hay dos tipos de horario cuando a trabajo se refiere (The maker's schedule de Paul Graham).
Uno de estos horarios es el horario del manager, el que supervisa el trabajo, el que de algún modo tiene una visión general global de lo que se realiza. En este horario el día se divide aproximadamente en horas y si te distraes durante diez minutos y pierdes el trabajo como mucho pierdes esa hora de trabajo si tienes que volver a empezarlo.

El otro horario, como cabía esperar, es el horario del creador. Es el horario que tenemos aquellos que producimos el trabajo. Si en lugar de tener una idea general del trabajo que hay que hacer estás involucrado en un gran sistema y en montarlo todo, es necesario poner esa idea y la estructura en tu cabeza - un ejemplo que dan es alguien construyendo una casa entera de cristal y si te distraen un momento todo se cae y se hace añicos. En este caso una distracción puede acarrear tener que revisar lo que habías hecho antes para volver a reconstruir de cierta forma lo que tenías en mente antes de poder continuar, y a veces esto es un verdadero suplicio.

Es por esto que cuando estamos haciendo un código más o menos complejo y se nos distrae podemos enfadarnos bastante. Estamos ensimismados en eso que tenemos que montar a un nivel que más vale no salir de ahí si no quieres liarla luego.

¿Esto quiere decir que mejor no descansar? No, claro que no. Podemos parar y paramos pero lo hacemos a ciertos niveles dónde lo hecho hecho está y podemos desconectar. Es como cuando estás en un videojuego y te llaman para hacer algo y respondes "cinco minutos que guardo la partida". Hasta que no llegas a ese punto donde la partida está guardada, dejarlo implicaría volver a rehacerlo todo y a nadie le apetece eso.
Un ejemplo de esto es la frase que he dicho muchas veces de "es que voy a tener que salir en un momento, para lo que me queda de tarde no empiezo". Muchas veces he pensado que de verdad no me merecía la pena montar todo para media hora después volver a desmontarlo, el esfuerzo que requiere comparado con lo que al final consigues es desproporcionado. Desde que decides empezar hasta que comienzas a hacer algo que se pueda aprovechar pasa el tiempo que te quedaba hasta tener que salir.

Lo que acontece durante el día es basicamente que estás expuesto a constantes interrupciones debido a que todo el mundo está activo. Se hace trabajo de día porque digamos que es cuando se supone que hay que hacerlo pero la productividad durante el día baja mucho debido a estas constantes interrupciones que te obligan a andar montando y desmontando mentalmente el esquema.


El cerebro cansado

Otro punto con el que no estoy del todo de acuerdo pero es cierto que muchas veces he visto que me ha pasado es el siguiente:
Cuando cae la noche y empiezas a tener sueño después de todo el día despierto no te queda mucha energía para gastarla haciendo cosas que no son interesantes. Si te pones a trabajar en esos momentos y te concentras en lo que haces, no hay margen para hacer otra cosa que no sea eso y por lo tanto toda la concentración que puedes tener va enfocada al único sitio donde la estás enfocando. ¿Os acordáis del pico de Ballmer? Pues es parecido pero sin alcohol de por medio.

Todo el mundo funciona mejor de día, es más activo de día y la noche es para descansar. Pero esta falta de energía para hacer más de una cosa a la vez hace que te concentres de tal forma que desconectas literalmente de todo.

Algo que mencionan y que a mi también me ha pasado es que si a media noche te da por tomarte un café poco después estás perdiendo el tiempo. Te despiertas lo justo para ponerte a hacer otras cosas y al final no se aprovecha lo mismo que antes. Estar algo cansado te hace lo suficientemente tonto como para que una sola tarea te parezca suficiente.

La luz brillante del monitor

Todo esto parece a partes iguales un sinsentido y una verdad bastante grande si alguna vez has programado. El sinsentido lo parece porque si es tarde y estás cansado tu cuerpo empieza a desconectar y aunque no quieras te acabas cayendo de sueño en cualquier sitio. Voy a dar un ejemplo:

Imagina que estás en la cama leyendo un libro antes de dormir. Tienes la luz de la lámpara de al lado de la cama encendida y lees tranquilamente. Poco a poco empiezas a notarte cansado hasta que notas como empiezas a dormirte con el libro entre las manos. Es algo que a casi todos nos ha pasado alguna vez.
Ahora te pongo en esta situación que me ha pasado mucho desde que tengo la tablet. Estás igual que antes pero para no gastar luz apagas la luz de la lámpara ya que la pantalla de la tablet tiene luz propia. Estas a oscuras leyendo el libro en la tablet, ¿sabes en qué situación soy capaz de aguantar más tiempo leyendo? Lo has acertado, si leo de día, pero si hay que elegir entre las dos opciones anteriores, estar leyendo la tablet a veces me ha hecho quedar despierto interesado en la misma historia mucho más tiempo que si leo el libro.

La luz brillante que tienes enfrente te mantiene despierto más tiempo y te retrasa el ciclo de sueño. Por tanto no sientes esa necesidad abismal de irte a dormir cuando llegan las dos de la mañana y sigues haciendo cosas. Por norma general me voy a dormir sobre las tres de la mañana si estoy haciendo algo y al día siguiente me despierto un poco más tarde.

Esto me comenzó a pasar cuando jugaba al poker y debido a que era más rentable jugar contra jugadores norteamericanos me veía obligado a jugar en lo que era su tarde, que es a partir de medianoche aquí. Cuando este ritmo de sueño se va cambiando es muy difícil volver a otro diferente, igual que si te acostumbras a irte a dormir a las once es muy difícil aguantar despierto de forma general después de esa hora.

Cuando empecé a programar esto se acentuó porque el nivel de exigencia que tienes cuando juegas a poker y ganas o pierdes dinero con cada decisión no es el mismo que cuando escribes un código que un error te obliga a borrar dos líneas. Esa sensación de enfado cuando te equivocas jugando al poker (lo que llamábamos tilt) no sucede al mismo nivel cuando programas y por tanto es un plus menos que tienes para irte a la cama.

En conclusión, los programadores trabajamos mejor de noche porque no tenemos un límite de tiempo en el que trabajar antes de que alguien nos moleste o antes de tener que hacer otra cosa, lo que te da más tranquilidad a la hora de montar tu estructura mental. El cerebro no es capaz de concentrarse en varias cosas lo que ayuda a la concentración en una sola tarea y no nos caemos de sueño a una hora normal porque la luz del monitor nos mantiene despiertos.

Queda la discusión de si es sano o no, lo que es sano es dormir el tiempo que necesitas pero nadie dice que ese tiempo lo tengas que dormir de once a siete o de tres a once. Y sí, muy probablemente acabes con gafas.