it-swarm-es.com

¿Por qué no todas las empresas compran a los desarrolladores el mejor hardware?

Debo estar perdiendo algo.

El costo de contratar a un programador en mi área es de $ 50 a $ 100 por hora. Una máquina de gama alta cuesta solo $ 3,000, por lo que el costo de comprar una computadora realmente excelente cada tres años es de $ 0.50/hora. ($ 3000/(150 semanas * 40 horas))

¿Usted necesita a máquina de gama alta ? No, los $ 3000 aquí representan la mayor cantidad que podría gastarse , no la cantidad que esperaría. Eso es aproximadamente el costo de un iMac o MacBook de gama alta (17 pulgadas).

Supongamos que puede ahorrar $ 2000 cada tres años comprando computadoras más baratas, y su desarrollador promedio gana $ 60. (Estos son los números más caritativos que puedo ofrecer a los contadores de frijoles. Si solo ahorras $ 1000, o $ 750, solo fortalece mi caso). Si esas computadoras más baratas solo te cuestan 10 minutos de productividad al día. (En absoluto, estoy seguro de que mi máquina me cuesta más que eso). Luego, durante 3 años, las 125 horas perdidas se sumarían a una pérdida de $ 7500. Una pérdida de 1 minuto al día ($ 750) daría una ganancia neta de $ 1250, lo que difícilmente compensaría el costo de la baja moral.

¿Es este un caso de "centavo y tonto" o he simplificado demasiado la pregunta? ¿Por qué no hay un acuerdo universal (incluso en la 'empresa') de que los desarrolladores de software deberían tener un excelente hardware?

Editar: Debo aclarar que no estoy hablando de un deseo de gritar un rendimiento rápido que haría que mis amigos sintieran envidia y/o un SSD. Estoy hablando de máquinas con muy poco RAM para manejar su carga de trabajo regular, lo que lleva a congelar, reiniciar y (sin exagerar) aproximadamente 20 minutos para arrancar y abrir las aplicaciones típicas en un estado normal Lunes (no cierro excepto los fines de semana).

De hecho, estoy programado para obtener una nueva máquina pronto, y mejorará un poco las cosas. (Voy a pasar de 2 GB a 3 GB de RAM, aquí en 2011.) Pero dado que la nueva máquina es mediocre según los estándares actuales, es razonable esperar que también sea inaceptable antes de su fecha de retiro.

¡Espera! Antes de responder o comentar

  1. $ 3000 no importa. Si la máquina que desea cuesta menos que eso, esa es una razón más por la que debería haberse comprado.
  2. No estoy pidiendo actualizaciones más frecuentes. Simplemente mejor hardware en el mismo horario. Por lo tanto, no hay costos ocultos de instalación, etc.
  3. Por favor no discuta la diferencia entre sangrado de hardware Edge y hardware muy bueno. Estoy presionando por un hardware muy bueno, como en una máquina que es, en el peor de los casos, una de las mejores máquinas fabricadas hace tres años.
  4. $ 50 - $ 100/hora es una estimación de costo de empleo - no salario. Si trabaja como contratista, la tasa de facturación que utiliza la agencia contratante incluye sus gastos y ganancias, la Sección Social del empleador. contribución, contribución de atención médica de los empleadores, etc. No comente este número a menos que sepa que no es realista.
  5. Asegúrese de proporcionar nuevo contenido. Lea todas las respuestas antes de proporcionar otra.
287
Eric Wilson

Muchas compañías están certificadamente locas por esto.

Seriamente. Si le preguntaras a 10,000 gerentes de tecnología: "Digamos que le pagaste a Danica Patrick $ 100,000,000. ¿Crees que ella podría ganar las 500 millas de Indianápolis montando una bicicleta?", Estoy seguro de que ninguno de ellos diría: "Sí".

Y, sin embargo, un buen porcentaje de estos mismos gerentes parece pensar que los desarrolladores de software altamente remunerados deberían ser tan productivos con las herramientas y las condiciones de trabajo malas como lo son con las buenas, porque, por supuesto, a esos programadores perezosos y sin escrúpulos se les paga mucho dinero y debería poder pedalear esa bicicleta más rápido.

Ahora, en qué consisten exactamente las buenas herramientas y las condiciones de trabajo depende del trabajo a realizar. Las personas que codifican el kernel de Linux necesitan diferentes tipos de hardware que los diseñadores de sitios web. Pero si la compañía puede permitírselo, es una locura no darle a las personas lo que necesitan para ser lo más productivas posible.

Una empresa para la que trabajé tenía una base de código fuente de 9 GB, principalmente en C, y lo que más necesitábamos eran compilaciones rápidas. Desafortunadamente, estábamos trabajando principalmente con hardware que había sido mediocre cinco años antes, por lo que la gente era comprensiblemente reacia a construir mucho más de lo que estaban trabajando en ese momento, y eso tuvo su efecto en la baja productividad, problemas de calidad y construcciones rotas. . La compañía tenía dinero para actualizar el hardware, pero era extrañamente tacaño al respecto. Salieron del negocio el verano pasado después de gastar más de $ 100 millones porque sus dos clientes más importantes los dejaron caer después de incumplir repetidamente los plazos. Una vez se nos pidió sugerir formas de mejorar la productividad; Presenté el mismo tipo de análisis de costo-beneficio que hizo el OP. Fue rechazado porque la gerencia dijo: "Esto debe estar mal, no podemos ser tan estúpidos", pero los números no mintieron.

Otra compañía para la que trabajé tenía excelentes computadoras para los programadores, pero insistía en que todos trabajaran en pequeños escritorios en un gran bullpen lleno de gente sin particiones. Eso fue un problema porque muchos de nosotros estábamos trabajando con hardware prototipo delicado. Había poco espacio para ponerlo en nuestros escritorios, y la gente pasaba, lo cepillaba y lo tiraba al suelo. También gastaron $ 47 millones en VC dinero y no tenían nada que mostrar).

No digo que las malas herramientas y las condiciones de trabajo por sí solas hayan matado a esas compañías. Pero digo que pagarle a alguien mucho dinero y luego esperar que sea productivo con malas herramientas y condiciones de trabajo es un "canario en la mina de carbón" para un enfoque básicamente irracional de los negocios que probablemente terminará en lágrimas.


En mi experiencia, el mayor asesino de productividad para los programadores se está distrayendo. Para las personas como yo que trabajan principalmente con lenguajes compilados, una gran tentación son las compilaciones lentas.

Cuando presiono el botón "construir y ejecutar", si sé que lo probaré en cinco segundos, puedo desconectarme. Si sé que serán cinco minutos, puedo configurarme un temporizador y hacer otra cosa, y cuando suene el temporizador puedo comenzar a probar.

Pero en algún lugar en el medio está la zanja malvada de las actividades que llevan al aburrimiento a perder el tiempo, como leer blogs y P.SE. Con las tarifas que cobro como consultor, vale la pena que arroje dinero al hardware con especificaciones prodigiosas para mantenerme fuera de esa zanja. Y me atrevo a decir que también valdría la pena para muchas empresas. Es solo la naturaleza humana, y me resulta mucho más útil aceptar y adaptarme a las debilidades normales comunes a todos los primates que esperar el autocontrol sobrehumano.

224
Bob Murphy

Sugeriría que, en realidad, un costo es visible y cuantificable, mientras que el otro costo no lo es.

Si no se puede actualizar el hardware, el presupuesto sangra incluso hasta $ 1000 por desarrollador por semana, nadie fuera (lea: arriba) el departamento de tecnología nunca lo ve. El trabajo aún se hace, pero a un ritmo más lento. Incluso en el departamento de tecnología, calcular esa cifra se basa en numerosas suposiciones no demostrables.

Pero si un gerente de desarrollo pide $ 3000 por desarrollador, particularmente en una compañía con más de 50 desarrolladores, entonces esto requiere mucha justificación. ¿Cómo lo hace?

170
pdr

Pondré mis 2 centavos aquí del lado del empleador ... que también es desarrollador.

Estoy de acuerdo en que las máquinas de gama baja son inútiles, pero las máquinas de gama alta son excesivas.

Hay varias razones por las que no obtiene las máquinas de gama alta:

  1. El flujo de caja es un problema real, no solo una teoría. Es posible que le paguen entre $ 60K y $ 80K por año, pero este mes tenemos un monto total en el banco que debe dividirse entre cada competencia en ese mes.
  2. Hay una escala móvil de precio y beneficio. Las máquinas de gama baja son, en general, bastante inútiles ... si obtiene un celeron o un chip de baja potencia, gire ... las máquinas de gama media tienen un buen rendimiento general, una vez que llega a la cima comienza a sintonizar un propósito específico (CAD, juegos, codificación de video, etc.) ... y los costos de ajuste adicionales.
  3. Las partes generales son generalmente más baratas, los reemplazos, las garantías y los seguros juegan un papel importante en los costos generales de funcionamiento y el tiempo de inactividad mientras obtiene un reemplazo.
  4. Las máquinas de gama alta se deprecian más rápido que las 1/3 del precio.
  5. Si está haciendo programación de gráficos de alta gama o CAD trabajo, entonces el gruñido adicional es válido; si solo está escribiendo un software comercial estándar, ejecutando Visual Studio o Eclipse y navegando por Stackoverflow para obtener respuestas, entonces el la potencia extra es un derecho de alardear, pero en realidad una máquina de rango medio no maximizará la CPU o la memoria en una caja estándar hoy.
  6. Máquinas de gama media construidas hoy martillo y en 2 años serán el doble de rápido (bueno, más o menos). En serio, se encienden rápido.
  7. Al final del día, la mayor parte de lo que hace es escribir texto sin formato en archivos de texto y enviarlo al compilador ... eso realmente no ha cambiado desde VI en la década de 1970 y las máquinas de gama baja hoy son millones de veces más rápidas que en aquel entonces ... tu ritmo de codificación realmente no es tan diferente.

Para resumir, debe tener un buen equipo y buenas herramientas, hace una gran diferencia, pero las máquinas de gama alta no son realmente justificables para el "desarrollador general".

... ah, y ahora te leo editar y de eso es de lo que estás hablando, dejaré lo anterior porque lo he escrito ahora ... Sí, tu máquina no tiene las herramientas necesarias.

Para aclarar una máquina de rango medio debería tener

  • 2 núcleos min, 4 núcleos buenos en esta etapa es exagerado.
  • 4 GB es un mínimo, 8 GB es bueno y ya es bueno tenerlo.
  • El SSD debe ser estándar, pero realmente una unidad WD de 10KRPM o una unidad seagate de 80-100GB debería funcionar bien.
  • 2 monitores de 19 "es un mínimo con una tarjeta de video razonable.
95
Robin Vessey

La diferencia de productividad entre las máquinas "de gama alta" y las máquinas "casi de gama alta" es insignificante. La diferencia de precio es significativa.

Sin mencionar el soporte de TI para diferentes máquinas en lugar de hacer que todos los desarrolladores utilicen las mismas imágenes HW y SW (lo que no puede hacer si está comprando una máquina de gama alta para cada nuevo empleado, la de gama alta será diferente cada vez). Además, las personas que obtuvieron el mejor nivel del año pasado querrán actualizarse porque ese nuevo cubo novato tiene una máquina "mejor" que ellas, y son mucho más importantes, ¿no?

A menos que realmente necesite la máquina de gama alta para su trabajo, no veo ninguna razón por la cual tirar el dinero.

56
littleadv

Porque la mayoría de los empleadores no entienden cómo piensan, actúan o trabajan los desarrolladores. O cómo las mejores herramientas pueden ahorrarle dinero a la empresa y aumentar la productividad. Esto lleva a la pérdida de un punto en la prueba de Joel, la imposibilidad de proporcionar "las mejores herramientas que el dinero puede comprar". Esto también conduce a la pérdida de productividad y satisfacción laboral. Esa es la forma como es. Tal vez algún día puedas comenzar tu propia empresa y obtener un puntaje de 13/13. Hasta entonces, haga preguntas por adelantado con su empleador para saber qué esperar antes de tomar el trabajo.

En cuanto a tu situación actual, si sientes que te escuchan y confían en ti, abre la discusión. Vea si le darán una actualización. Sé que trabajaría un poco más si tuviera una plataforma de primera línea con monitores duales de 50 "para trabajar. Pégame en la matriz.

La misma razón por la que la gente quiere un Mercedes CLS cuando un Toyota Camry te lleva allí igual. Claro, solo puede exprimir unos segundos más de tiempo de compilación con una nueva máquina, pero las apariencias son importantes.

27
P.Brian.Mackey

Sus matemáticas no parecen incluir el tiempo requerido para administrar el flujo constante de hardware dentro y fuera de la empresa: tomaría un tipo de TI adicional o dos dependiendo del tamaño de su empresa, así que agregue otros $ 50- $ 100k/año además de sus números. Además, pierde productividad el día que intercambian su computadora. Si escatiman en personal de TI dedicado, tendrá que hacer las copias de seguridad y restaurarse, posiblemente perdiendo uno o dos días en el proceso. En otras palabras, creo que es un poco más complicado de lo que piensas.

12
Bryan Oakley

Un problema con su argumento es el flujo de caja. Si no tienen el dinero, el punto es discutible. El otro es el retorno de la inversión.

Esto puede no aplicarse a las empresas donde ha trabajado. Algunas compañías están altamente apalancadas y/o tienen poco efectivo. Prefieren gastar los ahorros que usted describe en algo que venderá más widgets o software. Debe demostrar que su ganancia en producción supera una inversión equitativa en otras áreas.

Si una compañía de software está en modo de mantenimiento y necesita más ventas, puede haber un mejor retorno al gastar el dinero en ventas y marketing.

Creo que debe abordar el hecho de que, en su caso, el dinero se gasta mejor en un programador que en otra área de la empresa.

Tenga cuidado con este argumento si tiene un salario. Solo querrán que trabajes más duro para compensar la diferencia;)

9
JeffO

Hice este argumento en mi trabajo para cambiar de computadoras portátiles a computadoras de escritorio. Dije que todos deberían estar en una computadora de escritorio y si necesitan una computadora en casa, consígala allí también.

Las ventajas de velocidad de una buena computadora no son insignificantes, especialmente si elimina fallas del hardware realmente antiguo.

Con respecto a "la parte superior de la línea" y "cerca de la parte superior de la línea", yo diría que cerca de la parte superior de la línea siempre es donde debe estar. En "casi en la parte superior de la línea" puede actualizar cada 2 años en lugar de 3 y terminar con un mejor hardware en promedio.

Recomendé cyberpowerpc.com y mi compañía me permitió comprarles una PC (comercializador), pero compraron todas las PC de programadores de Dell porque el soporte valió la pena el costo adicional. Piense en eso ... es 1.5-2x para comprar una PC de Dell, pero todos aprecian si la PC se cae y no puede arreglarla rápidamente, pierde dinero.

Una PC lenta es como una PC rota que no está reparando.

8
Chris Kluis

También hay una cuestión de presupuestos: por lo general, a los desarrolladores se les paga con un presupuesto diferente al hardware para dichos desarrolladores, y es posible que simplemente no haya suficiente dinero disponible en el presupuesto de hardware.

6
Timo Geusch

Primero, para responder la pregunta que se hace:

No pueden hacer las matemáticas o si lo hacen, de alguna manera creen que no se aplica a ellos. El presupuesto y la contabilidad del hardware y el personal están separados. Las personas en la posición de toma de decisiones nunca escucharon sobre el problema y desconocen por completo que existe un problema.

Ahora, a la verdadera pregunta: "¿Cómo manejo esta situación?"

Es esencialmente un problema de comunicación. Usted explica el problema y el interlocutor escucha "bla bla bla queremos juguetes nuevos y relucientes". Simplemente no lo entienden.

Si estuviera en su posición, haría un video rápido titulado "¿Podemos pagar computadoras viejas?": Imágenes fijas de una estación de trabajo típica. En el lado derecho, un área en blanco titulada "costo".

Todavía del botón de encendido. Abajo: "Iniciando la computadora. 20 minutos". En el área en blanco, "Iniciar la computadora = $ 40". "Apertura IDE = $ 5", "Congelación de computadora = $ 80", "creación del producto = $ 600"

Repase a un ritmo rápido y siga sumando los números, luego compare con el costo de una computadora nueva y no olvide terminar con "Este video fue producido en casa en una computadora portátil comprada en la tienda de $ 500 que supera todo el desarrollo" profesional " Máquinas actualmente disponibles.

Si le preocupa que plantear el problema le cause problemas, también puede traer su propia computadora portátil al trabajo.

Si no hay forma de resolver ese problema, entonces quizás debería considerar buscar otro trabajo.

6
Sylverdrag

Los descuentos también juegan un papel importante en el proceso de compra.

Bola de saliva (no números reales): 100 máquinas a 1000 w/15% de descuento = 85,000

90 máquinas a 1000 w/10% de descuento = 81,000 + 10 máquinas a 2000 w/5% de descuento = 19,000 => 100,000

Como ya se mencionó, el costo adicional en el soporte de las máquinas "especiales" debe agregarse a la mezcla.

4
bart

Personalmente, siempre he tenido al menos una computadora de desarrollo aceptable cuando trabajaba para una empresa 'pequeña', pero cuando se trata de grandes empresas, los programadores son una moneda de diez centavos por docena en comparación con un gerente de proyecto que tiene un presupuesto.

Especialmente si él/ella es uno de los que tienen grandes ideas, lea: presupuesto aprobado.

Cualquiera sea la "buena" idea, esa persona necesitará programadores realmente buenos para implementar realmente el "Nuevo producto" mejor ", de modo que le pagará al programador el precio necesario.

Conseguir la nueva computadora de desarrollo, en lo que a mí respecta, no pasa por el mismo "departamento" que el otro presupuesto, así que espero trabajar en malas condiciones si le pagan bien :-) Mi último trabajo: Dell E5xxx + Uno LCD 1280x1024 ...

4
Valmond

Me pidieron que especifique la máquina que quería usar aquí, dentro de un presupuesto bastante ajustado. Me las arreglé para llegar a un sistema decente a mitad de camino que funciona a pesar de no ser muy pesado.

Originalmente estaba pensando en la misma dirección que el OP aquí, el tiempo que me siento aquí esperando compilaciones o cargas es dinero por la ventana. A medida que avanzo, también reconozco que el tiempo que paso yendo a tomar un café o caminando hacia la impresora también es dinero por la ventana.

En lugar de preocuparme por las pequeñas cantidades de tiempo que tengo que esperar, porque utilizamos un sistema de desarrollo menos costoso, examiné mis propios hábitos y mejoré las grandes cantidades de tiempo que paso sin hacer nada particularmente útil (ejem. .. stackexchange es útil y productivo para arrancar, ¡y lo estoy cumpliendo! :-)) Por supuesto que necesitamos descansos, pero este es otro momento que no sea "descansos".

Entonces, en cierto sentido, en un sentido general, esta pregunta podría ser la "optimización prematura" de la eficiencia del trabajo. Muchos puntos importantes sobre los costos de migración, perder el volumen de compras, etc.

En su situación particular, donde está perdiendo el tiempo en el orden de un descanso para reiniciar/abrir programas, sí, tiene mucho sentido actualizar a un equipo decente ya que su productividad se ve seriamente afectada, un sistema i3 medio decente con 4 GB RAM es del orden de $ 500 ... Estoy seguro de que no tardará mucho en recuperar ese costo.

3
Stephen

Un factor importante es el tipo de bloatware que la TI en una gran empresa típica tiende a poner en la computadora portátil. Si tiene una máquina con Windows 7 en casa y solo algunos antivirus, un sistema SSD-3GB-Quad-core estándar se iniciará en menos de 10 segundos. Compare eso con el bloatware que instala mi compañía, y se tarda una eternidad en arrancar. He visto a algunas personas usar zapping del sistema operativo por completo e instalar el suyo para acelerar las cosas. Creo que eso resuelve un problema hasta cierto punto, aunque es una gran violación de InfoSec. Pero en serio, ¿10 minutos?

3
Sudipta Chatterjee

La compra de nuevo hardware implica dinero, el dinero involucra a los tomadores de decisiones y generalmente no son desarrolladores si su empresa es lo suficientemente grande. Por supuesto que tenemos excepciones ...

Como explicó @Rob, hay muchas razones por las que no obtendrá el hardware ¡el mejor. Su empresa puede tener una política que defina qué tipo de hardware se compra, como siempre con la burocracia es difícil tener una política de vanguardia. Muchos gerentes no se molestarán en adaptarlo a sus necesidades personales, etc.

Mala comunicación, aversión al riesgo y otros defectos:

Consideremos que tiene un hardware realmente malo, ya no es posible trabajar en estas condiciones y desea hacer algo al respecto.

Ahora debes convencer a tu gerente. Bueno, generalmente tendrá que convencer a su gerente de proyecto que le dice a su gerente que le informa a su jefe y tendrá que asegurarse de que ese tipo realmente entienda sus problemas.
Implica habilidades de comunicación y la comprensión técnica de la gestión .

Segundo paso, si tienes la suerte, la gerencia lo pensará. ¿Qué obtienen ellos?

  • Trabajará más rápido con algunas incertidumbres (no obtienen dinero directamente como intentará explicar).
  • Costará dinero, ahora .

Eso significa que tendrán que intercambiar dinero y su planificación real de su trabajo, para una eventual oportunidad de permitirle hacer algo más en el futuro y eso, eso es una inversión pero también un riesgo .
Lamentablemente, muchos gerentes son aversión al riesgo . Sin mencionar que cuanto más pobre es su comprensión de su problema, más riesgoso parece. Algunos también pueden tener dificultades para reconocer que alguien no compró el hardware adecuado en primer lugar.

Además, la administración generalmente tiene una definición más corta de lo que significa a largo plazo . Si se les pide que realicen algún tipo de optimización de presupuesto mensual, ¡incluso pueden tener incentivos financieros directos no para comprarle nuevo hardware! Y no les importarán las dos semanas que puede ahorrar seis meses después ...

Por supuesto, no siempre tiene que esperar tanto cuando puede haga cosas maravillosas en un día !

Eso funciona mejor si tiene gerentes inteligentes y de mente abierta que escuchan, entienden sus problemas, están listos para asumir riesgos razonables y confían en usted lo suficiente como para permitirle explorar formas creativas de usar el tiempo libre.

Ese no es siempre el caso: esperé 3 meses para obtener una tarjeta gráfica para conectar mi segunda pantalla mientras se me prohibía comprarla yo mismo (30 €), perdí 3 días por no tener un disco duro adicional de 500GB, regularmente tuve que esperar varias horas cuando preparar datos para el cliente debido a la lenta red de 100Mbps. Después de pedir varias veces 2GB de RAM, me dijeron que lo comprara yo mismo y dejara de molestar a la gerencia con esos problemas técnicos. Y estábamos haciendo computación científica para un gran cliente industrial que estaba listo para pagar el precio.

3
Maxime R.

En las grandes organizaciones corporativas, la elección del hardware está predefinida y bloqueada debido al hecho de que dichas organizaciones tienen especificaciones y configuraciones fijas y administradas de forma centralizada para computadoras de escritorio y portátiles. Las especificaciones para estos habrán sido dictadas abrumadoramente por una combinación de consideraciones de "adquisición" y "soporte". La compañía en la que estoy trabajando actualmente, por ejemplo, tiene más de 100,000 empleados y trabajan sobre la base de que "una talla" sirve para todos, y esa talla habrá sido impulsada principalmente por comerciales. Una vez que tales políticas están en su lugar, se bloquean porque los servicios de soporte generalmente invierten una cantidad considerable de tiempo en probar y desplegar el software según esa especificación de máquina "estándar". Los argumentos en torno a la productividad del "desarrollador", en tales entornos, simplemente caen en oídos sordos; los servicios de producción no van a hacer una excepción para un grupo pequeño sobre la base de que pueden ser más productivos; si lo hicieran, se verían rápidamente inundados de solicitudes de desviaciones y, en cualquier caso, (apoyo a la producción) se incentivaría para mantener el costo de soporte lo más bajo posible. > 1 configuración de computadora de escritorio/portátil aumenta el costo de soporte. En una organización donde el "producto" primario es el resultado de la ingeniería de software, tales argumentos no son válidos, pero la realidad es que la mayoría de las organizaciones NO lo son, y el factor clave es mantener bajos los costos de soporte.

3
grumblestiltskin

Dejando a un lado las matemáticas, no es probable que todos sus usuarios tengan máquinas de gama alta. Desarrollar en una máquina que se especifique más de cerca a algo que tiene un precio promedio familiarizará al desarrollador más de cerca con la experiencia (y los dolores) de sus usuarios.

Su departamento de control de calidad puede tener una máquina de especificaciones mínimas, pero ¿con qué frecuencia se usa? El desarrollo en una máquina que es un entorno objetivo realista expone los problemas desde el principio (falta de respuesta, bajo rendimiento, condiciones de carrera debido a ese rendimiento lento, etc.), lo que lleva a los equipos a solucionarlos antes.

3
Justin Johnson

¡Simplemente porque el mejor hardware no es el mejor desarrollador! Dicho esto, la compañía tiene la culpa si está obstaculizando el trabajo del programador.

Sin embargo, si el hardware es suficiente para que el desarrollador trabaje, entonces no tiene nada de qué quejarse.

Además, no tiene sentido tener el 'mejor' hardware y usar solo un IDE para codificar - desperdicio de recursos de esa manera.

2
Sterex

"Nos hemos encontrado con el enemigo y él somos nosotros". - ¡Pogo

De cualquier manera, corta esta pregunta: el grupo colectivo de "programadores" tiene responsabilidad directa por cualquier falla al comprar lo mejor herramientas en el lugar de trabajo.

  1. Las finanzas comerciales son increíblemente complicadas con numerosas motivaciones y palancas en conflicto. Sin un conocimiento concreto de lo que su departamento de finanzas está rastreando actualmente (evasión de impuestos, gestión de gastos trimestrales, aumento de los gastos de capital futuros, maximización del EBITDA o cualquier otra cosa que esté en su radar), cualquier discusión sobre los costos reales es irrelevante. ¿Cómo reaccionaría ante una persona de marketing que le molesta sobre las optimizaciones del compilador para el código que sabe que está a punto de pasar a un lenguaje interpretado? Si los programadores no pueden demostrar en términos específicos cómo las herramientas que tienen no contribuyen directamente al resultado final, el negocio es correcto gastar lo menos posible. También tenemos que aprender a escuchar las finanzas comerciales para poder comprender las realidades que enfrenta la asignación de recursos.

  2. Nosotros, como grupo, votamos con nuestra presencia en el lugar de trabajo mucho más fuerte que pedir mejores herramientas, enviar el libro blanco más impresionante a nuestros gerentes o incluso publicar en Internet. Hay organizaciones que han creado una cultura para garantizar que sus empleados tengan las herramientas que necesitan justificadamente o entiendan el caso de por qué no en este momento. Hasta que la presión competitiva requiera esto de la mayoría de los empleadores, solo podemos votar buscando empleadores en los que creemos.

Cada uno de nosotros tiene que hacer esto que es importante para el núcleo, o dejarlo ir.

2
bmike

CFO lado.

La empresa tiene muchos gastos. Cada departamento necesita más $ para mejorar y en cada departamento el gasto es obligatorio.

cuando se trata de elegir la mejor manera de usar los $ disponibles, tenga en cuenta:

  • cuanto necesitan las sumas más pequeñas son más fáciles de aprobar.
  • ¿aumentará las ventas? las mejores computadoras generalmente no contribuyen directamente al aumento de las ventas
  • ¿Al departamento le gusta gastar $ o entienden el flujo de caja? La mayoría de los departamentos de I + D que he visto tienen un enfoque arrogante de "merecemos lo mejor". Esto es comprensible ya que ganan muchos $ y cuando crees que mereces las mejores cosas de la vida. Las necesidades de $ de los equipos de I + D generalmente dan la sensación de que un niño mimado solicita más juguetes mientras sus padres están luchando. "Un genio delicado".

El desperdicio de 10 minutos al día no es un razonamiento que funcione con la mayoría de los departamentos de finanzas. La mayoría de los equipos de I + D desperdician mucho más en todas las actividades de programación que no disfrutan durante el día. Vamos a trazar todos los desperdicio en su departamento y ver qué se puede hacer para mejorar la productividad.

2
3seconds

Solía ​​ser desarrollador en una gran empresa y luego una startup. Aquí están mis dos centavos:

  1. DIMM DDR3 de 8GB (2x $ 4GB) cuesta $ 50- $ 55 hoy (alrededor de julio de 2011)
  2. 21 "LCD El monitor cuesta $ 200 (alrededor de julio de 2011)

Si su empresa le permite traer su propio equipo, simplemente use su propio $ y actualice el monitor RAM y LCD. ¿Por qué lo pregunta?)

  • ¿No es tu propia productividad algo que valoras?
  • ¿Tus ojos no valen $ 200?

Siempre puede llevar el monitor con usted cuando abandone el trabajo (recuerde etiquetarlo claramente como su propiedad personal). He hecho la receta anterior (actualizando RAM y usando mi propio LCD monitor) en mis dos trabajos anteriores, y en mi trabajo actual.

2
Init Fini

No veo cómo puedes agrupar a todos los empleadores en una sola canasta. Trabajé para algunos empleadores como empleado y como consultor, y siempre obtuve hardware que era más que suficiente para mis necesidades: para el trabajo actual, me entregaron un nuevo y brillante quad quad core HP con 4 gb de ram y Win64 en el primer día, no de primera línea, pero muy suficiente (utilizo Delphi XE y XMLSpy como mis principales herramientas de desarrollo), de hecho, fue muy agradable y compré la misma máquina para mí en casa. (¡Quizás no soy tan productivo! LOL.)

Si no obtiene un buen hardware, intente pedirlo, y si siente que no puede pedirlo, probablemente no esté trabajando en el lugar correcto porque no ven a los desarrolladores como un recurso, sino como un responsabilidad.

Entonces, supongo que la respuesta a su pregunta es: las compañías que no lo hacen y/o se niegan a proporcionar suficiente hardware para un desarrollador son compañías que consideran a sus desarrolladores una responsabilidad, trabajos que preferirían externalizar y no tratar en absoluto.

2
Vector

Todo se reduce a quién maneja el dinero. En una organización más grande, TI recibe un presupuesto de, digamos, $ 1 millón para el año. Eso incluye salarios de soporte, servidores, etc. Tienen que distribuirlo entre todos sus recursos. Hicieron tratos con proveedores como Dell o IBM para obtener x número del mismo tipo de computadora. Esto se lo dan a todos, desde atención al cliente hasta los programadores. También obtienen ofertas de soporte, etc., cuando solo tienen que mantener un conjunto limitado de modelos. Tampoco son programadores, he tenido numerosos argumentos con no programadores acerca de las computadoras. Cuando revisé que mis gerentes de TI se dirigían a un nuevo HD una vez, el CEO dijo que los compraran y auge, finalmente todos tenían suficiente espacio en disco para ejecutar máquinas virtuales.

De hecho, exploté y grité a mi jefe porque me iba a quitar mi monitor de 19 "porque tenía una computadora portátil. También me fastidiaron, dándome un modelo de 13" cuando otros tenían 15 ". Eso se remonta a la política en TI, que es otro problema. Es una especie de nosotros contra ellos pensando a veces.

1
Bill Leeper

Desde la perspectiva descrita por el autor de la pregunta, la pregunta tiene mucho sentido. Sin embargo, hay más costos involucrados en mantener actualizado el hardware.

Estos son algunos de los costos que también deben considerarse:

  • costo de la solicitud (investigación y detalles que entra en la compra)
  • costo de instalación y configuración
  • costo de soporte y mantenimiento
  • costo de licencia de software
  • costo de eliminación/actualización

En algunos casos, estos pueden ser 2-5 veces mayores que el costo del hardware en sí. Aún más si hay licencias sofisticadas de software involucradas.

En general, la escala de estos costos depende del tamaño de la empresa o de la complejidad de la estructura organizacional. Los equipos más pequeños con acceso directo al poder adquisitivo pueden mantener estos costos bajos, mientras que en una organización más grande estos costos pueden ser muy altos.

1
Joshua

En pocas palabras, las decisiones de compra a menudo las toman los contadores de frijoles (contadores y gerentes intermedios) en lugar de los gerentes de proyecto.

Mucha gente ha dado posibles razones, y todas ellas son un factor en una situación u otra, por lo que no existe una situación primordial. La compra de equipos a gran escala puede significar que pierden algo de dinero en productividad para los programadores, pero ganan dinero en otras áreas.

Aún así, a menudo todo se reduce a un presupuesto. Tienes que encajar en el presupuesto, y eso es todo.

1
Erik Funkenbusch

En mi opinión, solo hay dos objeciones defendibles que una empresa podría plantear para mantener a los desarrolladores configurados con estaciones de trabajo sólidas. El primero es que están pasando por una crisis de efectivo. Es mejor que sea de corta duración, o la empresa no será una empresa en marcha por mucho tiempo. Si trabaja para una empresa como esa, debe mantener actualizado su currículum.

La otra es que su organización simplemente no tiene cuellos de botella en la capacidad de desarrollo de software. Es decir, un aumento en la calidad o la velocidad de los resultados del desarrollo de software no mejoraría el resultado final. Si el negocio principal de la compañía es vender software, eso será prácticamente imposible. Si el software no es su negocio principal, y no tienen cuellos de botella, deberían tratar de reducir su fuerza laboral de software transfiriendo o dejando ir a los miembros más débiles de su equipo. El suministro de equipo deficiente reducirá el tamaño de su equipo desde el extremo opuesto, me temo.

1
PeterAllenWebb

Debido a que muchas empresas fuera de las nuevas empresas tecnológicas típicas no están interesadas en contratar estrellas de rock. Están invirtiendo en alguien que solo puede hacer trabajo. Entonces, si no les importa cómo trabajas, siempre que lo hagas, ¿por qué deberían importarles qué equipo usas? He trabajado en lugares que todavía usan CRT de 15 pulgadas y todo el mundo está bien. A veces, cuando leo preguntas como esta, me pregunto si la gente se da cuenta de que no todos en el mundo trabajan para una nueva empresa.

1
Sergei

He trabajado para empresas que escatimaron en hardware en el pasado. Es una mierda, y si necesitan convencerse, es probable que la batalla sea interminable.

Resulta que las empresas comprometidas con el uso de las mejores herramientas disponibles son raras, pero existen; Yo trabajo para uno. Tengo un MBP 2011 de 17 "de cuatro núcleos, 8 GB de RAM, SSD Vertex 3, monitores externos de 2 x 24", más un escritorio de cuatro núcleos y un segmento Xen de 4 GB; así como oficinas tranquilas.

¿Podría pasar con hardware menor? Por supuesto. Pero creo que todos preferiríamos estar alardeando que quejándonos.

1
Erik Peterson

Solía ​​trabajar para una empresa de redes donde actualizaron RAM de 512 MB a 1 GB el año pasado. Estábamos trabajando con monitores CRT f ** king en 2010. La parte más divertida fue que el hardware de los gerentes se actualizó a 2 GB de RAM. Por qué demonios alguien querría 2 GB para crear malditos PPT y cómo alguien desarrollaría aplicaciones con 1 GB de RAM, nunca lo sabría.

1
arun kumar

Obviamente, 2 GB en una máquina de desarrollador es vergonzoso, sin embargo, resolver este problema no debería costar $ 3000 ... más como $ 100 (de manera conservadora). ¿Por qué hacer el caso para actualizar todo de una vez? Los departamentos de TI inteligentes están actualizando continuamente las máquinas durante su vida útil. Eventualmente necesita una máquina completamente nueva, pero su máquina no está ejecutando especificaciones de hardware para Windows 95; podría actualizarse por $ 300- $ 500 en una máquina típica de rango medio, y estas actualizaciones podrían ocurrir durante varios meses, por lo que no hay un problema de flujo de efectivo. Probablemente no necesite una nueva tarjeta gráfica, tarjeta de sonido, puertos USB, grabadora de DVD, etc., entonces, ¿por qué pagarlas ahora? Es como comprar un auto nuevo porque su aire acondicionado está roto.

0
Morgan Herlocker

Nuevas máquinas, nuevas tecnologías significan nuevos problemas. No todos en todas las empresas son expertos en tecnología y no todas las empresas tienen los recursos de TI para capacitar a las personas y manejar los problemas las 24 horas, los 7 días de la semana.

Sí, quizás si usted es un programador independiente que trabaja en su propio escritorio personal, valdría la pena gastar $ 1000 en una plataforma para exprimir 10 minutos de productividad adicional todos los días. Sin embargo, cuando está implementando cientos de estas máquinas para personas que pueden perder productividad debido a nuevos equipos, la perspectiva parece un poco más sombría.

0
tskuzzy

Creo que las herramientas "correctas" son necesarias para los trabajos correctos. Si no tiene las herramientas "correctas" (hardware, software u otro), creo que se debe a un malentendido o falta de comunicación de las expectativas entre un empleado y sus jefes. Esto es responsabilidad tanto de los desarrolladores como de la compañía. Cuanto más altas sean las expectativas, más se debe considerar el "requisito".

Dicho esto, conozco a varios desarrolladores que "necesitan" 8 GB de RAM para su máquina cuando he vencido con menos en escenarios más difíciles. Pero nuevamente creo que es entender los requisitos.

0
Steve

En mi compañía actual, los desarrolladores son bastante altos en el tótem para el hardware. Me imagino que el hardware se coloca en un presupuesto normal de la compañía como cualquier otra cosa, y la necesidad supera la necesidad.

En mi opinión, un desarrollador debe ser responsable de su propio hardware, pero eso depende completamente de la situación. Si se le pide que escriba una aplicación simple para un sitio web simple, es posible que no necesite un equipo sofisticado para sentarse en un editor de texto. Por otro lado, si está interesado en la programación por contrato y desea realizar algunos trabajos paralelos, puede considerar comprar su propio hardware y software base, y hacer que la compañía compre licencias API individuales según lo necesite esa compañía específica.

De cualquier manera, todo es cuestión de controles y equilibrios, y si le preocupa la productividad, sus dólares probablemente se gasten mejor en monitorear cuánto código está distribuyendo un desarrollador por su tiempo. Si les toma 10 horas hacer un proyecto y 5 horas hacer un proyecto similar, puede ser un problema relacionado con los empleados y no tanto un problema del desarrollador.

0
Mike Calvert

Una vez traté de argumentar a favor de que la compañía (grande) nos comprara desarrolladores de sistemas decentes para el consumidor. Esencialmente, las especificaciones de rendimiento en ellos eran comparables a la versión Enterprisey pero a la mitad del precio. Mi argumento fue que a estos precios eran esencialmente descartables, por lo que si se rompía, simplemente compre uno nuevo (suponiendo que más del 75% duraría 24 meses). Sugerí que a cambio de obtener una de estas computadoras portátiles, el desarrollador tendría que firmar un acuerdo (o algo así) de que él/ella sería responsable de la carga/configuración del SW y que la mesa de ayuda no 'ayudaría' a solucionarlo.

No voló, pero pensé que la premisa básica del argumento era razonable, teniendo en cuenta que hicimos windows dev y todos éramos administradores locales.

0
Ken Henderson

Por qué no? Porque no es responsable. No podemos igualar con precisión cada hora de trabajo con un margen de beneficio.

Una solución simple para esto sería reembolso quien paga por sus propias actualizaciones de la máquina. Si su conteo es cierto, debería ser fácil demostrar su propio beneficio de la mejora de la producción comparando los últimos 2 períodos (semana, mes, semestre, año o lo que sea) en el mismo trabajo/proyecto.

Si los desarrolladores pudieron cuantificar cuánto generan durante un período, el problema desaparece. La mayoría de los desarrolladores no pueden. Ni sus gerentes y menos aún la gente de finanzas. Porque el trabajo es muy subjetivo.

Pero si de alguna manera puede mostrar esos números (sé que no puedo), ¡ya está listo para su máquina de sueños rentable que no se inicia automáticamente!

0
cregox

Debo haber perdido la perspectiva del autor.

Primero, Google, como un ejemplo, se fundó utilizando discos duros "desechables" baratos conectados a servidores más antiguos que funcionan como una granja. OK, eso podría ser una hipérbole, pero vea: http://en.wikipedia.org/wiki/Google_platform#Original_hardware

En segundo lugar, no se necesita mucha CPU o recursos gráficos para ejecutar gvim. Entonces, tal vez su elección del entorno de desarrollo sea el problema.

En tercer lugar, hay docenas, si no cientos, de formas de reducción de la intensidad de la CPU para mejorar la productividad que tienen poco que ver con si tienes o no 2 gigas de RAM o 3 gigas de RAM. Mira un programador promedio sobre su hombro para ver esto: por ejemplo, usando un lector ligero PDF vs Adobe suite para la documentación; usando una instalación mínima de a VM para probar aplicaciones en lugar de una instalación completa; eliminar todos esos demonios de inicio incluidos con máquinas Win Dell (usando regedit); usar un navegador liviano para webmail en lugar de mantener Outlook en funcionamiento; no abrir 50 mil millones de pestañas en soluciones de persecución de Firefox para problemas de implementación de MSFT en la web, etc., etc., etc. Este punto se reduce a lo siguiente: Demuestre que necesita más memoria y Mhz para resolver este problema de diseño de software más rápido.

0

Las empresas toman decisiones de manera muy diferente a los desarrolladores. La mayoría cuenta con mecanismos que proporcionan hardware apropiado para la tarea, con canales de compra aprobados, grupos responsables de las instalaciones, pruebas, cumplimiento de seguridad y otras medidas. Por lo tanto, las preguntas que cambian las especificaciones de hardware pueden ser complicadas.

Por otro lado, supongamos que llegó al CEO con una sugerencia de gastar el equivalente al 1% del salario para actualizar el equipo. Le pedirá al CFO que presente el golpe que tendrían en los márgenes y los ingresos, digamos que es del 5%. Ahora, sin las estimaciones, eso puede tener un efecto amplificado en el precio de las acciones de la compañía, digamos un 10%, y la alta gerencia pierde sus bonos de un millón de dólares. A menos que haya buenas razones para esperar que la actualización mejore los resultados de la compañía, esta sugerencia sería DOA. Las empresas siempre buscan aumentar los gastos solo si mejora los ingresos. Eso significa que, en la mayoría de los casos, los equipos de gama baja y alta son subóptimos.

Una solución para satisfacer tanto a los desarrolladores como a la administración de la compañía sería permitirles a los desarrolladores pagar el alquiler del equipo, un sistema típico costaría $ 20-200/mes si se alquila por 2 años. Una empresa puede tener una gama de hardware aprobado y ofrecer a los desarrolladores una configuración estándar o elegir una configuración actualizada y deducir el alquiler adicional del cheque de pago.

0
Gene Bushuyev

Los nuevos programas funcionan muy bien, en la computadora del desarrollador. Compre a un desarrollador una caja de 4 GHz de 8 núcleos y la aplicación que cree funcionará bien en cualquier computadora de 4 GHz de 8 núcleos. Pero en la computadora de un cliente típico con 2 GHz y 1 núcleo, funciona como un caracol muerto.

Los desarrolladores, naturalmente, siguen agregando características y código y niveles de indirección hasta que las cosas se ralentizan, en las máquinas de desarrollo. Si solo está desarrollando hardware nuevo, compre lo último. Pero es peligroso si vende software a personas con hardware existente.

La computadora de un desarrollador debe tener aproximadamente el mismo nivel de potencia que la computadora del cliente objetivo, con quizás un poco más para el depurador. Pero no más rápido.

0
Andy Canfield