18 julio 2007

Carta de derechos de un programador

Echando un vistazo al blog de Jeff Atwood (Coding Horror) he encontrado otro artículo que me gusta, como viene siendo frecuente. En este caso se trata de algunas de las condiciones básicas que todo programador debería tener (aquí está el original en inglés); incluyo los apartados del post original, junto con algún comentario mío indicado en cursiva:

1.-Todo programador tiene derecho a dos monitores (la ganancia en productividad -y por tanto en dinero para la empresa- es grande, desde luego mucho mayor que el coste de una segunda tarjeta gráfica y un segundo monitor; hay mucha gente que prefiere trabajar incluso con tres monitores, para que la zona central, justo enfrente de los ojos, no esté dividida).

2.-Todo programador tiene derecho a un pc rápido. Un desarrollador necesita ejecutar mucho software a la vez: entornos de desarrollo, bases de datos, maquinas virtuales, servidores web y mucho más. Cuanto más rápido sea el equipo, menos tiempo se perderá en ciclos de compilación y depuración. (También es deseable contar con un equipo "lento" en el que probar nuestro software, no sea que luego sólo funcione correctamente en equipos de gama alta, algo que es tristemente frecuente).

3.-Cada programador podrá elegir su teclado y ratón (qué menos que permitir que las herramientas con las que interaccionas continuamente sean de tu agrado).

4.-Todos los programadores tienen derecho a una silla confortable: pasamos 8 horas al día (o más) sentados en una silla, así que debería ser cómoda. No sólo hay que cuidar el cerebro.

5.-Todos los programadores tienen derecho a una conexión rápida: un buen programador no escribe el código que pueda reutilizar (y casi siempre, la pregunta a la que nosotros no encontramos solución... alguien se la ha hecho antes; Internet es una gran herramienta para un desarrollador, especialmente valiosa cuando nos enfrentamos a algo nuevo o cuando aparece alguna dificultad imprevista).

6.-Todos los programadores tienen derecho a tener un sitio de trabajo tranquilo: la programación requiere concentración mental, un entorno con distracciones continuas no permite trabajar de forma efectiva.


(Por supuesto, la lista se podría extender muuucho. Por ejemplo, poder usar unas buenas herramientas de desarrollo sería casi tan básico como los puntos anteriores, pero eso ya es algo que depende más de las tecnologías que se empleen, y en tecnologías novedosas a veces hay poca elección posible).


(Nota: esto no es una traducción estricta; si quieres leer más, o tener referencias a detalles como el uso de múltiples pantallas, deberías echar un vistazo al artículo original en inglés).