Máquinas en funcionamiento de desarrolladores: ¿de qué manera suelen ser estandarizadas o restringidas? [cerrado]

7

Mi jefe quiere introducir nuevas pautas para las computadoras en nuestra empresa. Esto significa que los entornos de software estarán completamente estandarizados con un conjunto predefinido de herramientas. El objetivo es que todas las máquinas sean completamente reproducibles e intercambiables.

Me pregunto cuáles son las pautas para las computadoras de los desarrolladores en grandes empresas, como Google o Microsoft, especialmente las empresas que están certificadas de acuerdo con algún estándar (por ejemplo, ISO 9001). ¿Permiten a los desarrolladores instalar software desde Internet si lo necesitan para alguna tarea pequeña? (por ejemplo, una herramienta de comparación de códigos, CygWin, paquetes de servicio de Windows) o ¿realmente quieren todas las herramientas necesarias en un entorno fijo y predefinido donde todos los cambios propuestos deben discutirse primero con un administrador del sistema?

    
pregunta Felix Dombek 09.05.2012 - 21:19

3 respuestas

3

Realmente estás haciendo varias preguntas separadas, pero relacionadas, aquí.

Hardware

Primero: todas las compañías en las que he trabajado tenían algún tipo de estandarización de máquinas de escritorio. Como mínimo, el hardware y el sistema operativo se estandarizaron en grandes grupos (posiblemente en categorías continuas: obtienes la máquina de este año cuando empiezas, y luego 2 años más tarde obtienes la máquina de ese año, etc.).

En cuanto a cómo es el hardware: una gran compañía dará a todos en el edificio un hardware increíble con CPU rápidas, monitores gigantes y enormes cantidades de RAM, incluso si no lo necesitan. Una buena compañía al menos se asegurará de que obtenga el hardware adecuado para su trabajo (lo que, como mínimo, significa que los ingenieros obtendrán pantallas más grandes y más RAM que la recepcionista).

Software estándar

No solo eso, sino que todas las empresas en las que he trabajado también tienen algún tipo de software estándar configurado también. Como mínimo, eso significa cosas como correo electrónico / calendario / groupware, software de oficina, etc. Todos tienen lo mismo de manera predeterminada; en algunas compañías puede obtener algo más si tiene una razón justificable (aunque puede haber mucho papeleo involucrado). Además, por supuesto, obtendrá el software de línea de negocios estándar de la compañía (aunque en estos días esas aplicaciones a menudo se basan en la web). Por lo general, se te entregarán estas aplicaciones y, por lo general, estarás atrapado en ellas.

Software especializado

Luego hay un software especializado que necesita para hacer su trabajo: compiladores, IDE, herramientas de edición de imágenes, etc. Independientemente de si estamos hablando de software libre (por ejemplo, Eclipse) o software costoso (por ejemplo, Visual Studio, Photoshop) , la compañía usualmente se estandarizará en una versión. Así que todos los que obtienen Visual Studio obtienen 2010, no 2008 (o algo así).

Inevitablemente, esto lleva a que haya un lugar autorizado oficialmente para las versiones estándar de las cosas para sentarse, aunque solo sea para evitar que todos vuelvan a descargar Eclipse. Del mismo modo, para el software que tiene servidores o repositorios de actualización, es común que la empresa ejecute su propio repositorio de duplicación interna (y posiblemente bloquee el acceso a las duplicaciones externas) para garantizar que (1) los paquetes grandes solo se descarguen una vez, y todos tienen la misma versión.

En general, cualquier software que esté en un repositorio autorizado por la empresa (donde puede ser un repositorio de paquetes del sistema operativo, o simplemente un recurso compartido de archivos con instaladores, o incluso un archivador con discos de instalación) se puede instalar en su computadora. La mayoría de los lugares en los que he trabajado te permiten auto-instalar este tipo de software, independientemente de que sea software gratuito o de pago.

¿Qué pasa con todo lo demás?

Pero eso nos lleva a lo que parece ser tu verdadera pregunta, que es doble:

  1. ¿Qué pasa con el software que no está autorizado oficialmente (todavía)?
  2. ¿Qué tipo de personalizaciones puedo hacer al software? (O, de manera equivalente, ¿qué tipo de derechos administrativos tengo en mi propia máquina?)

Para la primera pregunta, depende de la compañía y del software en cuestión . He escuchado que algunas compañías son bastante draconianas con respecto al software no autorizado, pero en todos los lugares donde he trabajado, las políticas han sido bastante relajadas, especialmente para los ingenieros. A veces, un paquete de software en particular no está permitido porque acapara los recursos de la compañía (por ejemplo, el intercambio de archivos de igual a igual) o es básicamente inseguro (por ejemplo, varios tipos de software de acceso remoto a PC); .

Para todo lo demás, generalmente hay algún tipo de proceso de aprobación . En algunas compañías, esto es tan simple como preguntarle a su gerente, "hey, ¿puedo instalar este software?", Mientras que en otras compañías es posible que el software deba tener varios niveles de aprobación. El software costoso y el software que se comunica con servicios externos son los que tienen más probabilidades de ser analizados cuidadosamente, como deberían.

La segunda pregunta es más sobre cuánta libertad debería tener un empleado individual para realizar cambios en su propia máquina. En la mayoría de los lugares donde he trabajado, los ingenieros tienen un amplio margen de maniobra, con la advertencia de que ciertos cambios "anularán su garantía" : el servicio de asistencia de la empresa ya no lo apoyará, y usted Tienes que lidiar con cualquier problema por tu cuenta. El personal no técnico suele tener menos margen de maniobra, principalmente porque el servicio de asistencia no confía en que no rompan algo.

Por ejemplo, en mi trabajo actual (en una gran compañía de software mencionada en su pregunta) no tengo acceso de root a mi propia máquina, pero sí tengo acceso a sudo para hacer casi todo lo que necesito. En un trabajo anterior en una empresa más pequeña donde estábamos en Windows, estaba en el grupo de Administradores en mi propia máquina, por lo que tenía un reinado bastante libre.

    
respondido por el Daniel Pryden 10.05.2012 - 19:38
7

Incluso la estandarización para desarrolladores es una locura. Nunca he trabajado en ningún lugar donde todos los usuarios usen exactamente el mismo conjunto de herramientas. ¿Va a comprar 100 asientos de Photoshop porque los 2 chicos del equipo de gráficos lo necesitan?

Lo que sucederá es que necesitará alguna herramienta específica para su tarea en el proyecto. No lo comprarán porque entonces tendrán que comprar 100 asientos.

Tengo algunos aspectos comunes de la configuración y es importante un cierto grado de estandarización. (como todos Linux, Mac, Windows, la misma marca, modelo, etc.) Asegúrese de que estén dispuestos a comprometer los recursos para equipar al equipo de desarrollo para que sea lo mejor posible.

Luchamos esta batalla una vez en la que tuvimos que usar las mismas máquinas que los servicios de atención al cliente. Duró unas pocas semanas y tuvimos que actualizar la memoria, aún no era suficiente porque compraron la máquina más baja que podían y no admitía la mayor cantidad de memoria, venían con discos duros lentos y sin soporte de pantalla dual.

Un profesional de TI tiene necesidades diferentes a las de la secretaria. Intentamos que crearan algunas clases de máquinas (como estaciones de trabajo y de escritorio) pero no dados.

Es triste decirlo, la compañía ya no existe. No solo en ese tema, sino que es indicativo de una mala gestión o permitir que un grupo (compras y soporte de TI) tome decisiones por otro (desarrollo de TI)

    
respondido por el Bill Leeper 09.05.2012 - 21:31
7

En mi experiencia, la mayoría de las empresas tienen tres niveles de estandarización:

  1. Imágenes de desarrollador estándar: hardware estándar y el software que el desarrollador necesita para comunicarse con el resto de la empresa. Correo electrónico, Office (o equivalente), navegador estándar, mensajería instantánea, paquetes de servicio, a veces Visual Studio si se requiere TFS universalmente, etc.

  2. Aplicaciones estándar: aplicaciones que algunas personas necesitan, pero otras no. Es posible que no necesite 4 aplicaciones de pintura diferentes que funcionen en la empresa o que no quiera pagar por las licencias de las personas que simplemente ignorarán la aplicación. Estos son buenos para obtener y tienen en una ubicación central para reducir el ancho de banda / el tiempo de espera.

  3. Aplicaciones únicas: cosas que los desarrolladores quieren / necesitan. La mayoría de las empresas que he visto les permiten a los desarrolladores tener la libertad de instalar lo que quieren / necesitan. Navegadores alternativos, perfiladores de elección, complementos de visual studio, etc. Cosas que son gratuitas, no están soportadas por TI y no causan problemas de compatibilidad con otros.

respondido por el Telastyn 09.05.2012 - 21:47

Lea otras preguntas en las etiquetas