¿Cómo debe ser una oficina de desarrollo de software ideal?

  • Lo suficientemente silencioso como para que los desarrolladores no necesiten auriculares. Ver: la respuesta de Piaw Na a ¿Qué tipo de entorno les gusta tener a los desarrolladores al codificar? ¿Es mejor para los programadores programar en completo silencio solo o en un grupo con algo de ruido? ¿Te gusta la tranquilidad o no te importa el sonido? Idealmente, esto significa oficinas privadas con puertas que puede cerrar, con espacio suficiente para el entorno de trabajo. Peopleware (Peopleware: Proyectos y equipos productivos (3ª edición): Tom DeMarco, Tim Lister: 9780321934116: Amazon.com: Libros) especifica 100 pies cuadrados de espacio por oficina privada. Si va a programar en pares, ¡esa cantidad de espacio es la mínima necesaria!
  • No hay sistemas de interrupción desagradables. Eso significa sistemas de megafonía, eso significa teléfonos que suenan una y otra vez si nadie los atiende. Idealmente, eso significa que no hay sistemas de megafonía, y todos llevan teléfonos celulares / teléfonos de bolsillo en lugar de teléfonos de escritorio. La cultura debería ser que los teléfonos se mantienen en silencio / vibran todo el tiempo en la oficina.
  • Espacio comunitario compartido a nivel de equipo. Eso significa una sala común donde el equipo puede pasar el rato, relajarse, tener reuniones y comidas improvisadas, etc. El espacio debe tener pizarras blancas / pizarras negras / tableros de corcho para sesiones de diseño improvisadas, y formas de capturar esa información rápidamente.
  • Salas de reunión formales para la interacción con otros equipos, proveedores, directores, etc. Esto es bastante obvio y la mayoría de los espacios lo tienen.
  • El flujo debe diseñarse de manera que las visitas a baños, refrigeradores de agua, refrigeradores y cafeteras generen la máxima cantidad de interacción entre los miembros del equipo.
  • Buen uso de la luz natural, para que las personas se sientan cómodas y puedan usarla para leer, reflexionar, etc.

Ahora que he escrito todo esto, hay un tipo de entorno obvio que tiene todas estas cualidades: ¡una casa típica diseñada para vivir en ella! El desglose entre dormitorio / sala familiar / comedor / sala de estar formal se ajusta a los patrones anteriores. Esto tiene sentido, porque los hogares son caros y los pagan los humanos que realmente viven allí y, por lo tanto, desearían optimizar su vida práctica diaria y el negocio de la vida.

Por lo tanto, no debería sorprendernos que muchas startups en sus fases altamente productivas comiencen por estar en una casa en lugar de una oficina comercial formal (“The Witness” de Jonathan Blow, por ejemplo, se está desarrollando en un espacio tal como fue Facebook en su primer período). La oficina comercial típica simplemente no está diseñada para maximizar la comodidad y la productividad humana.

En los últimos años hay tendencias como la creación de oficinas elegantes como las de Google. Honestamente, estos intentos están lejos de comprender las necesidades básicas de un desarrollador:

1. silencio
Es un requisito. Creo que las personas en otros departamentos que hablan por teléfono deberían estar separadas de los desarrolladores de software.
Creo que las oficinas abiertas son en su mayoría problemáticas.

2. Caminar debe ser una opción.
Caminar ayuda a pensar mejor y la mayor parte de este trabajo es pensar. Los desarrolladores deberían tener una opción para caminar. Las reglas habituales de la oficina, como medir el tiempo en la oficina, no tienen sentido para el trabajo de desarrollo de software.

3. Los horarios de entrada y salida deben ser opcionales
Siempre que complete las entradas, no debe haber límite para cuando ingrese a la oficina o salga, siempre que no haya una reunión.

4. Panorama sería un plus
Sería genial pero no imprescindible. Pero la oficina debería ser brillante de alguna manera. Las oficinas sin ventanas no son las correctas para codificar.

More Interesting

¿Cómo va a crear valor un desarrollador de software en 2025 o 2035?

¿Cuáles son los detalles técnicos detrás de las aplicaciones o extensiones que bloquean los anuncios?

¿Cuál es la diferencia entre el desarrollador de soluciones y el ingeniero de software?

Muchos trabajos de desarrollo de software requieren pruebas en línea en estos días. ¿Debo molestarme con las compañías que los requieren?

En su opinión, ¿qué hace que alguien sea un desarrollador de software sénior?

¿Las mejoras realizadas en el software personalizado deben incluir en el software los cargos de AMC?

¿Libros como "Aprender C ++ en 21 días" o "Aprender Java en 20 días" no son útiles para los desarrolladores de software, y son situaciones prácticas suficientes para aprender todo lo que un desarrollador de software necesita?

¿Cómo mejoraron los desarrolladores de software sus habilidades a través de TDD?

Cómo crear una opción dentro de un exe para Mac [Ejemplo en detalles]

¿Qué tipo de pruebas se pueden dar a los desarrolladores back-end y front-end, respectivamente, para ver qué tan buenas son realmente sus habilidades de programación?

¿Cuál es la mejor ciudad para moverse entre Ciudad del Cabo y Johannesburgo para un profesional de TI (desarrollador de software)?

¿Es el Reino Unido un buen lugar para comenzar una carrera como desarrollador de software?

Cómo acceder a su red doméstica con su computadora portátil con VPN en el trabajo sin que su empleador conozca la dirección IP de su hogar

¿Los codificadores encuentran útil la documentación tediosa? ¿Cómo justificas esta sobrecarga?

¿Cómo debería uno prepararse para obtener trabajos para los paquetes más altos en el desarrollo de software?