Office space

Published 67 weeks, 4 days ago
Thu Sep 20 2007

Mi bloguero favorito, Jeff Atwood, habló hace unos meses de su oficina. Con fotos. Si en su día no lo visteis, no os lo perdáis porque de verdad merece la pena ver como se trabaja en una empresa en la que los desarrolladores importan.

Hoy no he podido evitar acordarme de las condiciones de trabajo de Jeff:

My office space

Tened en cuenta que lo que estáis viendo es sólo mi mesa, pero estoy en un despacho en el que trabajamos 12 personas. Las condiciones de abarrotamiento son evidentes, aunque por suerte temporales: el mamotreto que veis a la izquierda es un escáner Canon DR 6080 que tengo que devolver en cuanto termine de hacer unas pruebas con él. Comparadas con las mías, las condiciones de trabajo de Atwood son como comparar el hostal La Pepa con el Ritz. Y seguramente haya gente que esté peor que yo: yo al menos tengo plantas y luz natural.

Es evidente que no todos podemos trabajar con un despacho como el de Atwood: no hay, literalmente, sitio. En el caso de algunas empresas, tampoco hay dinero. Pero sí que se puede hacer un esfuerzo extra por mejorar las condiciones de todos nosotros, sí que los empresarios podrían hacer un esfuerzo para mejorar nuestro office space. Y como hablar es gratis, me permito hacer unas cuantas sugerencias.

  • Dobles monitores.- Cada vez surgen más testimonios que aseguran que dos buenos monitores planos aumentan maravillosamente la comodidad (ergo, la productividad) del usuario. Es lógico a nada que lo pensemos un poco: todo el tiempo que me dedico a abrir y cerrar ventanas dentro y fuera de Visual Studio, a organizar esas ventanas para poder hacer n cosas a la vez es tiempo que pierdo. Puede parecer poco tiempo, pero al cabo del día se acumula... y se nota. Si no se pueden poner dos monitores, como mínimo absoluto un buen monitor plano de 19 pulgadas. En mi anterior empresa, gobernada férreamente con un puño de hierro que no se abría jamás para soltar un duro, tuve que soportar durante mis últimos seis meses de estancia un monitor de tubo de 17 pulgadas.
  • Sillas.- Si me voy a tirar, como mínimo, ocho horas sentado en la silla; ¿qué menos que sea cómoda? ¿Resistente? ¿Nueva? De nuevo, nos enfrentamos a algo que es de puro sentido común: si un programador está incómodo y tiene que cambiar de postura cada poco rato, difícilmente podrá concentrarse para realizar su tarea.
  • Mesas amplias.- Con sitio para todo. Tengo que tener sitio, como mínimo, para que teclado y ratón estén a una distancia cómoda el uno del otro, para poder utilizar un cuaderno sin tener que mover el teclado de sitio, para poder colocar el monitor a la distancia adecuada y, por supuesto, para poder personalizar mi mesa a mi gusto: con fotos o alguna planta o juguetes o lo que quiera cada cual.
  • Ordenador.- Simple: lo más potente que pueda comprarse. Como mínimo absoluto dos gigas de RAM, el micro más potente del momento, una tarjeta gráfica potente. De nuevo es algo que cae por su propio peso: no estoy pidiendo esto para poder jugar a Quake en la oficina, estoy pidiendo esto para que cada vez que compilo la solución no tenga que quedarme parado cinco minutos enteros esperando a que mi pobre equipo de desarrollo termine. Pero lo verdaderamente peligroso, desde el punto de vista del empresario, es que esos cinco minutos son una invitación abierta para procastrinar: mientras compilamos la solución abrimos un navegador, o el correo, o un lector de noticias y los cinco minutos se pueden convertir fácilmente en diez o veinte.
  • Teclado y ratón a elección del desarrollador.- Así de simple. Yo no sé el resto, pero yo soy muy picajoso con los teclados y los ratones: al fin y al cabo, son mis herramientas de trabajo diario. Y mis gustos en hardware de entrada no tiene por qué ser los mismos que los de mis compañeros. Por lo tanto, en lugar de tener que aguantarse todo el mundo con el mismo equipo (sub)estándar, y seguramente barato, hagamos algo elegante: dejar a cada desarrollador que elija personalmente el teclado y el ratón que quiera, de un catálogo.
  • Software y soporte ORIGINALES.- Esto no debería ser ni siquiera un punto de esta lista pero, desgraciadamente, lo es en muchos casos. Señor empresario, si tiene una empresa de informática, si usted vende productos o servicios basados en ciertas tecnologías y gana un beneficio con ellas, debe pagar por ellas. Así de simple. Llevo más de ocho años y seis empresas en este negocio y sólo he estado en dos empresas con software original, sólo una de ellas con suscripción a MSDN. En el resto , todo pirata: desde los sistemas operativos a las herramientas de desarrollo, pasando por todo lo demás. En muchos casos yo tenía en mi casa más software original que la empresa que me contrataba. Las ventajas son obvias: acceso a versiones recientes del software, acceso a soporte para el software. En una memorable ocasión tenía que hacer una tarea complicada en VB6 para un cliente (algo relacionado con códigos de barras y OCRs), y le ofrecí a mi gerente dos opciones: hacerla yo mismo y reinventar la rueda en el proceso, con las consecuentes incógnitas en cuanto a tiempo de desarrollo y resultado final; o comprar un componente de terceros para resolver el problema con garantías y rápido. Mi gerente encontró una tercera vía: descargarlo de eMule.
  • Biblioteca.- El departamento de desarrollo debe disponer de una biblioteca técnica para uso de los miembros. Se puede hacer de varias formas: previa asignación de un presupuesto mensual, bimensual, semestral o al gusto; se podría designar un comité que se encargaría de recoger las necesidades del departamento (presentes y futuras) y comprar libros para cubrirlas. O confeccionar entre todos los desarrolladores una wishlist, en la cual cada persona podría sugerir títulos y votar los títulos sugeridos por los demás. Cada periodo de tiempo, los x títulos más votados hasta cubrir el presupuesto se compran, y se renueva el ciclo.
  • Área de descanso.- Un área en la cual los programadores puedan relajarse, hablar con otros integrantes del equipo o sencillamente distraerse de lo que están haciendo. Cuando uno está encallado con algo que no sale, con un error que es capaz de ver; el truco más viejo del manual es ponerse inmediatamente a hacer otra cosa: salir a fumar un cigarrillo si se es fumador, acercarse a la máquina de bebidas, leer algo. Aunque aparentemente no estás pensando en el problema, es muy fácil tener un momento eureka cuando estás separado del mismo. O al volver del descanso, inmediatamente ves el problema con nuevos ojos y encuentras una solución que ahora parece obvia. En el área de descanso podrían estar los libros de la biblioteca, por ejemplo. Si se es muy generoso con el equipo, y si éste merece nuestra confianza, incluso podemos tener algo de material recreativo: una consola de videojuegos, una máquina de dardos. Y, por supuesto, máquina de refrescos gratuita.
  • Proyectos personales.- Éste es un favorito personal mío. Cada viernes, todos los viernes, todos los integrantes del equipo de desarrollo dejan de realizar su trabajo normal. Cada programador tiene que elegir un proyecto personal para realizar durante las horas de trabajo del viernes, y a ser posible el proyecto personal no tiene que tener absolutamente nada que ver con el proyecto que está realizando de lunes a jueves. Cada desarrollador tiene completa libertad para elegir el proyecto que quiera, usando la tecnología que prefiera. Un reproductor de vídeo, una programa que compile recetas, un juego de Go, lo que sea. Si un programador no tiene una idea propia que quiera desarrollar, puede ofrecérsele una lista de los proyectos personales en curso para que se una al que prefiera, o puede unirse al proyecto de Open Source de su elección, o puede unirse al...
  • Laboratorio de investigación.- Este equipo dedicará los viernes a investigar y probar nuevas tecnologías. No tienen porqué ser estrictamente nuevas, pero sí que tienen que ser nuevas para el equipo de desarrollo en su conjunto. Por ejemplo, si normalmente el equipo de desarrollo trabaja con ADO.NET, el laboratorio de investigación puede aprender a trabajar con NHibernate. Si normalmente se trabaja con el framework ASP.NET tal y como Microsoft lo presenta, se investiga con la implementación MVC de Castle. O se aprende Ruby On Rails. Al final de la investigación, el equipo será responsable de vender esa tecnología a los jefes de proyecto y gerentes, que decidirán si es aplicable a nuevos proyectos. En caso de serlo, el equipo de investigación dedicará un viernes (o los que hagan falta) a entrenar a otros compañeros en el uso de esa tecnología, según lo requiera el proyecto para el que se va a usar.

Lo sé. Muchos de los anteriores puntos son más adecuados a una software factory, cuando el grueso del trabajo de desarrollo en este país es en las instalaciones del cliente. Pero seguro que, con un poco de esfuerzo, el empresario creativo puede crear condiciones similares también para sus desarrolladores destacados en cliente.

Y no, esta lista no es una lista compuesta por un sindicalista radical, o un amargado picacódigos soñando despierto con una mejora de sus condiciones. Es una lista pensada con un solo objetivo en mente: ganar dinero. Prácticamente todos los puntos de la lista requieren una inversión por parte del empresario, cierto. Pero en muchos casos es una inversión que (debería estar) está asumida: equipos, mobiliarios y software original. El gasto extra en comprar equipos buenos, buen mobiliario y software original se compensa por la falta de pérdidas de tiempo, por la mejora en la concentración y la capacidad de trabajo de los desarrolladores, por el soporte añadido y el ahorro de tiempo en reinvenciones de rueda innecesarias. El presupuesto que un empresario tendría que desviar para permitir que su equipo compre libros o tenga bebidas gratis es ridículo comparado con los beneficios que se obtienen de su trabajo. Y todos los puntos de esta lista traen consigo unos beneficios adicionales nada desdeñables: mejora del conocimiento y preparación del equipo técnico, que lleva a una mejora de la calidad del software, que lleva a una mejor relación con los clientes, lo que lleva a conservar clientes y a conseguir mejores clientes por el siempre útil boca a oreja. Eso por un lado, por el otro todos estos puntos (unidos, por supuesto, a un salario y condiciones a la altura del mercado) traerían de la mano un índice de rotación bajísimo en el equipo de desarrollo. Y sí, señor empresario, ya sé que a usted el índice de rotación de los técnicos le trae al pairo: siempre hay más gente en Infojobs. Pero un equipo se hace con el tiempo, los buenos desarrolladores se hacen con el tiempo y no olvidemos que los clientes, que al fin y al cabo son los que nos dan de comer a todos, ven con muy malos ojos un alto índice de rotación en los equipos de desarrollo.

Incluso los puntos más aparentemente de ciencia-ficción como son los proyectos personales o el laboratorio de investigación son puntos que redundan directa, aunque quizás no obviamente, en beneficio de la empresa. Lo primero, son excelentes motivadores. Por lo menos, son motivadores para el tipo de trabajador que usted quiere en su empresa. Segundo, sus empleados aprenderán tecnologías y métodos que pueden serle útiles en sus próximos proyectos. Tercero, si alguno de sus programadores dedica tiempo pagado por usted a colaborar con un proyecto Open Source, eso puede convertirse en una buena fuente de publicidad para su empresa. Cuarto, ¿quién le dice a usted que el próximo YouTube no sale de un proyecto personal de uno de sus empleados?

Anímense, señores empresarios. Mejoren las condiciones laborales de sus desarrolladores. Ustedes también saldrán ganando.

Friday, September 21, 2007 12:34:26 PM (Romance Daylight Time, UTC+02:00)
¡ay! Las lágrimas fluyen a mis ojos.

Esa arcadia feliz, ese paraíso soñado, esa placidez sobre la tierra, ese trabajo placentero....

Me has hecho llorar, picacódigos. En serio te lo digo. No pongo fotos de mi mesa por simple y llana vergüenza. Estoy en medio de un pasillo que lleva a la cocina del edificio. Gente pasando, olores de comida calentada en el microondas, el de la maquina de sándwiches, los muebles que suben y bajan en el montacargas, gente dando voces...

Para mayor humillación mi zona está en la parte interior del edificio. La luz entra porque no puede escapar a la ley de la gravedad y no le queda mas remedio que ir por el agujero del patio interior hacia abajo. Me tiré 6 meses luchando con el departamento financiero para que pusiera focos halógenos suplementarios. Y no es suficientemente malo. Propusieron meter el departamento informático en un almacén sin luz, ventilación, ni ventanas. Sólo se evitó porque ningún otro departamento aceptó ponerse en medio del pasillo que va a la cocina.

Hace un par de años prohibieron escuchar musica en el trabajo, con lo cual asestaron una puñalada de muerte a mi productividad, pues como comprenderás es lo que me permitía crear una burbuja para aislarme de tanto trasiego. Al principio se me llevaban los demonios y no comprendí cómo podrían estar tan ciegos para no ver que la música estimula la productividad (al menos la mía), con el tiempo me da igual. Si eso es lo que quieren, que se jodan.

Licencias de software.

Por dios. La MSDN nos costó sangre, sudor y lágrimas. Y encima tuvimos que oir como el director financiero decía que quería suprimir el departamento informático porque solo producía gastos. Antivirus, ofimática, herramientas de desarrollo, todo pirata. Los servidores eran equipos clónicos con un disco duro un poco gordo. En vista del percal, planteamos instalar OpenOffice en todos los equipos, que entonces iba por la versión 1.0 (lo he contado ya en Velocidad de escape), y les pareció estupendo porque era gratis, pero en cuanto propuse que contrataran unos cursos de formación para los empleados me tiraron el proyecto atrás. Mejor seguir con una herramienta que ya conocen. Pirata, pero la conocen. Y digo la conocen, no que la dominen, que en cuanto a la cualificación del personal tendría mucho que decir también. Aquí solicitamos formación y nos obligan a firmar un contrato con clausular draconianas que implican que si te vas de la empresa debes devolver euro a euro lo que han pagado por tu curso.

¿sigo?

No hay empresarios en españa pica, lo que hay son chorizos y oportunistas.
Friday, September 21, 2007 12:39:18 PM (Romance Daylight Time, UTC+02:00)
Como comprenderás no hablo ni de la biblioteca (los libros me los compraba yo hasta que se me hincharon los cojones y dije que no me gastaba un euro más), ni de los proyectos personales (mi unico proyecto personal en estos momentos es no pasar ni un minuto mas de lo necesario en este antro), ni de las áreas de descanso (todo el mundo fuera de la oficina es una inmensa area de descanso), ni del laboratorio de investigación (que no somos la NASA, coño)...

De la rotación, sí que puedo hablar, si. Tenemos una rotación cercana al 50% anual. O sea, que se va la mitad de la gente todos los años.

Así nos va. Nos quedan dos asaltos para cerrar.
Saturday, September 22, 2007 3:33:02 AM (Romance Daylight Time, UTC+02:00)
Ya llevaba tiempo queriendo hacer una especie de meme con los puestos de trabajo de mis conocidos y ponerlo en el blog, así que voy a tomar tu entrada como inicio del mismo.

Yo he tenido la suerte de caer en una empresa que cuida a su empleado y creo que cumple absolutemente todos los puntos que mencionas como necesarios.

Pese a que no me dedico al desarrollo de software, lo mío es asistencia técnica pero tengo a mi disposición todo lo que reclamas con presupuesto ilimitado (has oido bien, ilimitado). Evidentemente consulto cualquier gasto que sea de una cantidad considerable, pero no me han puesto (ni creo que lo hagan, mas bien todo lo contrario) nunca ninguna pega a la hora de comprar cualquier material o libro que consiere necesario.

Si digo esto no es por dar puta envidia (aunque sé que en parte será así), sino por avalar tu teoría:

Estoy muy contento con mi trabajo, no me cuesta ir a trabajar, me gusta lo que hago y cómo lo hago y no me importa quedarme de vez en cuando a echar horas si el trabajo lo requiere (pese a que no me las pagan).

Además creo que es la única manera de repercutir positivamente en el cliente final, esto es; si estoy todo el día encabronado dificilmente podré tratar cordial y atentamente a los que llaman para resolver sus problemas. Es sencillo ¿no?

Que me enrollo: Me parece de sentido común lo que reivindicas y yo soy el claro ejemplo de que funciona.

En breve verás mi puesto de trabajo en mi blog.
Wednesday, October 03, 2007 8:00:00 PM (Romance Daylight Time, UTC+02:00)
lo prometido es duda... o algo así :-)

http://www.foobits.com/blog/index.php?entry=entry071003-185539
Wednesday, October 24, 2007 9:37:05 AM (Romance Daylight Time, UTC+02:00)
Hola a todos!

Yo soy muy nuevo en este tema (llevo 2 meses y pico de prácticas (de gratis vamos), 1 año de becario, y ahora tengo un contrato de 1 año pero ya perteneciendo a mi empresa).

Aquí contamos con software original (Windows, Office, Visual Studio), menso algunas cosillas (Nero y algo más habrá).

Estamos en una oficina nueva, con espacio para cada uno, tenemos material didáctico (algo anticuado, la verdad).

Dobles monitores no tenemos, pero nos han aumentado la RAM a 1 gb hace poco, que quiera o no se nota, porque con 512, algunos con el Eclipse se querían morir.

Tenemos una especia de área de descanso (va en proceso, con una máquina de café a 50 centimos, y algo más).

Nos pagan los exámenes para la certificación (por lo menos de Microsoft), pero el material me lo voy a tener que buscar yo si lo quiero original (estoy pensando en comprarme un material de estudio en uCertify, para el 70-305).

Bueno, nada más. Que aquí se está muy a gusto, y viendo tu post pica, puede ser porque tenemos varios, si no muchos factores positivos. Espero que sea así en todos lados. A mi gracias a Dios me ha tocado una buena empresa (aunque tengo que cobrar más Grrrr :D, pero poco a poco).

Un saludo!
David
Comments are closed.