web-dev-qa-db-fra.com

Pourquoi toutes les entreprises n'achètent-elles pas aux développeurs le meilleur matériel?

J'ai dû louper quelque chose.

Le coût d'employer un programmeur dans ma région est de 50 $ à 100 $ de l'heure. Une machine haut de gamme ne coûte que 3 000 $, donc le coût d'achat d'un ordinateur vraiment génial tous les trois ans s'élève à 0,50 $/heure. (3000 $/(150 semaines * 40 heures))

Avez-vous besoin une machine haut de gamme ? Non, les 3000 $ ici représentent le maximum qui pourrait être dépensé pas le montant que j'attendrais. C'est à peu près le coût d'un iMac ou d'un MacBook haut de gamme (17 pouces).

Supposons donc que vous puissiez économiser 2000 $ tous les trois ans en achetant des ordinateurs moins chers et que votre développeur moyen gagne 60 $. (Ce sont les numéros les plus charitables que je puisse offrir aux compteurs de haricots. Si vous économisez seulement 1000 $ ou 750 $, cela ne fait que renforcer mon cas.) Si ces ordinateurs moins chers ne vous coûtent que 10 minutes de productivité par jour. (Pas du tout un tronçon, je suis sûr que ma machine me coûte plus que cela.) Puis sur 3 ans, les 125 heures perdues représenteraient une perte de 7500 $. Une perte de 1 minute par jour (750 $) donnerait un gain net de 1250 $, ce qui ne compenserait guère le coût d'un mauvais moral.

S'agit-il d'un cas de "penny-sage et livre-idiot" ou ai-je trop simplifié la question? Pourquoi n'y a-t-il pas un accord universel (même dans "l'entreprise") selon lequel les développeurs de logiciels devraient disposer d'un excellent matériel?

Edit: Je dois préciser que je ne parle pas d'un désir de performances rapides et criantes qui rendrait mes amis envieux et/ou d'un SSD. Je parle de machines avec trop peu RAM pour gérer leur charge de travail régulière, ce qui conduit à un gel, un redémarrage et (sans exagération) environ 20 minutes pour démarrer et ouvrir les applications typiques sur une normale Lundi (je ne ferme pas sauf le week-end).

Je suis en fait prévu pour obtenir une nouvelle machine bientôt, et cela améliorera quelque peu les choses. (Je passerai de 2 Go à 3 Go de RAM, ici en 2011.) Mais comme la nouvelle machine est médiocre par rapport aux normes actuelles, il est raisonnable de s'attendre à ce qu'elle soit également inacceptable avant sa date de retrait.

Attendez! Avant de répondre ou de commenter:

  1. 3000 $ n'a pas d'importance. Si la machine que vous voulez coûte moins cher, c'est une raison de plus pour qu'elle soit achetée.
  2. Je ne demande pas de mises à jour plus fréquentes. Juste du meilleur matériel sur le même calendrier. Il n'y a donc pas de coût d'installation caché, etc.
  3. Veuillez ne pas discuter de la différence entre le matériel Edge qui saigne et le très bon matériel. Je fais du lobbying pour un très bon matériel, comme dans une machine qui est, au pire, l'une des meilleures machines fabriquées il y a trois ans.
  4. 50 $ - 100 $/heure est une estimation du coût d'emploi - pas du salaire. Si vous travaillez en tant qu'entrepreneur, ce serait le taux de facturation utilisé par le pouvoir adjudicateur qui comprend ses dépenses et ses bénéfices, l'employeur Social Sec. Contribution, contribution des employeurs aux soins de santé, etc. Veuillez ne pas commenter ce chiffre, sauf si vous le savez irréaliste.
  5. Assurez-vous que vous fournissez du nouveau contenu. Lisez toutes les réponses avant d'en fournir une autre.
287
Eric Wilson

De nombreuses entreprises sont sûrement folles à ce sujet.

Sérieusement. Si vous demandiez à 10 000 responsables techniques: "Disons que vous avez payé 100 000 000 $ à Danica Patrick. Pensez-vous qu'elle pourrait gagner l'Indianapolis 500 en faisant du vélo?", Je suis sûr qu'aucun d'eux ne dirait "Oui".

Et pourtant, un bon pourcentage de ces mêmes gestionnaires semblent penser que les développeurs de logiciels hautement rémunérés devraient être tout aussi productifs avec des outils et des conditions de travail merdiques qu'avec de bons - car, bien sûr, ces programmeurs paresseux et sans scrupules sont payés beaucoup d'argent et devrait pouvoir pédaler plus vite sur ce vélo.

Maintenant, en quoi consistent exactement de bons outils et de bonnes conditions de travail dépend du travail à faire. Les personnes qui codent le noyau Linux ont besoin de différents types de matériel que les concepteurs de sites Web. Mais si l'entreprise peut se le permettre, c'est fou de ne pas donner aux gens ce dont ils ont besoin pour être aussi productifs que possible.

Une entreprise pour laquelle je travaillais avait une base de code source de 9 Go, principalement en C, et la chose dont nous avions le plus besoin était des constructions rapides. Malheureusement, nous travaillions principalement avec du matériel qui avait été médiocre cinq ans auparavant, donc les gens étaient naturellement réticents à construire bien autre chose que ce sur quoi ils travaillaient en ce moment, et cela a eu des conséquences sur la faible productivité, les problèmes de qualité et les constructions cassées. . L'entreprise avait de l'argent pour mettre à niveau le matériel, mais elle était étrangement avare. Ils ont cessé leurs activités l'été dernier après avoir dépassé les 100 millions de dollars parce que leurs deux plus gros clients les ont abandonnés après avoir manqué à plusieurs reprises les délais. On nous a demandé une fois de suggérer des moyens d'améliorer la productivité; J'ai présenté le même type d'analyse coûts-avantages que le PO a fait. Il a été rejeté parce que la direction a déclaré: "Cela doit être faux - nous ne pouvons pas être aussi stupides", mais les chiffres ne mentaient pas.

Une autre entreprise pour laquelle je travaillais avait de bons ordinateurs pour les programmeurs, mais a insisté pour que tout le monde travaille dans de petits bureaux minuscules dans un grand enclos des enclos sans partitions. C'était un problème parce que beaucoup d'entre nous travaillaient avec un matériel prototype délicat. Il y avait peu de place pour le mettre sur nos bureaux, et les gens passaient, le brossaient et le frappaient au sol. Ils ont également dépensé 47 millions de dollars en VC argent et n'avaient rien à prouver.

Je ne dis pas que de mauvais outils et de mauvaises conditions de travail ont tué ces entreprises. Mais je dis que payer quelqu'un à beaucoup d'argent et puis s'attendre à ce qu'il soit productif avec de mauvais outils et de mauvaises conditions de travail est un "canari dans la mine de charbon" pour une approche fondamentalement irrationnelle des affaires qui risque de se terminer en larmes.


D'après mon expérience, le plus gros tueur de productivité pour les programmeurs devient distrait. Pour les gens comme moi qui travaillent principalement avec des langages compilés, une énorme tentation est la lenteur des builds.

Lorsque je clique sur le bouton "build and run", si je sais que je vais tester dans cinq secondes, je peux zoner. Si je sais que ce sera cinq minutes, je peux me régler une minuterie et faire autre chose, et quand la minuterie se déclenchera, je pourrai commencer les tests.

Mais quelque part au milieu se trouve le fossé diabolique des activités qui conduisent à l'ennui, comme la lecture de blogs et P.SE. Aux tarifs que je facture en tant que consultant, cela vaut la peine pour moi de jeter de l'argent sur du matériel avec des spécifications prodigieuses pour me garder hors de ce fossé. Et j'ose dire que cela en vaudrait la peine pour de nombreuses entreprises également. C'est juste la nature humaine, et je trouve qu'il est beaucoup plus utile d'accepter et de s'adapter aux faiblesses normales communes à tous les primates que de s'attendre à une maîtrise de soi surhumaine.

224
Bob Murphy

Je dirais qu'en réalité, un coût est visible et quantifiable, tandis que l'autre n'est ni l'un ni l'autre.

Si l'échec de la mise à niveau du matériel saigne même jusqu'à 1000 $ par développeur et par semaine par rapport au budget, personne à l'extérieur (lire: ci-dessus) le service technique ne le voit jamais. Le travail est toujours fait, à un rythme plus lent. Même dans le département technique, le calcul de ce chiffre est basé sur de nombreuses hypothèses non prouvables.

Mais si un responsable du développement demande 3000 $ par développeur, en particulier dans une entreprise de plus de 50 développeurs, cela prend beaucoup de justification. Comment fait-il ça?

170
pdr

Je mettrai mes 2 cents ici du côté de l'employeur ... qui est également développeur.

Je suis d'accord que les machines bas de gamme sont inutiles mais les machines haut de gamme sont exagérées.

Il y a plusieurs raisons pour lesquelles vous n'obtenez pas les machines haut de gamme:

  1. Cashflow est un vrai problème, pas seulement une théorie. Vous pourriez être payé entre 60 000 $ et 80 000 $ par an, mais ce mois-ci, nous avons un montant total à la banque qui doit être réparti entre chaque chose en concurrence au cours de ce mois.
  2. Il y a une échelle mobile de prix et d'avantages. Les machines bas de gamme sont dans l'ensemble assez inutiles ... si vous obtenez un céleron ou une puce à faible puissance, puis vous vous éloignez ... les machines de milieu de gamme ont de bonnes performances globales, une fois que vous êtes dans le haut, vous commencez à régler pour un but donné (CAD, Gaming, encodage vidéo, etc.) ... et les frais de réglage supplémentaires.
  3. Les pièces générales sont généralement moins chères, les remplacements, les garanties et les assurances jouent tous un rôle dans les coûts de fonctionnement globaux et les temps d'arrêt pendant que vous vous procurez un remplacement.
  4. Les machines haut de gamme se déprécient juste plus vite que celles 1/3 du prix.
  5. Si vous faites de la programmation graphique haut de gamme ou du travail CAD alors le grognement supplémentaire est valide; si vous écrivez simplement un logiciel d'entreprise standard, exécutez Visual Studio ou Eclipse et surfez sur Stackoverflow pour obtenir des réponses, alors le une puissance supplémentaire est un droit de vantardise cool, mais en réalité, une machine de milieu de gamme ne maximisera pas le processeur ou la mémoire dans une boîte standard aujourd'hui.
  6. Machines de milieu de gamme construites aujourd'hui en martea et dans 2 ans elles seront deux fois plus rapides (enfin en quelque sorte). Sérieusement, ils s'allument rapidement.
  7. À la fin de la journée, la plupart de ce que vous faites est de taper du texte brut dans des fichiers texte et de l'envoyer au compilateur ... ce bit n'a vraiment pas changé depuis VI dans les années 1970 et les machines bas de gamme d'aujourd'hui sont des millions de fois plus rapides que ceux à l'époque ... votre rythme de codage n'est vraiment pas si différent.

Donc, pour résumer, vous devez avoir un bon équipement et un bon outillage, cela fait une grande différence mais les machines haut de gamme ne sont pas vraiment justifiables pour le "développeur général".

... ah, et maintenant je vous lis éditer et c'est ce dont vous parlez, je vais laisser le cos ci-dessus je l'ai écrit maintenant ... Ouais, votre machine est sous-spécifiée pour l'outillage.

Pour clarifier une machine de milieu de gamme devrait avoir

  • 2 cœurs min, 4 cœurs plus bons à ce stade, c'est exagéré.
  • 4 Go est un min, 8 Go est bon et plus c'est agréable d'avoir.
  • Le SSD devrait être standard, mais un disque WD 10KRPM ou un disque Seagate 80-100GB devrait vraiment faire l'affaire.
  • 2 moniteurs 19 "est un minimum avec une carte vidéo raisonnable.
95
Robin Vessey

La différence de productivité entre les machines "haut de gamme" et les machines "presque haut de gamme" est négligeable. La différence de prix est importante.

Sans parler du support informatique pour différentes machines au lieu d'avoir tous les développeurs utilisant les mêmes images HW et SW (ce que vous ne pouvez pas faire si vous achetez une machine haut de gamme pour chaque nouvelle location, le haut de gamme sera différent à chaque fois). De plus, les gens qui ont obtenu le haut de gamme de l'année dernière voudront mettre à niveau parce que ce nouveau cube suivant a une "meilleure" machine qu'eux, et ils sont tellement plus importants, n'est-ce pas?

Sauf si vous avez vraiment besoin la machine haut de gamme pour votre travail, je ne vois aucune raison de jeter l'argent.

56
littleadv

Parce que la plupart des employeurs ne comprennent pas comment les développeurs pensent, agissent ou travaillent. Ou, comment les meilleurs outils peuvent faire économiser de l'argent à l'entreprise tout en augmentant la productivité. Cela conduit à la perte d'un point sur le test Joel, à l'échec de fournir "les meilleurs outils que l'argent peut acheter". Cela entraîne également une perte de productivité et de satisfaction au travail. C'est comme ça. Peut-être qu'un jour tu pourras créer ta propre entreprise et marquer 13/13. D'ici là, posez des questions à l'avance à votre employeur afin de savoir à quoi vous attendre avant de prendre le poste.

En ce qui concerne votre situation actuelle, si vous sentez qu'ils vous écoutent et vous font confiance, lancez la discussion. Voyez s'ils vous donneront une mise à niveau. Je sais que je travaillerais un peu plus longtemps si j'avais une plate-forme haut de gamme avec deux moniteurs de 50 "pour travailler. Collez-moi dans la matrice.

Même raison pour laquelle les gens veulent une Mercedes CLS quand une Toyota Camry vous y emmène tout de même. Bien sûr, vous ne pouvez presser que quelques secondes de temps de compilation supplémentaires avec une nouvelle machine, mais les apparences comptent.

27
P.Brian.Mackey

Vos calculs ne semblent pas inclure le temps requis pour gérer le flux constant de matériel à l'intérieur et à l'extérieur de l'entreprise - cela prendrait un ou deux gars informatiques supplémentaires selon la taille de votre entreprise, alors virer de 50 $ à 100 000 $/an en plus de vos chiffres. De plus, vous perdez de la productivité le jour où ils échangent votre ordinateur. S'ils lésinent sur le personnel informatique dédié, vous devrez faire les sauvegardes et les restaurations vous-même, perdant éventuellement un jour ou deux dans le processus. En d'autres termes, je pense que c'est un peu plus compliqué que vous ne le pensez.

12
Bryan Oakley

Un problème avec votre argument est le cash-flow. S'ils n'ont pas l'argent, le point est sans objet. L'autre est le retour sur investissement.

Cela peut ne pas s'appliquer aux entreprises dans lesquelles vous avez travaillé. Certaines entreprises sont très endettées et/ou manquent de liquidités. Ils préfèrent dépenser les économies que vous décrivez sur quelque chose qui vendra plus de widgets ou de logiciels. Vous devez montrer que votre gain de production l'emporte sur un investissement égal dans d'autres domaines.

Si une société de logiciels est en mode maintenance et a besoin de plus de ventes, il peut y avoir un meilleur retour sur investissement en ventes et marketing.

Je pense que vous devez tenir compte du fait que dans votre cas, l'argent est mieux dépensé pour un programmeur que pour un autre secteur de l'entreprise.

Soyez prudent avec cet argument si vous êtes sur le salaire. Ils voudront juste que vous travailliez plus dur pour faire la différence;)

9
JeffO

J'ai fait cet argument lors de mon travail pour passer des ordinateurs portables aux ordinateurs de bureau. J'ai dit que tout le monde devrait être sur un ordinateur de bureau et s'ils ont besoin d'un ordinateur à la maison - faites-en un aussi.

Les avantages de la vitesse d'un bon ordinateur ne sont pas négligeables, surtout si vous supprimez les plantages d'un matériel très ancien.

Concernant "haut de gamme" et "presque haut de ligne" - je dirais que près du haut de la ligne est toujours là où vous devriez être. En "presque haut de gamme", vous pouvez mettre à niveau tous les 2 ans au lieu de et vous retrouver avec un meilleur matériel en moyenne.

J'ai recommandé à cyberpowerpc.com et à ma société de me laisser acheter un PC chez eux (responsable marketing), mais ils ont acheté tous les PC des programmeurs à Dell car le support valait le coût supplémentaire. Pensez-y ... c'est 1,5-2x pour acheter un PC de Dell, mais vous appréciez tous si le PC tombe en panne et que vous ne pouvez pas le réparer rapidement, vous perdez de l'argent.

n PC lent est comme un PC cassé que vous ne réparez pas.

8
Chris Kluis

Il y a aussi une question de budget - généralement, les développeurs sont payés sur un budget différent de celui du matériel pour lesdits développeurs, et leur argent pourrait tout simplement ne pas être suffisant dans le budget matériel.

6
Timo Geusch

Tout d'abord, pour répondre à la question posée:

Ils ne peuvent pas faire les mathématiques ou s'ils le font, ils croient en quelque sorte que cela ne s'applique pas à eux. Le budget et la comptabilité du matériel et du personnel sont séparés. Les personnes en position de décision n'ont jamais entendu parler de la question et ignorent totalement qu'un problème existe.

Maintenant, à la vraie question: "Comment gérer cette situation?"

C'est essentiellement un problème de communication. Vous expliquez le problème et l'interlocuteur entend "bla bla bla nous voulons de nouveaux jouets brillants". Ils ne comprennent tout simplement pas.

Si j'étais à votre place, je ferais une petite vidéo intitulée "Pouvons-nous nous permettre de vieux ordinateurs?": Images d'un poste de travail typique. Sur le côté droit, une zone vierge intitulée "coût".

Toujours sur le bouton d'alimentation. Ci-dessous: "Démarrage de l'ordinateur. 20 minutes". Dans la zone vide, "Démarrage de l'ordinateur = 40 $". "Ouverture IDE = 5 $", "Gel de l'ordinateur = 80 $", "création du produit = 600 $"

Parcourez à un rythme rapide et continuez à ajouter les chiffres, puis comparez avec le coût d'un nouvel ordinateur et n'oubliez pas de terminer avec "Cette vidéo a été produite à la maison sur un ordinateur portable acheté en magasin de 500 $ qui surpasse tout le développement" professionnel " machines actuellement disponibles.

Si vous craignez que soulever le problème vous cause des problèmes, vous pouvez également apporter votre propre ordinateur portable au travail.

S'il n'y a aucun moyen de faire passer ce problème, alors vous devriez peut-être envisager de trouver un autre emploi.

6
Sylverdrag

Les remises jouent également un rôle important dans le processus d'achat.

Spit ball (pas de vrais chiffres): 100 machines à 1000 w/15% de réduction = 85000

90 machines à 1000 w/10% de remise = 81 000 + 10 machines à 2000 w/5% de remise = 19 000 => 100 000

Comme cela a déjà été mentionné, le coût supplémentaire lié à la prise en charge des machines "spéciales" doit être ajouté au mélange.

4
bart

Personnellement, j'ai toujours eu au moins un ordinateur de développement OK quand je travaillais pour une `` petite '' entreprise, mais en ce qui concerne les grandes entreprises, les programmeurs sont un centime par douzaine par rapport à un chef de projet ayant un budget.

Surtout s'il fait partie de ceux qui ont de bonnes idées, lisez: budget approuvé.

Quelle que soit la "bonne" idée, cette personne aura besoin de très bons programmeurs pour réellement mettre en œuvre le "nouveau" meilleur "produit" afin de payer au programmeur le prix nécessaire.

Obtenir le nouvel ordinateur de développement, pour moi, ne passe pas par le même `` département '' que l'autre budget, alors attendez-vous à travailler dans de mauvaises conditions si vous êtes bien payé :-) Mon dernier travail: Dell E5xxx + Un LCD 1280x1024 ...

4
Valmond

On m'a demandé de spécifier la machine que je voulais utiliser ici, dans un budget assez serré. J'ai réussi à trouver un système à moitié décent qui fonctionne bien qu'il ne soit pas lourd.

Je pensais à l'origine dans la même direction que l'OP ici, le temps que je reste ici à attendre des compilations ou des charges, c'est de l'argent par la fenêtre. En avançant, je reconnais également que le temps que je passe à aller prendre un café ou à marcher jusqu'à l'imprimante est aussi de l'argent par la fenêtre.

Plutôt que de m'inquiéter du peu de temps que je dois attendre, parce que nous avons opté pour un système de développement moins cher, j'ai examiné mes propres habitudes et amélioré les plus grandes quantités de temps que je passe à ne rien faire de particulièrement utile (ahem. .. stackexchange est utile et productif pour démarrer, et je m'y tiens !! :-)) Bien sûr, nous avons besoin de pauses, mais c'est autre chose que des "pauses".

Donc, d'une manière générale, cette question pourrait être "l'optimisation prématurée" de l'efficacité du travail. Beaucoup de bons points sur les coûts de migration, la perte des achats en volume, etc.

Dans votre situation particulière, où vous perdez du temps sur l'ordre d'une pause pour redémarrer/ouvrir des programmes, oui, il est très logique de passer à un équipement décent car votre productivité est gravement compromise, un système i3 à mi-chemin décent avec 4 Go RAM est de l'ordre de 500 $ ... Je suis sûr qu'il ne faudra pas longtemps pour récupérer ce coût.

3
Stephen

Un gros facteur est le type de bloatware que l'informatique dans une grande entreprise typique a tendance à mettre sur l'ordinateur portable. Si vous avez une machine Windows 7 à la maison et seulement un antivirus, un système SSD-3GB-Quad-core standard démarrera en moins de 10 secondes. Comparez cela au bloatware de mon entreprise, et il faut une éternité pour démarrer. J'ai vu des gens utiliser le zapping du système d'exploitation complètement et installer le leur pour accélérer les choses. Je pense que cela résout un problème dans une certaine mesure, bien qu'il s'agisse d'une énorme violation d'InfoSec. Mais sérieusement - 10 minutes?!

3
Sudipta Chatterjee

L'achat de nouveau matériel implique de l'argent, l'argent implique des décideurs et ils ne sont généralement pas des développeurs si votre entreprise est assez grande. Bien sûr, nous avons exceptions ...

Comme l'a expliqué @Rob, il y a beaucoup de raisons pour lesquelles vous n'obtiendrez pas le matériel meilleur. Votre entreprise peut avoir une politique définissant le type de matériel acheté, comme toujours avec la bureaucratie, il est difficile d'avoir une politique de pointe. De nombreux managers ne prendront pas la peine de l'adapter à vos besoins personnels, etc.

Mauvaise communication, aversion au risque et autres défauts:

Considérons que vous avez un matériel vraiment merdique, il n'est plus possible de travailler dans ces conditions et vous voulez faire quelque chose.

Vous devez maintenant convaincre votre manager. Eh bien, généralement, vous devrez convaincre votre chef de projet qui le dit à votre supérieur hiérarchique et vous devrez vous assurer que ce type comprend vraiment vos problèmes.
Implique les compétences en communication et la compréhension technique de la gestion .

Deuxième étape, si vous avez la chance, la direction y réfléchira. Qu'obtiennent-ils?

  • Vous travaillerez plus rapidement avec certaines incertitudes (ils n'obtiennent pas directement d'argent comme vous allez essayer de l'expliquer).
  • Cela coûtera de l'argent, maintenant .

Cela signifie qu'ils devront échanger de l'argent, et leur planification réelle de votre travail, pour une éventuelle opportunité de vous laisser faire autre chose à l'avenir et que, c'est un investissement mais aussi un risque .
Malheureusement, de nombreux gestionnaires sont averses au risque . Sans oublier que plus leur compréhension de votre problème est mauvaise, plus elle apparaît risquée. Certains peuvent également avoir du mal à reconnaître que quelqu'un n'a pas acheté le matériel adapté en premier lieu.

De plus, la direction a généralement une définition plus courte de ce que signifie à long terme . Si on leur demande de faire une sorte d'optimisation du budget mensuel, ils peuvent même avoir des incitations financières directes pas pour vous acheter du nouveau matériel! Et ils ne se soucieront pas des deux semaines que vous pourriez économiser six mois plus tard ..

Bien sûr, vous n'avez pas toujours à attendre aussi longtemps quand vous le pouvez faites des choses merveilleuses en une journée !

Cela fonctionne mieux si vous avez des gestionnaires intelligents et ouverts qui écoutent, comprennent vos problèmes, sont prêts à prendre des risques raisonnables et vous font suffisamment confiance pour vous permettre d'explorer des façons créatives d'utiliser le temps libéré.

Ce n'est pas toujours le cas: j'ai attendu 3 mois pour obtenir une carte graphique pour connecter mon deuxième écran tout en étant interdit de l'acheter moi-même (30 €), perdu 3 jours pour ne pas avoir de disque dur supplémentaire de 500 Go, j'ai dû régulièrement attendre plusieurs heures quand préparer les données pour le client en raison du réseau lent de 100 Mbps. Après avoir demandé plusieurs fois 2 Go de RAM, on m'a dit de l'acheter moi-même et d'arrêter de déranger la direction avec ces problèmes techniques. Et nous faisions du calcul scientifique pour un gros client industriel qui était prêt à en payer le prix.

3
Maxime R.

Dans les grandes entreprises, le choix du matériel est prédéfini et verrouillé du fait que ces organisations ont des spécifications et des configurations fixes et gérées de manière centralisée pour les ordinateurs de bureau et portables. Les spécifications de ceux-ci auront été dictées dans une très large mesure par une combinaison de considérations "d'achat" et de "soutien". La société dans laquelle je travaille actuellement, par exemple, compte plus de 100 000 employés et travaille sur la base du fait que la "taille unique" convient à tous, et cette taille sera principalement due aux publicités. Une fois ces stratégies en place, elles sont verrouillées car les services de support investissent généralement beaucoup de temps dans les tests et le déploiement du logiciel selon cette spécification de machine "standard". Les arguments concernant la productivité des "développeurs", dans de tels environnements, tombent simplement dans l'oreille d'un sourd; les services de production ne feront pas exception pour un petit groupe au motif qu'ils pourraient être plus productifs; s'ils le faisaient, ils seraient rapidement submergés de demandes de dérogations et, en tout état de cause, ils (le soutien à la production) seraient incités à maintenir le coût du soutien aussi bas que possible. > 1 configuration de bureau/ordinateur portable augmente le coût du support. Dans une organisation où le "produit" principal est le résultat de l'ingénierie logicielle, de tels arguments ne sont pas valides, mais la réalité est que la plupart des organisations ne le sont PAS, et le principal moteur est de maintenir les coûts de support bas.

3
grumblestiltskin

Mis à part les mathématiques, tous vos utilisateurs ne sont pas susceptibles d'avoir des machines haut de gamme. Développer sur une machine plus proche de quelque chose de prix moyen permettra au développeur de mieux connaître l'expérience (et les douleurs!) De ses utilisateurs.

Votre service d'assurance qualité peut avoir une machine de spécification minimale, mais à quelle fréquence est-elle utilisée? Développer sur une machine qui est un environnement cible réaliste expose très tôt des problèmes (absence de réponse, mauvaises performances, conditions de course en raison de cette lenteur des performances, etc.), ce qui pousse les équipes à les résoudre plus tôt.

3
Justin Johnson

Tout simplement parce que le meilleur matériel ne fait pas les "meilleurs" développeurs! Cela étant dit, la société est à blâmer si elle entrave le travail du programmeur.

Cependant, si le matériel est suffisant pour que le développeur fonctionne, il n'a rien à redire.

En outre, il est inutile d'avoir le "meilleur" matériel et d'utiliser uniquement un IDE pour coder - gaspillage de ressources de cette façon.

2
Sterex

"Nous avons rencontré l'ennemi et c'est nous." - Pogo

Quoi qu'il en soit, vous tranchez cette question - le groupe collectif "programmeurs" porte la responsabilité directe pour tout échec à acheter les meilleurs outils dans le lieu de travail.

  1. Le financement des entreprises est incroyablement compliqué avec de nombreuses motivations et leviers contradictoires. Sans connaissance concrète de ce que votre service financier suit actuellement (évasion fiscale, gestion des dépenses trimestrielles, augmentation des dépenses d'investissement futures, maximisation de l'EBITDA ou quoi que ce soit d'autre sur leur radar), toute discussion sur les coûts réels est sans pertinence. Comment réagiriez-vous à une personne du marketing qui vous embête sur les optimisations du compilateur pour le code que vous savez sur le point d'être transféré vers un langage interprété? Si les programmeurs ne peuvent pas démontrer en termes spécifiques comment les outils dont ils disposent ne contribuent pas directement au résultat net, l'entreprise a raison de dépenser le moins possible. Nous devons également apprendre à écouter le financement des entreprises afin de comprendre les réalités de l'allocation des ressources.

  2. En tant que groupe, nous votons avec notre présence sur le lieu de travail beaucoup plus fort que de demander de meilleurs outils, de soumettre le livre blanc le plus impressionnant à nos gestionnaires ou même de publier sur Internet. Il existe des organisations qui ont créé une culture visant à s'assurer que ses employés disposent des outils dont ils ont besoin à juste titre ou comprennent le cas pourquoi pas pour le moment. Jusqu'à ce que la pression concurrentielle l'exige de la majorité des employeurs, nous ne pouvons voter qu'en recherchant des employeurs en lesquels nous croyons.

Chacun de nous doit soit faire de ce quelque chose qui compte au fond, soit le laisser partir.

2
bmike

Côté CFO.

L'entreprise a beaucoup de dépenses. Chaque département a besoin de plus de dollars pour faire mieux et dans chaque département, les dépenses sont indispensables.

lorsque vous choisissez la meilleure façon d'utiliser les $ disponibles, vous tenez compte:

  • combien ont-ils besoin? les petites sommes sont plus faciles à approuver.
  • cela augmentera-t-il les ventes? les meilleurs PC ne contribuent généralement pas directement à l'augmentation des ventes
  • le ministère aime-t-il dépenser $ ou comprend-il les flux de trésorerie? La plupart des départements de R&D que j'ai vus ont une approche arrogante "nous méritons le meilleur". C'est compréhensible car ils gagnent beaucoup de dollars et quand vous le pensez, vous méritez les meilleures choses de la vie. Les besoins des équipes de R&D donnent généralement le sentiment qu'un enfant gâté demande plus de jouets pendant que ses parents se débattent. "Un génie délicat".

Le gaspillage de 10 minutes par jour n'est pas un raisonnement qui fonctionnerait avec la plupart des services financiers. La plupart des équipes de R & D gaspillent beaucoup plus sur toutes les activités de programmation non qu'elles apprécient pendant la journée. Permet de représenter tous les déchets dans votre département et de voir ce qui peut être fait pour améliorer la productivité.

2
3seconds

J'ai été développeur dans une grande entreprise, puis startup. Voici mes deux cents:

  1. 8 Go de DIMM DDR3 (2x 4 Go) coûte 50 $ - 55 $ aujourd'hui (vers juillet 2011)
  2. 21 "LCD Le moniteur coûte 200 $ (vers juillet 2011)

Si votre entreprise vous permet d'apporter votre propre équipement, utilisez simplement votre propre $ et mettez à niveau le RAM et LCD moniteur. Pourquoi demandez-vous?

  • votre propre productivité n'est-elle pas quelque chose que vous appréciez?
  • vos yeux ne valent-ils pas 200 $?

Vous pouvez toujours prendre le moniteur avec vous lorsque vous quittez le travail (n'oubliez pas de l'étiqueter clairement comme votre propriété personnelle). J'ai fait la recette ci-dessus (mise à niveau RAM et utilisation de mon propre LCD) dans mes travaux précédents - et mon travail actuel).

2
Init Fini

Je ne vois pas comment regrouper tous les employeurs dans un même panier. J'ai travaillé pour quelques employeurs en tant qu'employé et consultant et j'ai toujours eu du matériel qui était plus que suffisant pour mes besoins - pour le poste actuel, j'ai reçu un nouveau quad core HP brillant et brillant avec 4 Go de RAM et Win64 sur le premier jour - pas haut de gamme, mais très suffisant - (j'utilise Delphi XE et XMLSpy comme mes principaux outils de développement) - en fait si bien que je suis allé acheter la même machine pour moi à la maison. (Peut-être que je ne suis pas si productif! LOL.)

Si vous n'obtenez pas un bon matériel, essayez de le demander - et si vous sentez que vous ne pouvez pas le demander, vous ne travaillez probablement pas au bon endroit car ils ne considèrent pas les développeurs comme une ressource, mais comme un responsabilité.

Donc, je suppose que la réponse à votre question est: les entreprises qui ne fournissent pas et/ou refusent de fournir suffisamment de matériel pour un développeur sont des entreprises qui considèrent leurs développeurs comme une responsabilité - des emplois qu'ils préfèrent externaliser et ne pas traiter du tout.

2
Vector

Cela dépend de qui gère l'argent. Dans les grandes organisations, l'informatique dispose d'un budget de 1 million de dollars pour l'année. Cela inclut les salaires de support, les serveurs, etc. Ils doivent le répartir entre toutes leurs ressources. Ils ont conclu des accords avec des fournisseurs comme Dell ou IBM pour obtenir un nombre x du même type d'ordinateur. Ils donnent cela à tout le monde, du support client aux programmeurs. Ils obtiennent également des offres de support, etc., lorsqu'ils n'ont qu'à maintenir un ensemble limité de modèles. Ce ne sont pas des programmeurs non plus, j'ai eu de nombreux arguments avec des non-programmeurs sur les ordinateurs. Lorsque je suis allé voir mes responsables informatiques pour une nouvelle HD une fois, le PDG a dit que les acheter et boom, tout le monde avait enfin assez d'espace disque pour exécuter des machines virtuelles.

En fait, j'ai fait exploser et je me suis moqué de mon patron parce qu'il allait me retirer mon deuxième moniteur de 19 pouces parce que j'avais un ordinateur portable. à la politique en TI qui est un autre problème. C'est une sorte de pensée entre nous et eux parfois.

1
Bill Leeper

Du point de vue décrit par le demandeur, la question prend tout son sens. Cependant, la mise à jour du matériel coûte plus cher.

Voici certains des coûts qui doivent également être pris en compte:

  • coût de la demande (recherche et détails nécessaires à l'achat)
  • coût d'installation et de configuration
  • frais de support et de maintenance
  • coût des licences logicielles
  • coût d'élimination/mise à niveau

Dans certains cas, ceux-ci peuvent être 2 à 5 fois supérieurs au coût du matériel lui-même. Encore plus si des licences logicielles sophistiquées sont impliquées.

En général, l'ampleur de ces coûts dépend de la taille de l'entreprise ou de la complexité de la structure organisationnelle. Les petites équipes ayant un accès direct au pouvoir d'achat peuvent maintenir ces coûts bas, alors que dans une organisation plus grande, ces coûts peuvent devenir très élevés.

1
Joshua

En termes simples, les décisions d'achat sont souvent prises par les compteurs de haricots (comptables et cadres intermédiaires) plutôt que par les chefs de projet.

Beaucoup de gens ont donné des raisons potentielles, et tous sont un facteur dans une situation ou une autre, il n'y a donc pas de situation dominante unique. L'achat d'équipement à grande échelle peut signifier qu'ils perdent de l'argent sur la productivité des programmeurs, mais gagnent de l'argent dans d'autres domaines.

Pourtant, cela se résume souvent à un budget. Vous devez vous adapter au budget, et c'est tout.

1
Erik Funkenbusch

À mon avis, il n'y a que deux objections défendables qu'une entreprise pourrait soulever pour maintenir les développeurs installés avec des postes de travail solides. Le premier est qu'ils traversent une crise de trésorerie. Il vaut mieux être de courte durée, sinon l'entreprise ne sera pas une entreprise en activité pendant longtemps. Si vous travaillez pour une entreprise comme celle-ci, vous devez garder votre CV à jour.

L'autre est que leur organisation n'est tout simplement pas gênée par la capacité de développement de logiciels. Autrement dit, une augmentation de la qualité ou de la vitesse de sortie du développement logiciel n'améliorerait pas le résultat net. Si l'activité principale de l'entreprise est la vente de logiciels, cela sera pratiquement impossible. Si les logiciels ne sont pas leur activité principale et qu'ils ne sont pas limités, ils devraient essayer de réduire leur main-d'œuvre logicielle en transférant ou en abandonnant les membres de leur équipe les plus faibles. Fournir un équipement médiocre réduira la taille de leur équipe de l'autre côté, je le crains.

1
PeterAllenWebb

Parce que beaucoup d'entreprises en dehors des start-ups technologiques typiques ne sont pas intéressées par l'embauche de rock-stars. Ils investissent dans quelqu'un qui peut simplement faire du travail. Donc, s'ils ne se soucient pas de la façon dont vous travaillez, tant que vous le faites, pourquoi devraient-ils se soucier de l'équipement que vous utilisez? J'ai travaillé dans des endroits qui utilisent encore des tubes cathodiques de 15 pouces et tout le monde va très bien. Parfois, quand je lis des questions comme celle-ci, je me demande si les gens réalisent que tout le monde ne travaille pas pour une start-up cool.

1
Sergei

J'ai travaillé pour des entreprises qui ont lésiné sur le matériel dans le passé. Ça craint, et s'ils ont besoin de convaincre, la bataille sera probablement interminable.

Il s'avère que les entreprises engagées à utiliser les meilleurs outils disponibles sont rares, mais elles existent; Je travaille pour un. J'ai un quadruple cœur 17 "2011 MBP, 8 Go de RAM, Vertex 3 SSD, 2 x 24" moniteurs externes, plus un bureau quadricœur et une tranche Xen de 4 Go; ainsi que des bureaux tranquilles.

Puis-je me débrouiller avec moins de matériel? Sûr. Mais je pense que nous préférons tous nous vanter plutôt que de râler.

1
Erik Peterson

J'avais l'habitude de travailler pour une entreprise de réseautage où ils ont mis à niveau ram de 512 Mo à 1 Go l'année dernière. Nous travaillions avec des moniteurs f ** king CRT en 2010. La partie la plus amusante était que le matériel des gestionnaires a été mis à niveau vers 2 Go de RAM. Pourquoi diable voudrait-on que 2 Go créent des fichus PPT et comment quelqu'un développerait des applications avec 1 Go de RAM, je ne le saurais jamais.

1
arun kumar

2 Go sur une machine de développeur est évidemment honteux, cependant, la résolution de ce problème ne devrait pas coûter 3000 $… plus comme 100 $ (de manière conservatrice). Pourquoi faire l'affaire pour tout mettre à niveau en une seule fois? Les services informatiques intelligents améliorent en permanence les machines au cours de leur durée de vie. Finalement, vous avez besoin d'une nouvelle machine entière, mais votre machine n'exécute pas de spécifications matérielles pour Windows 95; il pourrait être mis à niveau pour 300 $ à 500 $ en une machine typique de milieu de gamme, et ces mises à niveau pourraient se produire sur plusieurs mois, il n'y a donc pas de problème de trésorerie. Vous n'avez probablement pas besoin d'une nouvelle carte graphique, d'une carte son, de ports USB, d'un graveur de DVD, etc., alors pourquoi les payer maintenant? C’est comme acheter une nouvelle voiture parce que votre climatisation est cassée.

0
Morgan Herlocker

De nouvelles machines, de nouvelles technologies signifient de nouveaux problèmes. Tout le monde dans chaque entreprise n'est pas un technophile et toutes les entreprises n'ont pas les ressources informatiques pour former les gens et gérer les problèmes 24/7.

Oui, peut-être que si vous êtes un programmeur indépendant travaillant sur votre propre bureau personnel, cela vaut la peine de dépenser 1000 $ sur une plate-forme pour obtenir 10 minutes de productivité supplémentaire tous les jours. Cependant, lorsque vous déployez des centaines de ces machines à des personnes qui peuvent perdre productivité en raison de nouveaux équipements, la perspective semble un peu plus sombre.

0
tskuzzy

Je pense que les "bons" outils sont nécessaires pour les bons emplois. Si vous ne disposez pas des "bons" outils (matériel, logiciel ou autre), je pense que cela est dû à un malentendu ou une mauvaise communication des attentes entre un employé et ses patrons. C'est à la fois les développeurs et la responsabilité de l'entreprise. Plus les attentes sont élevées, plus l'exigence doit être examinée de près.

Cela étant dit, je connais plusieurs développeurs qui "ont besoin" de 8 Go de RAM pour leur machine quand je l'ai fait avec moins dans des scénarios plus difficiles. Mais encore une fois, je pense que c'est comprendre les exigences.

0
Steve

Dans mon entreprise actuelle, les développeurs sont assez élevés sur le mât totémique pour le matériel. J'imagine que le matériel est placé sur un budget d'entreprise normal comme tout le reste, et que le besoin l'emporte sur le besoin.

À mon avis, un développeur devrait être responsable de son propre matériel, mais cela dépend entièrement de la situation. Si vous êtes invité à écrire une application simple pour un site Web simple, vous n'aurez peut-être pas besoin d'un équipement sophistiqué pour vous asseoir dans un éditeur de texte. D'un autre côté, si vous êtes dans la programmation sous contrat et que vous voulez faire quelques concerts parallèles, vous voudrez peut-être envisager d'acheter votre propre matériel et logiciel de base, et demander à l'entreprise d'acheter des licences API individuelles selon les besoins de cette entreprise spécifique.

Quoi qu'il en soit, tout est une question de freins et de contrepoids, et si vous êtes préoccupé par la productivité, vos dollars sont probablement mieux dépensés pour surveiller la quantité de code qu'un développeur publie pour son temps. Si cela leur prend 10 heures pour faire un projet et 5 heures pour faire un projet similaire, il peut s'agir d'un problème lié aux employés et pas tellement d'un problème de développeur.

0
Mike Calvert

Une fois, j'ai essayé de plaider pour que l'entreprise (de grande taille) nous achète des systèmes de qualité décente pour les développeurs. Essentiellement, les spécifications de performances étaient comparables à la version Enterprisey mais à la moitié du prix. Mon argument était qu'à ces prix, ils étaient essentiellement jetables, donc s'il cassait, achetez-en simplement un nouveau (en supposant que mieux que 75% durerait 24 mois). J'ai suggéré qu'en échange de l'obtention de l'un de ces ordinateurs portables, le développeur devrait signer un accord (ou quelque chose) selon lequel il serait responsable de la charge/configuration du logiciel et le service d'assistance n'aiderait pas à le réparer.

Cela n'a pas volé mais je pensais que la prémisse de base de l'argument était raisonnable, étant donné que nous avons fait du développement de fenêtres et que nous étions tous des administrateurs locaux.

0
Ken Henderson

Pourquoi pas? Parce que ce n'est pas responsable. Nous ne pouvons pas faire correspondre précisément chaque heure de travail avec une marge bénéficiaire.

Une solution simple pour cela serait remboursement celui qui paie pour ses propres mises à niveau de machine. Si votre comptage est vrai, il devrait être facile de prouver votre propre profit de l'amélioration de la production en comparant les 2 dernières périodes (semaine, mois, semestre, année ou autre) dans le même travail/projet.

Si les développeurs ont pu quantifier la quantité qu'ils génèrent sur une période, le problème disparaît. La plupart des développeurs ne le peuvent pas. Ni leurs managers et encore moins les gens de la finance. Parce que le travail est très subjectif.

Mais si vous pouvez en quelque sorte montrer ces chiffres (je sais que je ne peux pas), alors vous êtes déjà prêt pour votre machine de rêve rentable non auto-amorçante!

0
cregox

J'ai dû manquer le point de vue de l'auteur.

Premièrement, Google, à titre d'exemple, a été fondé à l'aide de disques durs "jetables" bon marché connectés à des serveurs plus anciens gérés comme une batterie de serveurs. OK, cela pourrait être une hyperbole, mais voyez: http://en.wikipedia.org/wiki/Google_platform#Original_hardware

Deuxièmement, il ne faut pas beaucoup de ressources CPU ou graphiques pour exécuter gvim. Alors peut-être que votre choix d'environnement de développement est le problème.

Troisièmement, il existe des dizaines sinon des centaines de façons de réduire l’intensité du processeur pour améliorer la productivité, qui ont peu à voir avec le fait que vous ayez ou non 2 Go de RAM ou 3 Go de RAM. programmeur moyen par-dessus leur épaule pour voir ceci: par exemple, en utilisant un lecteur léger PDF vs une suite Adobe pour la documentation; en utilisant une installation minimale d'un VM pour tester les applications plutôt qu'une installation complète; supprimer tous les démons de démarrage fournis avec les machines Win Dell (à l'aide de regedit); utiliser un navigateur léger pour envoyer des messages Web au lieu de garder Outlook en cours d'exécution; ne pas ouvrir 50 onglets gazillion dans firefox à la recherche de solutions aux problèmes d'implémentation MSFT sur le web, etc etc etc .. Donc, ce point se résume à ce qui suit: Prouvez que vous avez besoin de plus de mémoire et de Mhz pour résoudre ce problème de conception de logiciel plus rapidement.

0
Jonathan Cline IEEE

Les entreprises prennent des décisions très différentes des développeurs. La plupart ont mis en place des mécanismes fournissant le matériel approprié pour la tâche, ayant approuvé des canaux d'achat, des groupes responsables des installations, des tests, du respect de la sécurité et d'autres mesures. Les questions de modification des spécifications matérielles peuvent donc être complexes.

D'autre part, disons que vous êtes venu au PDG avec une suggestion de dépenser l'équivalent de 1% du salaire pour la mise à niveau de l'équipement. Il demandera au directeur financier de trouver le succès qu'ils auraient sur les marges et les revenus, disons que c'est 5%. Maintenant, sans les estimations, cela peut avoir un effet amplifié sur le cours des actions de la société, disons 10%, et la haute direction perd ses bonus d'un million de dollars. À moins qu'il y ait de bonnes raisons de s'attendre à ce que la mise à niveau améliore les résultats de l'entreprise, cette suggestion serait DOA. Les entreprises ne cherchent toujours à augmenter leurs dépenses que si elles améliorent leurs revenus. Cela signifie que dans la plupart des cas, les équipements bas de gamme et haut de gamme ne sont pas optimaux.

Une solution pour satisfaire à la fois les développeurs et la direction de l'entreprise serait de permettre aux développeurs de payer le loyer de l'équipement, un système typique fonctionnerait de 20 à 200 $/mois s'il était loué pour 2 ans. Une entreprise peut avoir une gamme de matériel approuvé et offrir aux développeurs une configuration standard ou choisir une configuration mise à niveau et déduire le loyer supplémentaire du salaire.

0
Gene Bushuyev

Les nouveaux programmes fonctionnent très bien - sur l'ordinateur du développeur. Achetez à un développeur une boîte à 4 cœurs à 8 GHz et l'application qu'il crée fonctionnera correctement - sur n'importe quel ordinateur à 4 cœurs à 8 GHz. Mais sur l'ordinateur d'un client typique avec 2 GHz et 1 cœur, il fonctionne comme un escargot mort.

Les développeurs continuent naturellement d'ajouter des fonctionnalités, du code et des niveaux d'indirection jusqu'à ce que les choses ralentissent, sur les machines de développement. Si vous ne développez que pour du matériel neuf, achetez le dernier. Mais c'est un danger si vous vendez des logiciels à des personnes possédant du matériel existant.

L'ordinateur d'un développeur doit avoir à peu près le même niveau de puissance que l'ordinateur du client cible, avec peut-être un peu plus pour le débogueur. Mais pas plus vite.

0
Andy Canfield