A continuación se muestra una imagen ampliamente difundida en Internet sobre la productividad de los programadores:

El padre Simpson probablemente diría: esto es divertido, porque la realidad es exactamente así.
Aún no he descubierto el truco para mantener la productividad, principalmente porque nunca he sido constantemente productivo. Joel Spolsky dijo una vez en uno de sus blogs:
A veces no puedo hacer nada.
Por supuesto, entro a la oficina, deambulo por ahí, reviso el correo electrónico cada diez segundos, miro páginas web e incluso hago cosas que no requieren pensar, como pagar la factura de American Express. Pero no vuelvo al flujo de escribir código.
Este tipo de episodio de baja productividad suele durar uno o dos días. Pero en mi carrera como programador, he tenido varias veces semanas enteras sin poder hacer nada. Como dicen, estaba distraído, no estaba en forma, no estaba en absoluto en condiciones.
Leí este artículo cinco o seis veces y todavía me impacta profundamente, porque una figura tan emblemática del mundo de la programación también tiene estos problemas de novato.
Menos mal que no soy el único que tiene este problema.
No tengo ningún secreto que compartir sobre cómo mantener la productividad, pero puedo decirles qué es lo que hace que mi eficiencia sea baja:
- Distribución de oficina abierta
- Programadores discutiendo sobre cuál es mejor, Django o .NET
- Discusiones generales entre programadores
- Un colega se acerca y pregunta: “Oye, ¿recibiste mi correo?”
- El sonido de masticar. Aparentemente tengo misofonía.
- No entender todavía el problema que tengo entre manos.
- Dudar del proyecto.
- Tener múltiples tareas que completar, todas ellas sumamente urgentes.
- Tener algo sumamente urgente y dejar de hacer cualquier otra cosa.
- El sonido de notificaciones de Weibo en el móvil.
- Ventanas emergentes de notificación de correo electrónico.
- Cualquier ventana emergente.
- Software de mensajería instantánea.
- La esposa pregunta: “Oye, ¿puedes tomarte un minuto para ayudarme con algo?”
- Tiempos de build largos.
- Ruido.
- Gente que no deja de pasar delante de mi escritorio.
- Actividades grupales de la empresa.
- Wikipedia (hablo en serio, no hagas clic en ningún enlace).
- Hacker News
- En general, Internet afecta la productividad.
En el pasado, estas cosas hicieron que mi trabajo fuera productivo:
- Ambiente tranquilo.
- Oficina tranquila (las oficinas privadas personales son demasiado raras).
- Entender cuál es el siguiente paso que debo dar en el proyecto.
- Tener un conocimiento profundo del problema.
- Sin interrupciones.
- Hablo en serio: sin interrupciones.
- Mantenerse alejado de Weibo.
- Mantenerse alejado de Hacker News.
- El hardware no da problemas.
- Amar el proyecto en el que estoy trabajando.
- Los tiempos de build y debug no son largos.
- No discutir de política en Internet.
Obviamente, la mitad de los factores de baja productividad son provocados por mí mismo, pero algunos no, como la distribución de oficina abierta.
En el fondo, cada uno de nosotros puede controlar los factores que nos hacen menos productivos. Yo no voy a oponerme pacíficamente. O tomo una postura firme, o me siento y dejo que los demás caminen a mi alrededor. En realidad no soy bueno lidiando con esto. Por eso no tengo buenos consejos sobre cómo manejar los factores externos de baja productividad, pero sé esto: controlar lo que puedo controlar. Es decir:
- Desactivar las notificaciones de mi iPhone (un beneficio adicional es que aumenta el tiempo en espera).
- Después de tres horas seguidas de codificación, me doy una recompensa (normalmente en forma de “tiempo de Internet”, para mirar Hacker News o Weibo).
- Trabajar desde casa solo cuando de verdad, de verdad tengo algo que hacer.
- Invertir en unos auriculares con cancelación de ruido de buena relación calidad-precio.
- Reservar en el calendario tiempo “sin reuniones” para indicar a los demás que estás ocupado en esos momentos. Este es mi tiempo de trabajo.
- No te involucres en discusiones entre programadores de la oficina; la gente tiene opiniones personales muy fuertes, y los programadores se caracterizan por ser argumentativos. Si realmente hay un problema de negocio que resolver, vayamos a la sala de reuniones y expongamos las ventajas y desventajas de cada método. Que hablen los datos, no solo discutir.
- Coloca tu escritorio en un lugar donde los transeúntes no te molesten.
- Primero leo el problema y luego pido a otro programador que me lo explique en detalle, para poder entender mejor el trabajo que hay que hacer. Esto logra dos cosas: primero, me permite dominar la situación, de modo que al menos tenga una comprensión básica de los puntos clave del trabajo. Segundo, me permite hacer preguntas más inteligentes cuando pido ayuda.
Enlace original: George Stocker
Enlace de la traducción: http://blog.jobbole.com/73383/