Por que nem todas as empresas compram aos desenvolvedores o melhor hardware?

287

Eu devo estar esquecendo alguma coisa.

O custo de empregar um programador na minha área é de US $ 50 a US $ 100 por hora. Uma máquina topo de linha custa apenas US $ 3.000, portanto, o custo de comprar um computador realmente excelente a cada três anos chega a US $ 0,50 / hora. (US $ 3000 / (150 semanas * 40 horas))

Você precisa de uma máquina topo de linha ? Não, os US $ 3000 aqui representam o máximo que poderia ser gasto, não o valor que eu esperaria. Esse é aproximadamente o custo de um iMac ou MacBook de última geração (17 polegadas).

Então, suponha que você possa economizar US $ 2.000 a cada três anos comprando computadores mais baratos, e seu desenvolvedor médio ganha US $ 60. (Estes são os números mais caridosos que posso oferecer aos contadores de feijão. Se você economizar apenas US $ 1000 ou US $ 750, isso só reforça meu argumento.) Se esses computadores mais baratos custarem apenas 10 minutos de produtividade por dia. (Nem um pouco, tenho certeza de que minha máquina me custa mais do que isso). Em três anos, as 125 horas perdidas resultariam em uma perda de US $ 7500. Uma perda de 1 minuto por dia (US $ 750) daria um ganho líquido de US $ 1.250, o que dificilmente compensaria o custo do moral insuficiente.

É um caso de "tostão e tolice" ou simplifiquei demais a pergunta? Por que não existe um acordo universal (mesmo na 'empresa') de que os desenvolvedores de software devem ter um ótimo hardware?

Editar: devo esclarecer que não estou falando de um desejo de desempenho rápido e estridente que deixaria meus amigos com inveja e / ou um SSD. Estou falando de máquinas com pouca memória RAM para lidar com sua carga de trabalho regular, o que leva ao congelamento, reinicialização e (sem exagero) aproximadamente 20 minutos para inicializar e abrir os aplicativos típicos em uma segunda-feira normal. (Eu não desligo, exceto nos finais de semana.)

Na verdade, estou programado para adquirir uma nova máquina em breve e isso melhorará um pouco as coisas. (Vou passar de 2 GB para 3 GB de RAM, aqui em 2011.) Mas como a nova máquina é medíocre pelos padrões atuais, é razoável esperar que ela também seja inaceitável antes da data da aposentadoria.

Esperar! antes de responder ou comentar:

  1. $ 3000 não importa. Se a máquina que você deseja custa menos que isso, é mais uma razão pela qual ela deveria ter sido comprada.
  2. Não estou pedindo atualizações mais frequentes. Apenas hardware melhor no mesmo horário. Portanto, não há custo oculto de instalação, etc.
  3. Por favor, não discuta a diferença entre hardware de ponta e hardware muito bom. Estou fazendo lobby por um hardware muito bom, como em uma máquina que é, na pior das hipóteses, uma das melhores máquinas fabricadas há três anos.
  4. $ 50 - $ 100 / hora é uma estimativa do custo do emprego - não do salário. Se você trabalha como contratado, seria a taxa de cobrança usada pela agência contratante que inclui suas despesas e lucros, o Social Secs dos empregadores. contribuição, contribuição para a saúde dos empregadores, etc. Por favor, não comente esse número, a menos que você saiba que não é realista.
  5. Verifique se você está fornecendo novo conteúdo. Leia todas as respostas antes de fornecer outra.
Eric Wilson
fonte
14
Talvez sim, mas não com a frequência que você gostaria? Qualquer estação de trabalho que você comprar será "a melhor" apenas por 6 meses, na melhor das hipóteses. Normalmente, um modelo melhor sai no próximo trimestre. Para ter sempre o melhor, é necessário atualizar a cada 3-5 meses. Isso é difícil de manter.
FrustratedWithFormsDesigner
11
Também existe um fator humano. Compre uma máquina rápida e obtenha toda essa produtividade, depois gaste 10 minutos por dia no bebedouro e perca tudo e mais um pouco. Como o chefe vê os dois lados, o argumento da produtividade pura perde algum peso.
18711 JeffK
4
Eu definitivamente sei que poderia usar um pouco mais de soco na minha máquina. Não há tanto poder na CPU, mas RAM. Entre executar várias instâncias de um IDE, navegadores e variados outros programas outra 4GB e um segundo monitor não faria mal ...
Rig
24
Um desenvolvedor sem um SSD é uma visão triste, na verdade ...
ShaneC
9
Passamos 4-5k em média para uma configuração de dev aqui no SE ...
Zypher

Respostas:

224

Muitas empresas são comprovadamente insanas em relação a isso.

A sério. Se você perguntasse a 10.000 gerentes de tecnologia: "Digamos que você pagou US $ 100.000.000 à Danica Patrick. Você acha que ela poderia ganhar o Indianapolis 500 andando de bicicleta?", Tenho certeza que nenhum deles diria "Sim".

E, no entanto, uma boa porcentagem desses mesmos gerentes parece pensar que os desenvolvedores de software muito bem pagos devem ser tão produtivos com ferramentas ruins e condições de trabalho quanto as boas - porque, é claro, esses programadores preguiçosos e imprudentes estão sendo pagos muito dinheiro e deveria poder pedalar aquela bicicleta mais rápido.

Agora, o que consistem exatamente em boas ferramentas e condições de trabalho depende do trabalho a ser feito. As pessoas que codificam o kernel do Linux precisam de diferentes tipos de hardware que os designers de sites. Mas, se a empresa pode pagar, é uma loucura não levar às pessoas o que elas precisam para ser o mais produtivas possível.

Uma empresa em que trabalhei tinha uma base de código fonte de 9 GB, principalmente em C, e o que mais precisávamos era de compilações rápidas. Infelizmente, estávamos trabalhando principalmente com hardware medíocre cinco anos antes, então as pessoas estavam compreensivelmente relutantes em construir muito além daquilo em que estavam trabalhando no momento, e isso causou danos através de baixa produtividade, problemas de qualidade e construções quebradas . A empresa tinha dinheiro para atualizar o hardware, mas era estranhamente avarenta. Eles fecharam os negócios no último verão depois de gastar mais de US $ 100 milhões porque seus dois maiores clientes os abandonaram após repetidamente cumprir prazos. Fomos solicitados uma vez a sugerir maneiras de melhorar a produtividade; Apresentei o mesmo tipo de análise de custo-benefício do OP. Foi rejeitado porque a gerência disse: "Isso deve estar errado - nós podemos '

Outra empresa em que trabalhei tinha bons computadores para os programadores, mas insistia que todos trabalhassem em pequenas mesas pequenas em um grande cercado lotado, sem partições. Isso foi um problema, porque muitos de nós trabalhamos com delicados protótipos de hardware. Havia pouco espaço para colocá-lo em nossas mesas, e as pessoas passavam, escovavam e batiam no chão. Eles também gastaram US $ 47 milhões em dinheiro de VC e não tinham nada para mostrar.

Não estou dizendo que más ferramentas e condições de trabalho mataram essas empresas. Mas estou dizendo que pagar muito dinheiro a alguém e esperar que ele seja produtivo com más ferramentas e condições de trabalho é um "canário na mina de carvão" para uma abordagem basicamente irracional aos negócios que provavelmente acabará em lágrimas.


Na minha experiência, o maior assassino de produtividade dos programadores está se distraindo. Para pessoas como eu, que trabalham principalmente com linguagens compiladas, uma enorme tentação disso é a construção lenta.

Quando clico no botão "construir e executar", se eu sei que testarei em cinco segundos, posso sair da zona. Se sei que serão cinco minutos, posso definir um cronômetro para mim e fazer outra coisa, e quando o cronômetro disparar, posso começar a testar.

Mas em algum lugar no meio está a vala do mal das atividades de tédio que levam ao desperdício de tempo, como a leitura de blogs e a P.SE. Nas taxas que cobro como consultor, vale a pena jogar dinheiro em hardware com especificações prodigiosas para me manter fora dessa vala. E eu acho que valeria a pena para muitas empresas também. É apenas a natureza humana, e acho muito mais útil aceitar e adaptar-se às fraquezas normais comuns a todos os primatas do que esperar o autocontrole sobre-humano.

Bob Murphy
fonte
55
+1 para mencionar a zona. Certa vez, trabalhei para uma empresa onde era comum que os desenvolvedores também prestassem suporte direto ao cliente. Agora, mesmo se você estiver escrevendo um código altamente mantenível e realmente bom, às vezes há momentos em que você manipula cinco ou seis pacotes de informações em seu cérebro e deve colocá-los novamente de forma atômica. Se uma ligação ocorrer nesses momentos três horas antes de sair de casa, ela poderá realmente destruir o resto do dia. Não especificamente por causa do cara do outro lado, mas por causa da destruição do estado. ...
phresnel
34
Mas os gerentes não pensam em você como Danica Patrick, eles pensam em você como o entregador da UPS, e por que você precisa de um caminhão novo quando o caminhão de 5 anos de idade funciona muito bem?
Mark Ransom
19
"Isso deve estar errado - não podemos ser tão estúpidos" err, adivinhe de novo! :-D
Em nenhum lugar homem
15
@ Mark Ransom: É verdade - e é pior, porque somos assalariados. Os drivers da UPS recebem um pagamento extra por trabalhar horas extras. Muitos deles adoram as férias: exaustão, mas cheques de pagamento felizes! Mas as horas extras dos programadores são gratuitas para seus empregadores. Se as empresas de tecnologia tivessem que pagar aos programadores uma vez e meia pelo trabalho além de quarenta horas por semana, todos nós teríamos máquinas e estagiários gritando para nos trazer café em nossos cubos.
21711 Bob Murphy
5
@Bob Murphy "Mas as horas extras dos programadores são gratuitas para seus empregadores." Isso só é verdade se você não estiver disposto a traçar linhas e apenas se você não estiver disposto a exigir um salário proporcional ao que você trouxer para a mesa.
22411 PeterAllenWebb
170

Eu sugeriria que, na realidade, um custo é visível e quantificável, enquanto o outro custo não é.

Se a falha na atualização do hardware sangra até US $ 1000 por desenvolvedor por semana a partir do orçamento, ninguém de fora (leia-se acima) o departamento de tecnologia vê isso. O trabalho ainda é realizado, apenas a um ritmo mais lento. Mesmo no departamento de tecnologia, o cálculo desse número é baseado em inúmeras suposições improváveis.

Mas se um gerente de desenvolvimento pede US $ 3.000 por desenvolvedor, principalmente em uma empresa com mais de 50 desenvolvedores, isso exige muita justificativa. Como ele faz aquilo?

pdr
fonte
3
Muito bom ponto.
Eric Wilson
6
Se o gerente precisar pedir US $ 3.000 por desenvolvedor, sim, isso é doloroso. No entanto, se ele puder pedir US $ 83 por desenvolvedor por mês, isso pode ser mais agradável.
regularfry
24
Eu acho que é responsabilidade do gerente justificar o custo de máquinas adequadas para sua equipe. No passado, achei útil categorizar os computadores de acordo com as funções. Os computadores usados ​​por desenvolvedores e designers são classificados como "para criação de conteúdo". Você apenas lista os requisitos de aplicativos invariavelmente robustos para o IDE da sua loja, juntamente com algumas despesas gerais e faz uma pequena lista de máquinas aceitáveis ​​da HP, Lenovo, etc. Se isso não for aceito e a equipe acabar com um hardware ridiculamente insatisfatório, o gerente deve realmente assumir a culpa por falhas justificar máquinas melhores.
Angelo
8
Se o gerente escalonar suas solicitações (50/3 = 17), que é (17 * US $ 3.000 = US $ 51.000), estender as solicitações por três anos, pois nem todo desenvolvedor precisa da nova máquina ao mesmo tempo, o que deixa pouco menos de 17 solicitações por ano e, em seguida, novamente divide as solicitações por mês (17/12 = 1,6, que é arredondado em dois ou dois por mês no primeiro trimestre e um em cada mês a partir de 2 * $ 3.000 = $ 6.000), ele terá menos de dois computadores por mês, que é uma meta muito mais viável do que pedir (50 * US $ 3.000 = US $ 150.000) ao mesmo tempo.
Michael Eakins
13
Muitos megacorpos são de tal ordem que o tempo de desenvolvimento é desperdiçado por razões muito mais bobas (como má alocação de carga de trabalho) - portanto, isso não é uma surpresa para mim.
Singpolyma
95

Vou colocar meus 2 centavos aqui do lado do empregador ... que também é desenvolvedor.

Concordo que máquinas de baixo custo são inúteis, mas máquinas de alto desempenho são um exagero.

Existem várias razões pelas quais você não obtém as melhores máquinas:

  1. O fluxo de caixa é uma questão real, não apenas uma teoria . Você pode receber US $ 60 mil a US $ 80 mil por ano, mas este mês temos um valor total no banco que deve ser dividido entre todas as coisas concorrentes naquele mês.
  2. Existe uma escala móvel de preço e benefício . Máquinas de gama baixa são, no geral, bastante inúteis ... se você está adquirindo um chip celeron ou de baixa potência, então se afasta ... as máquinas de gama média têm um bom desempenho geral, uma vez que você entra no topo, está começando a sintonizar um determinado objetivo (CAD, jogos, codificação de vídeo etc.) ... e o ajuste custa mais.
  3. As peças gerais geralmente são mais baratas , substituições, garantias e seguros desempenham um papel nos custos gerais de operação e no tempo de inatividade enquanto você compra uma substituição.
  4. As máquinas topo de linha depreciam apenas mais rapidamente do que as 1/3 do preço .
  5. Se você estiver fazendo programação gráfica de ponta ou trabalho em CAD, o grunhido extra é válido; se você está apenas escrevendo software comercial padrão, executando o visual studio ou o eclipse e navegando no Stackoverflow para obter respostas, a potência extra é um direito legal de se gabar, mas, realisticamente, uma máquina de médio porte não maximiza a CPU ou a memória em uma caixa padrão hoje.
  6. Hoje, as máquinas de gama média fabricadas martelam e, em 2 anos, serão duas vezes mais rápidas (mais ou menos). Sério, eles estão iluminando rapidamente.
  7. No final do dia, quase tudo o que você faz é digitar texto bruto em arquivos de texto e enviá-lo ao compilador ... esse bit realmente não mudou desde o VI na década de 1970 e as máquinas de baixo custo hoje são milhões de vezes mais rápidas do que os da época ... seu ritmo de codificação não é tão diferente assim.

Portanto, para resumir, você deve ter bons equipamentos e ferramentas, isso faz uma grande diferença, mas as máquinas de ponta não são realmente justificáveis ​​para o "desenvolvedor geral".

... ah, e agora eu li você editar e é disso que você está falando, vou deixar o que foi dito acima porque eu escrevi agora ... Sim, sua máquina está subespecificada para as ferramentas.

Para esclarecer, uma máquina de médio alcance deve ter

  • 2 núcleos mínimos, 4 núcleos mais bons nesse estágio é um exagero.
  • 4 GB é um mínimo, 8 GB é bom e mais é bom ter.
  • O SSD deve ser padrão, mas realmente uma unidade WD de 10KRPM ou Seagate 80-100GB deve funcionar bem.
  • Os monitores de 2 x 19 "são no mínimo uma placa de vídeo razoável.
Robin Vessey
fonte
24
minha máquina falha em todos os seus 4 pontos de bala - eu tive que implorar para ir de 512 a 1 gig de RAM, por exemplo. Não estamos apenas reclamando de não ter a última configuração de alienware com LEDs frios e placa de diamante.
Peter Recore
23
"seu ritmo de codificação realmente não é tão diferente", isso pode muito bem ser verdade (se ignorarmos que as ferramentas de hoje são imensas fontes de recursos em comparação com a época), mas acho que é bastante seguro dizer que o que a maioria dos desenvolvedores se preocupa não é ' • ritmo de codificação , mas tempo de resposta : quanto tempo leva para fazer uma alteração e ver seus efeitos no aplicativo em execução? Se o tempo de resposta, desde a execução da execução até a mudança de ação, for de 10 a 15 segundos, é uma fera completamente diferente do que, por exemplo, de 5 a 10 minutos. No entanto, a quantidade de tempo gasto em codificação pode ser essencialmente a mesma.
um CVn
55
Se ao menos eu tivesse uma máquina de trabalho com a sua especificação 'mid range'.
yoosiba 19/07/11
28
FWIW, muitas empresas considerariam sua máquina de médio porte como um hardware de classe de servidor! Tenho a sorte de trabalhar para um local onde obtemos essas especificações, mas nem todos o fazem.
Paul Wagland
4
@ Bob Murphy: Você realmente precisa do IncrediBuild ou de uma configuração semelhante de compilação distribuída. É muito mais fácil para justificar um servidor de compilação de 12 núcleos com 16 GB como um recurso compartilhado, mesmo porque não há nenhum ciúme pessoal envolvido em recursos compartilhados (mais, você normalmente pagam servidores de diferentes orçamentos)
MSalters
56

A diferença de produtividade entre as máquinas "de ponta" e as máquinas "quase de ponta" é insignificante. A diferença de preço é significativa.

Sem mencionar o suporte de TI para máquinas diferentes, em vez de ter todos os desenvolvedores usando as mesmas imagens HW e SW (o que você não pode fazer se estiver comprando uma máquina de ponta para cada nova contratação, a ponta de ponta será diferente toda vez). Além disso, as pessoas que obtiveram o melhor desempenho do ano passado vão querer atualizar porque esse novo cubo para iniciantes tem uma máquina "melhor" que elas, e elas são muito mais importantes, não são?

A menos que você realmente precise da máquina de ponta para o seu trabalho, não vejo razão para jogar fora o dinheiro.

littleadv
fonte
12
Mas a diferença é que o custo é mais insignificante. E minha produtividade sofre um grande impacto quando preciso fechar tudo e reiniciar, o que acontece várias vezes por semana. Se você tem uma visão diferente dos custos relativos, talvez possa incluir números em sua resposta. No entanto, eu concordo que quase tudo seria muito satisfatório, gostaria de ter isso.
Eric Wilson
8
na mesma direção, a diferença entre o hardware quase topo de linha e o pacote intermediário é enorme e a diferença de preço é insignificante. Há alguma amortização a ser feita no hardware, com certeza, ou estamos apenas jogando dinheiro pela janela, e novamente ... no caso de desenvolvedores, muita amortização também equivale a jogar dinheiro pela janela! Há um doce local a ser atingido e quando tendo em conta os aspectos psicológicos de manter devs felizes que tendem a estar mais perto da parte alta do que a meados pacote
Newtopian
24
@FarmBoy Se a sua produtividade sofrer um impacto real - vá ao seu chefe e justifique uma atualização. Você fez uma pergunta geral , e minha resposta é para um caso geral .
Littleadv
8
O custo do suporte para uma grande variedade de máquinas é incrível. Usuários individuais tendem a exagerar nisso (e deveriam, não é o trabalho deles), mas eu já estive em três empresas que chegaram à mesma conclusão. Desktops baratos + servidores VM de ponta fazem mais sentido.
Christopher Bibbs
9
Este é um homem de palha; ninguém está falando sobre top-end vs. quase top-end. Na minha experiência, é entre bom versus ridiculamente insuficiente.
NiXar 19/07
27

Porque a maioria dos empregadores não entende como os desenvolvedores pensam, agem ou trabalham. Ou como as melhores ferramentas podem economizar dinheiro da empresa e aumentar a produtividade. Isso leva à perda de um ponto no teste Joel, ao não fornecimento "das melhores ferramentas que o dinheiro pode comprar". Isso também leva à perda de produtividade e satisfação no trabalho. É assim que é. Talvez um dia você possa começar sua própria empresa e marcar 13/13. Até lá, faça perguntas com seu empregador com antecedência para saber o que esperar antes de assumir o cargo.

No que diz respeito à sua situação atual, se você sentir que eles ouvem e confiam em você, acione a discussão. Veja se eles oferecem uma atualização. Sei que trabalharia um pouco mais se tivesse um equipamento topo de linha com dois monitores de 50 "para trabalhar. Coloque-me na matriz.

Mesmo motivo pelas quais as pessoas querem um Mercedes CLS quando um Toyota Camry o leva até lá da mesma forma. Claro, você pode espremer apenas mais alguns segundos do tempo de compilação com uma nova máquina, mas as aparências são importantes.

P.Brian.Mackey
fonte
Acho que essa é uma forma importante e barata (em termos monetários!) De motivação. Ele gera todo tipo de atitude positiva em relação à empresa e ao trabalho, dá a sensação de ser valorizado, ... Não deve ser esquecido que os "trabalhadores cerebrais" não trabalham por dinheiro.
slovon 19/07/11
Acordado. Se as pessoas gostam do seu trabalho, é mais provável que façam um bom trabalho (para The Obviousmobile ™). Obter ótimas ferramentas parece ser uma maneira muito fácil de aumentar o prazer dos funcionários.
Jonta
12

Sua matemática parece não incluir o tempo necessário para gerenciar o fluxo constante de hardware para dentro e fora da empresa - seria necessário um ou dois funcionários de TI adicionais, dependendo do tamanho da sua empresa, então adote outros US $ 50 a US $ 100 mil / ano além dos seus números. Além disso, você perde produtividade no dia em que eles trocam o computador. Se eles economizam na equipe de TI dedicada, você precisará fazer os backups e restaurar a si mesmo, possivelmente perdendo um ou dois dias no processo. Em outras palavras, acho que é um pouco mais complicado do que você pensa.

Bryan Oakley
fonte
5
Pode muito bem ser mais complicado do que eu imagino, mas não estou pedindo atualizações mais frequentes, apenas uma melhor qualidade no momento em que o novo hardware é comprado.
Eric Wilson
Geralmente descobri que, mesmo depois que eles (TI corporativa) fizeram os backups e restaurações, eu ainda tinha que consertar as coisas. Eu geralmente pedi a eles que não fizessem outra coisa senão me fornecer a imagem padrão; Eu cuidaria do resto. (Também uma oportunidade para limpar as coisas um pouco.)
Ken Henderson
4
O que você diz é verdade, mas também ignora o fato de que a maior parte disso ainda precisa acontecer de qualquer maneira. A idéia dos pôsteres é ir de alto a baixo na escala, não de baixo a muito baixo.
Paul Wagland
Essa é uma das respostas mais realistas. Especialmente para empresas muito grandes, a divisão de serviços de desktop do suporte de TI está alinhada com macroeficiências, o que significa políticas efetivas para 20.000; 50.000 ou mesmo 100.000 funcionários, dos quais geralmente apenas uma pequena fração tem necessidades especializadas como desenvolvedor. O custo de lidar com essas exceções no contexto da enorme máquina pode ser bastante grande.
Rex H
9

Um problema com seu argumento é o fluxo de caixa. Se eles não têm dinheiro, o ponto é discutível. O outro é o retorno do investimento.

Isso pode não se aplicar às empresas em que você trabalhou. Algumas empresas são altamente alavancadas e / ou têm pouco dinheiro. Eles preferem gastar as economias que você descreve em algo que venderá mais widgets ou software. Você precisa mostrar que seu ganho na produção supera um investimento igual em outras áreas.

Se uma empresa de software estiver no modo de manutenção e precisar de mais vendas, pode haver um retorno melhor do gasto com vendas e marketing.

Eu acho que você precisa abordar o fato de que, no seu caso, o dinheiro é melhor gasto em um programador do que em outra área da empresa.

Tenha cuidado com esse argumento se você estiver recebendo salário. Eles só querem que você trabalhe mais para compensar a diferença;)

JeffO
fonte
6
Então eles não deveriam estar contratando desenvolvedores. Claro, se você não tem dinheiro ou não há perspectiva de reembolso do investimento, você não pode / não deve gastar. A irracionalidade é gastar muito dinheiro em recursos dispendiosos (desenvolvedores) enquanto digita em um recurso barato (hardware). Se a desculpa é que esses orçamentos são separados, isso apenas atrasa um passo: a irracionalidade é ter um orçamento enorme de pessoal combinado com um pequeno orçamento de hardware.
rwallace
1
A empresa pode emprestar dinheiro para comprar máquinas melhores.
Kamil Szot
Essa é uma péssima atitude gerencial: "Seja cuidadoso com esse argumento se você estiver recebendo salário. Eles só querem que você se esforce mais para compensar a diferença". Por meio deste, prometo trabalhar 0,5% mais difícil para compensar a diferença entre comprar US $ 750 em hardware a cada três anos e comprar US $ 2.000 nesse período. (Não preciso prometer isso, já que minhas melhores ferramentas quase certamente farão isso acontecer automaticamente, mas ignoraremos esse ponto.) Eu poderia entender que talvez tenha alguns meses difíceis, mas essas despesas devem ser extremamente gerenciáveis. Se não estiverem, sua empresa está com problemas.
PeterAllenWebb
8

Argumentei esse argumento no meu trabalho para mudar de laptops para desktops. Eu disse que todos deveriam estar em uma área de trabalho e, se precisarem de um computador em casa - leve-os para lá também.

As vantagens de velocidade de um bom computador não são desprezíveis, especialmente se você remover as falhas de hardware realmente antigo.

Em relação a "topo da linha" e "próximo ao topo da linha" - eu diria que perto do topo da linha está sempre onde você deveria estar. No "topo da linha", você pode atualizar a cada 2 anos, em vez de 3, e acabar com um hardware melhor, em média.

Eu recomendei o cyberpowerpc.com e minha empresa me deixou comprar um PC deles (profissional de marketing), mas eles compraram todos os computadores dos programadores da Dell porque o suporte valia o custo extra. Pense nisso ... é 1,5-2x para comprar um PC da Dell, mas todos apreciam se o PC cair e você não conseguir consertá-lo rapidamente, perde dinheiro.

Um PC lento é como um PC quebrado que você não está reparando.

Chris Kluis
fonte
BTW - todo desenvolvedor deve ter um PC digno de alimentar dois monitores de 1900x1200. Se o seu PC não puder fazer isso, é definitivamente hora de atualizar.
Chris Kluis
Você mudou de laptops para desktops? Eu simplesmente não entendo algumas pessoas. Eu prefiro ter o laptop. Ele vai a reuniões comigo, onde tenho tudo ao meu alcance para responder perguntas e fazer anotações rápidas. Posso trabalhar facilmente em casa sem gastar tempo configurando dois ambientes de trabalho. É também um segundo monitor gratuito.
Zan Lynx
Ouvi em algum lugar que a Microsoft freqüentemente dá a alguns funcionários dois computadores. Isso é para que eles possam compilar em um PC e alternar para o outro enquanto o primeiro estiver ocupado. Não tenho nenhum problema em fornecer também um laptop, mas a diferença de velocidade é tremenda para um laptop em comparação com um PC e o monitor na maioria dos laptops é uma piada.
quer
6

Há também uma questão de orçamentos - geralmente os desenvolvedores são pagos com um orçamento diferente do hardware para esses desenvolvedores, e eles podem simplesmente não ter dinheiro suficiente disponível no orçamento de hardware.

Timo Geusch
fonte
4
Indiscutivelmente, isso não responde totalmente à pergunta (é mais sobre a mecânica). O acompanhamento seria então por que o orçamento de hardware é subdimensionado , se você aceitar a premissa de que deve gastar, por exemplo, 2% do salário dos desenvolvedores nas estações de trabalho?
Andrzej Doyle
1
@ Andrzej, você faz um bom argumento. Parte disso depende do tamanho da organização - as grandes empresas parecem relutantes em oferecer aos desenvolvedores máquinas de alta especificação, pois tendem a padronizar seu hardware no nível jockey do Excel. As empresas menores geralmente são mais flexíveis, mas também têm menos dinheiro para gastar.
Timo Geusch
6

Primeiro, para responder à pergunta:

Eles não podem fazer a matemática ou, se o fazem, de alguma forma acreditam que isso não se aplica a eles. O orçamento e a contabilidade de hardware e pessoal são separados. As pessoas em posição de tomada de decisão nunca ouviram falar do assunto e não sabem que existe algum problema.

Agora, para a verdadeira questão: "Como faço para lidar com esta situação?"

É essencialmente um problema de comunicação. Você explica o problema e o interlocutor ouve "bla bla bla, queremos brinquedos novos e brilhantes". Eles simplesmente não entendem.

Se eu estivesse na sua posição, faria um rápido vídeo intitulado "Podemos comprar computadores antigos?": Fotos de uma estação de trabalho típica. No lado direito, uma área em branco intitulada "custo".

Ainda está no botão liga / desliga. Abaixo: "Iniciando o computador. 20 minutos". Na área em branco, "Iniciando o computador = $ 40". "IDE de abertura = $ 5", "Congelamento do computador = $ 80", "construção do produto = $ 600"

Avance rapidamente e continue adicionando os números e compare com o custo de um computador novo e não se esqueça de terminar com "Este vídeo foi produzido em casa em um laptop comprado em uma loja de US $ 500 que supera todo o desenvolvimento" profissional " máquinas atualmente disponíveis.

Se você está preocupado com o fato de que levantar o problema causará problemas para você, você também pode trazer seu próprio laptop para funcionar.

Se não há como transmitir esse problema, talvez você deva considerar procurar outro emprego.

Sylverdrag
fonte
4

Os descontos também desempenham um papel importante no processo de compra.

Spit ball (números não reais): 100 máquinas a 1000 w / 15% de desconto = 85.000

90 máquinas com 1000% de desconto / 10% = 81.000 + 10 máquinas com 2000% de desconto de 5% = 19.000 => 100.000

Como já foi mencionado, o custo extra no suporte às máquinas "especiais" precisa ser adicionado à mistura.

bart
fonte
4
Haveria realmente muita diferença de suporte se fossem as mesmas máquinas com mais RAM e talvez discos rígidos mais rápidos?
Eric Wilson
@FarmBoy - atualizações de RAM geralmente são simples e facilmente implementadas. HDD's - mais problemático (porque é mais caro), mas factível. Eu atualizei a RAM no meu laptop, apenas tive um pedido assinado pelo meu chefe, fiz eu mesmo. Substituir o laptop inteiro estava completamente fora de questão. Então há uma diferença.
Littleadv
@ FarmBoy: Depende de "mais rápido". Se você está falando sobre a substituição de um 5400RPM por um 7200, provavelmente não, pois ambos são bastante comuns. Se você quer substituir um 7200 por 10K, é possível que as unidades de 10K sejam menos comuns e, portanto, sejam mais difíceis de obter. E a taxa de falhas nos SSDs é alta o suficiente para que a empresa provavelmente precise estocar algumas unidades de substituição, o que também aumenta. A RAM definitivamente vale a pena.
TMN
4

Pessoalmente, sempre tive pelo menos um computador de desenvolvimento OK quando trabalhei para uma empresa "pequena", mas quando se trata de grandes empresas, os programadores são uma moeda de dez centavos em comparação com um gerente de projeto que tem um orçamento .

Especialmente se ele / ela é um daqueles que têm ótimas idéias, leia: orçamento aprovado.

Qualquer que seja a idéia 'boa', essa pessoa precisará de bons programadores para realmente implementar o "Novo 'melhor' produto" ", para que pague ao programador o preço necessário.

A obtenção do novo computador de desenvolvimento, no que me diz respeito, não passa pelo mesmo 'departamento' que o outro orçamento, portanto, espere trabalhar em más condições se você for bem pago :-) Meu último trabalho: Dell E5xxx + Um LCD de 1280x1024 ...

Valmond
fonte
As grandes empresas estão sofrendo neste site hoje. Excepto a sua alegação de dez centavos. Ele precisa ser reformulado para que "programadores médios e ruins sejam um centavo uma dúzia". Se você for bom, principalmente se for muito bom em uma grande empresa, será notado e não será considerado uma moeda de dez centavos. Se você trabalha (trabalha) em uma grande empresa e sente que é considerado uma moeda de dez centavos, sugiro que você não seja tão bom quanto pensa ser um programador. Programadores muito talentosos são raros, embora todos se considerem muito talentosos.
Dunk
1
Nah, você entendeu tudo errado, o que eu tento enfatizar é que, mesmo que o gerente de projeto possa pagar pelo que você é, os caras que estão comprando e mantendo os computadores não funcionam com o mesmo orçamento. Ganhei mais um dia no meu último emprego do que o computador custado ... Se eu tivesse ficado mais tempo, provavelmente teria comprado outro computador + tela, mas há outros problemas como trabalhar em ambiente extremamente quente e barulhento (porque isso não é barato porque havia alguma necessidade real).
Valmond 19/07
Ok, talvez eu tenha alguns pontos errados, mas TODO ERRADO. RI MUITO. Meu argumento era que, se o seu gerente atribuir um alto valor a você, eles cuidarão para que você obtenha o equipamento que deseja, independentemente da política envolvida. Claro que isso pressupõe um gerente minimamente competente.
Dunk
É claro que eu não quis dizer "TODO ERRADO! BAN! BAN!" :-) e com certeza, se você trabalha por, digamos, pelo menos um ano em qualquer empresa e não possui as ferramentas necessárias para trabalhar pelo menos 'corretamente', diria que é melhor desistir e encontrar outro. Porém, as grandes empresas são complexas e, mesmo que o gerente do projeto seja inteligente e o ouça, outro departamento talvez não (ouça). Bem, essa é a minha experiência de qualquer maneira :)
Valmond
3

A compra de novo hardware envolve dinheiro, o dinheiro envolve tomadores de decisão e, geralmente, não são desenvolvedores se a sua empresa é grande o suficiente. Claro que temos exceções ...

Como o @Rob explicou, há muitas razões pelas quais você não obterá o melhor hardware. Sua empresa pode ter uma política definindo que tipo de hardware é comprado, como sempre na burocracia é difícil ter uma política de ponta. Muitos gerentes não se importam em adaptá-lo às suas necessidades pessoais, etc.

Má comunicação, aversão ao risco e outras falhas:

Vamos considerar que você tem um hardware realmente ruim, não é mais possível trabalhar nessas condições e você deseja fazer algo sobre isso.

Agora você precisa convencer seu gerente. Bem, normalmente você terá que convencer seu gerente de projeto que diz ao gerente que se reporta ao chefe dele e você precisa garantir que esse cara realmente entenda seus problemas.
Envolve habilidades de comunicação e o entendimento técnico da gerência .

Segundo passo, se você tiver sorte, a gerência pensará nisso. O que eles recebem?

  • Você trabalhará mais rápido com algumas incertezas (elas não recebem dinheiro diretamente, como você tentará explicar).
  • Vai custar dinheiro agora .

Isso significa que eles terão que negociar dinheiro e o planejamento real do seu trabalho, para uma eventual oportunidade de permitir que você faça outra coisa no futuro; isso é um investimento, mas também um risco .
Infelizmente, muitos gerentes são avessos ao risco . Sem mencionar que quanto mais pobre o entendimento do seu problema, mais arriscado ele parece. Alguns também podem ter dificuldade em reconhecer que alguém não comprou o hardware adequado em primeiro lugar.

Além disso, a administração geralmente possui uma definição mais curta do que significa longo prazo . Se for solicitado que você faça algum tipo de otimização do orçamento mensal, eles podem até ter incentivos financeiros diretos para não comprar um novo hardware! E eles não se importarão com as duas semanas que você poderá economizar seis meses depois ..

Claro que você nem sempre precisa esperar tanto tempo para fazer coisas maravilhosas em um dia !

Isso funciona melhor se você tiver gerentes inteligentes e de mente aberta que escutam, entendem seus problemas, estão prontos para assumir riscos razoáveis ​​e confiarem em você o suficiente para permitir que você explore maneiras criativas de usar o tempo livre.

Nem sempre é esse o caso: esperei 3 meses para obter uma placa gráfica para conectar minha segunda tela enquanto era proibido comprá-la (30 €), perdi 3 dias por não ter um disco rígido de 500 GB extra, tive que esperar várias horas regularmente quando preparando dados para o cliente devido à lenta rede de 100 Mbps. Depois de pedir várias vezes 2 GB de memória RAM, me disseram para comprar e parar de incomodar o gerenciamento com esses problemas técnicos. E nós estávamos fazendo computação científica para um grande cliente industrial que estava pronto para pagar o preço.

Maxime R.
fonte
1
Bem dito, boa análise sobre o porquê . No entanto, se tudo estiver ruim, você pode dissipar um pouco de atualização através das aberturas dedicadas de caixas ( globalpackagegallery.com/… ).
Peterchen
Lol, spray de atualização, eles teriam adorado! Espero que eu não mais trabalhar para eles :)
Maxime R.
3

Além da matemática, é improvável que todos os seus usuários tenham máquinas de última geração. Desenvolver em uma máquina que é especificada mais de perto com algo de preço médio familiarizará o desenvolvedor com a experiência (e as dores!) De seus usuários.

Seu departamento de controle de qualidade pode ter uma máquina com especificações mínimas, mas com que frequência é usada? O desenvolvimento de uma máquina que é um ambiente-alvo realista expõe problemas desde o início (falta de resposta, desempenho ruim, condições de corrida por causa do desempenho lento, etc.), o que leva as equipes a corrigi-las mais cedo.

Justin Johnson
fonte
Obviamente, isso não se aplica àqueles que não usam aplicativos de desktop.
Eric Wilson
Claro que sim. Aplicativos Flash e até aplicativos Web JS pesados ​​também se beneficiam com a execução de máquinas com especificações mais baixas.
23711 Justin Johnson
Justo. Eu deveria ter dito: "Isso não se aplica àqueles que não escrevem aplicativos de desktop ou aplicativos com forte interação do lado do cliente". O que ainda é um monte de desenvolvedores e, ironicamente, esses estão entre os mais propensos a ter hardware ruim.
Eric Wilson
8
Já ouvi isso antes e acho que é uma analogia falsa. Se fosse verdade, os carros seriam construídos usando ferramentas manuais e furadeiras elétricas, porque é isso que os motoristas têm em casa. Uma máquina de baixa especificação deve ser usada como parte dos testes de usabilidade, mas não para o desenvolvimento.
TMN
1
esta resposta aponta uma coisa interessante. Eu vi um jogo que falhou tanto quando foi lançado: a maioria dos usuários não conseguia ler os textos na interface porque os desenvolvedores tinham telas de 21 a 27 polegadas, pelo menos, e redimensionados para esses laptops, os caracteres de 15 polegadas eram renderizados em 6px . No entanto, é necessário estar próximo das especificações do usuário para testes, o que deve ser feito por testadores e não por desenvolvedores.
Jul19
3

Me pediram para especificar a máquina que eu queria usar aqui, dentro de um orçamento bastante apertado. Consegui criar um sistema meio decente que funcione, apesar de não ser pesado demais.

Originalmente, eu estava pensando na mesma direção do OP aqui, o tempo em que fico aqui esperando compilar ou carregar é dinheiro pela janela. À medida que avança, também reconheço que o tempo que gasto para tomar um café ou caminhar até a impressora também custa dinheiro pela janela.

Em vez de me preocupar com as pequenas quantidades de tempo que eu tenho que esperar, porque adotamos um sistema de desenvolvimento mais barato, observei meus próprios hábitos e melhorei as maiores quantidades de tempo que gasto sem fazer nada particularmente útil (ahem. .. stackexchange é útil e produtivo para inicializar, e estou aderindo a isso !! :-)) É claro que precisamos de intervalos, mas esse é outro momento que não "intervalos".

Portanto, de certa forma, em um sentido geral, essa questão poderia ser a "otimização prematura" da eficiência do trabalho. Muitos pontos importantes sobre custos de migração, perda de volume de compras etc.

Em sua situação específica, em que você está perdendo tempo na ordem de uma pausa para reiniciar / abrir programas, sim, faz muito sentido atualizar para equipamentos decentes, pois sua produtividade é seriamente prejudicada, um sistema i3 meio decente com 4 GB de RAM são da ordem de US $ 500 ... Tenho certeza de que não demorará muito para recuperar esse custo.

Stephen
fonte
Poderia ser "otimização prematura" se eu estivesse iniciando uma empresa sem ter visto o hardware como uma desaceleração. Mas atualmente parece um gargalo significativo e barato para corrigir.
Eric Wilson
3
Você precisa de intervalos independentemente. Mas minimizar as quebras no fluxo é fundamental para a produtividade do desenvolvedor. Se um desenvolvedor precisar esperar mais de 30 segundos para obter feedback da ação anterior, o trabalho diminuirá significativamente.
Kevin cline
@FarmBoy Se for um gargalo significativo, fazer um argumento comercial para a gerência faz sentido.
Stephen
@ Stephen Se esta empresa tivesse 1/100 do tamanho atual, eu consideraria esse caso.
Eric Wilson
1
Com +1, você pode definitivamente obter uma máquina doce por pouco dinheiro, se otimizar a produtividade do desenvolvedor. Boa placa gráfica? Quase certamente um desperdício de dinheiro. Disco rígido enorme? Muitas vezes não é necessário. Mas RAM? Tanto quanto você pode conseguir. Se você gastar mais esperto, não mais, fará bem.
perfil completo de Carson63000
3

Um grande fator é o tipo de bloatware que a TI em uma grande empresa típica tende a colocar no laptop. Se você tiver uma máquina Windows 7 em casa e apenas alguns antivírus, um sistema SSD-3GB-Quad-core padrão será inicializado em menos de 10 segundos. Compare isso com o bloatware que minha empresa usa e leva uma eternidade para inicializar. Eu já vi algumas pessoas usando zapping o sistema operacional completamente e instalando suas próprias para acelerar as coisas. Eu acho que isso resolve um problema até certo ponto, embora seja uma enorme violação da InfoSec. Mas falando sério - 10 minutos ?!

Sudipta Chatterjee
fonte
Isso conta o tempo para abrir o Lotus Notes, Eclipse, Firefox e talvez algumas outras coisas.
Eric Wilson
10 minutos? Minha máquina de trabalho é um laptop Dell E-series. O tempo entre a inicialização a frio e o Visual Studio e o Lotus Notes aberto é em média de 18 minutos. Geralmente, leva cerca de 5 minutos para chegar ao prompt de login do Windows e, em seguida, mais 12 ou 13 minutos para chegar a uma área de trabalho utilizável.
Joshua Smith
1
TI aqui emprestado pela Serverfault. 10 minutos é indesculpável, mas infelizmente comum. Quando começo uma nova loja, passo as primeiras semanas desligando toda a porcaria que alguém achou que seria uma boa ideia executar na inicialização. Análise anti-spyware -> Análise antivírus -> 100s de GPOs aninhados. Meus novos desktops Win 7 inicializam tão rápido que tive que ajustar os switches porque eles estavam inicializando mais rapidamente do que as placas de rede podiam negociar automaticamente. Inferno, posso recriar uma estação em menos de 10 minutos.
21711 Ryan
3

Nas grandes organizações corporativas, a escolha do hardware é predefinida e bloqueada devido ao fato de que essas organizações têm especificações e configurações fixas e gerenciadas de desktop e laptop. As especificações para estas serão ditadas de forma esmagadora por uma combinação de considerações de "aquisição" e "suporte". A empresa em que estou trabalhando atualmente, por exemplo, tem mais de 100.000 funcionários e trabalha com base no fato de que "tamanho único" serve para todos, e esse tamanho será impulsionado principalmente por comerciais. Quando essas políticas são implementadas, elas são bloqueadas porque os serviços de suporte geralmente investem uma quantidade considerável de tempo em testes e implantação do software com essa especificação de máquina "padrão". Argumentos em torno da produtividade do "desenvolvedor", nesses ambientes, simplesmente caia em ouvidos surdos; os serviços de produção não abrirão uma exceção para um pequeno grupo, pois podem ser mais produtivos; se o fizessem, seriam rapidamente inundados de pedidos de desvios e, em qualquer caso, eles (suporte à produção) são incentivados a manter o custo do suporte o mais baixo possível. > 1 configuração de desktop / laptop aumenta o custo de suporte. Em uma organização em que o "produto" principal é o resultado da engenharia de software, esses argumentos são inválidos, mas a realidade é que a maioria das organizações NÃO é, e o principal fator é manter baixos os custos de suporte. e, de qualquer forma, eles (suporte à produção) são incentivados a manter o custo do suporte o mais baixo possível. > 1 configuração de desktop / laptop aumenta o custo de suporte. Em uma organização em que o "produto" principal é o resultado da engenharia de software, esses argumentos são inválidos, mas a realidade é que a maioria das organizações NÃO é, e o principal fator é manter baixos os custos de suporte. e, de qualquer forma, eles (suporte à produção) são incentivados a manter o custo do suporte o mais baixo possível. > 1 configuração de desktop / laptop aumenta o custo de suporte. Em uma organização em que o "produto" principal é o resultado da engenharia de software, esses argumentos são inválidos, mas a realidade é que a maioria das organizações NÃO é, e o principal fator é manter baixos os custos de suporte.

grumblestiltskin
fonte
Esta é uma excelente resposta.
Eric Wilson
2

Simplesmente porque, o melhor hardware não é o melhor desenvolvedor! Dito isto, a empresa é responsável se estiver dificultando o trabalho do programador.

No entanto, se o hardware for suficiente para o desenvolvedor funcionar, ele não terá do que reclamar.

Além disso, não faz sentido ter o 'melhor' hardware e usar apenas um IDE para codificar - desperdício de recursos dessa maneira.

Sterex
fonte
2

"Nós encontramos o inimigo e ele somos nós." - Pogo

De qualquer maneira, você divide essa questão - o grupo coletivo "programadores" tem responsabilidade direta por qualquer falha na compra das melhores ferramentas no local de trabalho.

  1. O financiamento das empresas é incrivelmente complicado, com inúmeras motivações e alavancas conflitantes. Sem um conhecimento concreto do que o departamento financeiro está rastreando (evasão fiscal, gerenciamento de despesas trimestrais, aumento de despesas de capital futuras, maximização do EBITDA ou qualquer outra coisa que esteja em seu radar), qualquer discussão sobre custos reais é irrelevante. Como você reagiria a uma pessoa de marketing que o incomodava sobre otimizações do compilador para código que você sabe que está prestes a ser transferido para uma linguagem interpretada? Se os programadores não puderem demonstrar em termos específicos como as ferramentas que eles possuem não contribuem diretamente para os resultados, a empresa está correta em gastar o mínimo possível. Também precisamos aprender a ouvir o financiamento das empresas para entender as realidades enfrentadas pela alocação de recursos.

  2. Como grupo, votamos com a nossa presença no local de trabalho muito mais alto do que pedir ferramentas melhores, enviar o white paper mais impressionante aos nossos gerentes ou até publicar na internet. Existem organizações que criaram uma cultura de garantir que seus funcionários tenham as ferramentas de que precisam de maneira justificável ou entendam o caso de por que não no momento. Até que a pressão competitiva exija isso da maioria dos empregadores, só podemos votar buscando empregadores nos quais acreditamos.

Cada um de nós precisa fazer disso algo que importa para o núcleo ou deixar para lá.

bmike
fonte
2

Eu costumava ser desenvolvedor de uma grande empresa e depois uma startup. Aqui estão meus dois centavos:

  1. DIMM DDR3 de 8 GB (2x $ 4 GB) custa entre US $ 50 e US $ 55 hoje (por volta de julho de 2011)
  2. O monitor LCD de 21 "custa US $ 200 (cerca de julho de 2011)

Se sua empresa permitir que você traga seu próprio equipamento, basta usar seu próprio $ e atualizar o RAM e o monitor LCD. Porque você pergunta?

  • sua produtividade não é algo que você valoriza?
  • seus olhos não valem US $ 200?

Você sempre pode levar o monitor com você ao sair do trabalho (lembre-se de identificá-lo claramente como sua propriedade pessoal). Eu fiz a receita acima (atualizando a RAM e usando meu próprio monitor LCD) nos meus trabalhos anteriores - e no meu trabalho atual.

Init Fini
fonte
Costumo comprar minha própria máquina para trabalhar. Passo mais de 8 horas por dia nesse computador; vale dois mil dólares a cada dois anos para trabalhar em algo rápido.
19411 karoberts
2

Não vejo como você pode agrupar todos os empregadores em uma cesta. Trabalhei para alguns empregadores como funcionário e como consultor e sempre obtive hardware mais do que suficiente para minhas necessidades - para o trabalho atual, recebi um novo e brilhante HP quad core, com 4 GB de ram e Win64 no primeiro day - não top de linha, mas muito suficiente - (eu uso o Delphi XE e XMLSpy como minhas principais ferramentas de desenvolvimento) - de fato, tão legal que fui e comprei a mesma máquina para mim em casa. (Talvez eu não seja tão produtivo! LOL.)

Se você não obtiver um bom hardware, tente solicitá-lo - e se achar que não pode solicitá-lo, provavelmente não está trabalhando no lugar certo, porque eles não veem os desenvolvedores como um recurso, mas como um responsabilidade, sujeição, tendência, suscetibilidade, deficiência, dependência.

Portanto, acho que a resposta para sua pergunta é: aquelas empresas que não se recusam e / ou se recusam a fornecer hardware suficiente para um desenvolvedor são empresas que consideram seus desenvolvedores um passivo - trabalhos que eles preferem terceirizar e nem lidam.

Mikey
fonte
2

Lado do CFO.

A empresa tem muitas despesas. Todo departamento precisa de mais dólares para fazer melhor e em todos os departamentos a despesa é uma obrigação.

Quando você escolhe a melhor maneira de usar os $ disponíveis, leva em consideração:

  • quanto eles precisam? somas menores são mais fáceis de aprovar.
  • vai aumentar as vendas? PCs melhores geralmente não contribuem diretamente para o aumento das vendas
  • O departamento gosta de gastar US $ ou entende o fluxo de caixa? A maioria dos departamentos de P&D que vi têm uma abordagem arrogante "nós merecemos o melhor". Isso é compreensível, pois eles ganham muitos dólares e, quando você acha que merece as melhores coisas da vida. Geralmente, as necessidades das equipes de pesquisa e desenvolvimento dão a sensação de uma criança mimada solicitando mais brinquedos enquanto seus pais estão lutando. "Um gênio delicado".

O desperdício de 10 minutos por dia não é um raciocínio que funcionaria com a maioria dos departamentos financeiros. A maioria das equipes de pesquisa e desenvolvimento desperdiça muito mais com todas as atividades de programação que desfruta durante o dia. Vamos mapear todo o desperdício em seu departamento e ver o que pode ser feito para melhorar a produtividade.

user831405
fonte
Seu maior problema como CFO é que todos os seus departamentos estão trazendo propostas de ROI positivo e seu único problema é descobrir qual é o ROI mais positivo. Parece maravilhoso.
PeterAllenWebb
10 minutos a US $ 60 / hora são US $ 3600 / ano, ou US $ 10.800 por um período de três anos (vida útil do computador). A US $ 100 / hora, US $ 18 mil. Uma máquina aceitável pode ser adquirida por US $ 800. Existem outros custos além da simples perda de tempo. Custo de recrutamento, por um lado. Eu nunca vou trabalhar 10 horas por dia na frente de um monitor CRT, para uma empresa que considera que uma economia de US $ 50 vale a pena prejudicar minha visão. Você está dizendo que uma empresa que pode desperdiçar $$$ em pagar engenheiros para encarar uma tela congelada e sabotar seus próprios esforços de recrutamento ($$$) não pode comprar ferramentas em condições de trabalho adequadas?
23411 Sylverdrag
1

Simplificando, as decisões de compra geralmente são tomadas pelos contadores de feijão (contadores e gerentes de nível intermediário) e não pelos gerentes de projeto.

Muitas pessoas deram razões potenciais, e todas elas são um fator em uma situação ou outra, portanto, não existe uma situação única que substitua. A compra de equipamentos em grande escala pode significar que eles perdem algum dinheiro em produtividade para programadores, mas ganham dinheiro em outras áreas.

Ainda assim, muitas vezes se resume a um orçamento. Você precisa se encaixar no orçamento, e isso é tudo.

Erik Funkenbusch
fonte
Você pode apostar que os contadores adorariam grandes monitores por suas manobras, mas os departamentos de TI querem oferecer a alguém o mesmo kit que estiveram nos últimos n anos!
19711 Ian
1
Isso não explica por que os programadores não podem conversar com os contadores de feijão e demonstrar por que o dinheiro está sendo deixado na mesa pela empresa por não conseguir as ferramentas corretas. O orçamento atende às necessidades da empresa - os programadores precisam demonstrar as ferramentas necessárias para esperar uma consideração orçamentária.
bmike
1
@ Mike - Eu não sei sobre as empresas que você esteve, mas na maioria dos casos, os programadores não têm permissão para falar com os contadores de feijão. Quer dizer, nada os impede de pará-los no corredor e ter uma conversa informal, mas eles normalmente seria dizer-lhes para "usar a cadeia de comando"
Erik Funkenbusch
2
+1 - para retornar pelo menos a 0 - IMO, essa é uma resposta muito bem informada e precisa, principalmente em lojas maiores. O desenvolvedor deve conversar com um contador sobre como ele precisa gastar US $ 1000 a mais do que as pessoas comuns em seu hardware? Difícil imaginar ...
Vector
1

Eu costumava trabalhar para uma empresa de rede onde eles atualizaram o RAM de 512 MB para 1 GB no ano passado. Estávamos trabalhando com os monitores CR ** da f ** king em 2010. A parte mais engraçada era que o hardware dos gerentes foi atualizado para 2 GB de RAM. Por que diabos alguém iria querer 2 GB para criar malditos PPTs e como alguém desenvolveria aplicativos com 1 GB de RAM, eu nunca saberia.

Arun Kumar
fonte
Eita, eu pensei que tínhamos mal tentando obter a atualização de 2GB para 4GB.
Fergal
2
Sinto muito, mas eu tenho a -1 isso porque ele não tenta responder à pergunta
Billy ONeal
Fugir aterrorizado.
1

Tudo se resume a quem lida com o dinheiro. Em organizações maiores, a TI recebe um orçamento de, digamos, US $ 1 milhão para o ano. Isso inclui salários de suporte, servidores, etc. Eles precisam distribuí-lo entre todos os seus recursos. Eles fecham acordos com fornecedores como Dell ou IBM para obter um número x do mesmo tipo de computador. Isso eles dão a todos, do suporte ao cliente aos programadores. Eles também recebem acordos de suporte etc., quando precisam apenas manter um conjunto limitado de modelos. Eles também não são programadores, tive vários argumentos com não-programadores sobre computadores. Quando examinei meus gerentes de TI em busca de um novo HD uma vez, o CEO disse que comprá-los e prosperar, todo mundo finalmente tinha espaço em disco suficiente para executar máquinas virtuais.

Na verdade, eu explodi e xinguei meu chefe porque a TI iria tirar meu segundo monitor de 19 "porque eu tinha um laptop. Eles também me enrijeceram, me dando um modelo de 13" quando outros estavam com 15 ". Isso remonta a à política em TI, que é outro problema, é um tipo de nós versus eles pensando algumas vezes.

Bill Leeper
fonte
Quando trabalhei para uma empresa muito pequena com menos orçamento do que em qualquer outro lugar, tinha as melhores máquinas. Por quê? Porque não havia nem o SALÁRIO DE UMA PESSOA DE TI saindo do orçamento total anual de TI. Quer um equipamento rápido? Seja um desenvolvedor único em uma loja que não seja de software e que não tenha pessoas de TI, exceto você. Ou comece sua própria empresa e não siga o caminho da loucura de TI. :-) Colocamos máquinas que não são de engenharia no terreno, mas os engenheiros (CAD / P & D / Desenvolvedor) conseguiram coisas de ponta. Porque os engenheiros administravam a empresa.
Warren P
1

Da perspectiva descrita pelo solicitante, a questão faz todo sentido. No entanto, há mais custos envolvidos em manter o hardware atualizado.

Aqui estão alguns dos custos que também precisam ser considerados:

  • custo da requisição (pesquisa e detalhes que entram na compra)
  • custo de instalação e configuração
  • custo de suporte e manutenção
  • custo de licenciamento de software
  • custo de descarte / atualização

Em alguns casos, eles podem ser 2-5x maiores que o custo do próprio hardware. Ainda mais se houver um sofisticado licenciamento de software envolvido.

Em geral, a escala desses custos depende do tamanho da empresa ou da complexidade da estrutura organizacional. Equipes menores com acesso direto ao poder de compra podem manter esses custos baixos, enquanto em uma organização maior esses custos podem ficar muito altos.

Joshua
fonte
Minha premissa era que um hardware melhor poderia ser comprado, não comprando hardware com mais frequência. Isso elimina todos os custos que você mencionou, exceto possivelmente suporte e manutenção adicionais.
Eric Wilson
Antes de tudo, todos esses custos DEVEM levar em consideração o custo total durante a vida útil da máquina. Portanto, em vez de ser de US $ 3.000 para comprar um PC ou Mac, pode ser de US $ 6.000 a US $ 10.000. Você não pode apenas olhar para o custo inicial. Você deve analisar o custo total de uma perspectiva contábil. Segundo, "Melhor" é relevante apenas por um período fixo de tempo. Descobri que a maioria das empresas compra hardware "melhor" para suas equipes - mas depois fica com esse hardware por 3-5 anos ou mais. Não é legal, especialmente para desenvolvedores de software.
1937 Joshua
1
minha premissa é que os outros custos, embora relevantes, são os mesmos. Em outras palavras, os custos de aquisição e instalação não aumentam porque os desenvolvedores recebem mais RAM. Além disso, argumentei pelo mesmo cronograma de compras acima.
Eric Wilson
4
Qual software você executa que custa 2 a 5 vezes mais para licenciar, se você o colocar em uma máquina de desktop mais rápida? @ Farmboy está certo, este é um anti-ponto. Se um computador ruim custa US $ 1000 para comprar + US $ 1500 em custos de TI ao longo de três anos, é metade do preço de um grande computador que custa US $ 3000 antes dos US $ 1500 em custos de TI. E, de fato, o melhor computador provavelmente custa menos para suportar, porque quebra com menos frequência.
RoundTower
1

Porque muitas empresas fora das startups de tecnologia típicas não estão interessadas em contratar estrelas do rock. Eles estão investindo em alguém que pode simplesmente fazer o trabalho. Portanto, se eles não se importam com o seu trabalho, por que eles se importam com o equipamento que você usa? Já trabalhei em locais que ainda usam CRTs de 15 polegadas e todo mundo se sai bem. Às vezes, quando leio perguntas como essa, fico imaginando se as pessoas percebem que nem todos no mundo trabalham para uma boa partida.

Sergei
fonte
2
Eu não trabalho para uma partida legal, e não acho que todo mundo faça. Mas acho que meu empregador deve se preocupar se eu tenho equipamentos que funcionem bem, se eles querem estrelas do rock ou apenas desenvolvedores eficazes. Primeiramente, espero que minha empresa evite desperdiçar dinheiro pagando-me para ver minha máquina congelar novamente. Ninguém acha que desperdiçar dinheiro é legal.
Eric Wilson
1

Eu trabalhei para empresas que economizavam em hardware no passado. É péssimo, e se eles precisam convencer a batalha provavelmente será interminável.

Acontece que as empresas comprometidas com o uso das melhores ferramentas disponíveis são raras, mas elas existem; Eu trabalho para um. Eu tenho um quad-core de 17 "2011 MBP, 8 GB de RAM, Vertex 3 SSD, 2 x 24" monitores externos, além de um desktop quad-core e uma fatia de 4 GB Xen; bem como escritórios silenciosos.

Eu poderia sobreviver com menos hardware? Certo. Mas acho que todos preferimos nos gabar do que reclamar.

Erik Peterson
fonte
1

Na minha opinião, existem apenas duas objeções defensáveis ​​que uma empresa poderia levantar para manter os desenvolvedores configurados com estações de trabalho sólidas. A primeira é que eles estão passando por uma crise de caixa. É melhor ter vida curta, ou a empresa não será uma preocupação permanente por muito tempo. Se você trabalha para uma empresa como essa, deve manter seu currículo atualizado.

A outra é que a organização deles simplesmente não está comprometida com a capacidade de desenvolvimento de software. Ou seja, um aumento na qualidade ou velocidade da saída do desenvolvimento de software não melhoraria os resultados. Se o principal negócio da empresa é vender software, isso será praticamente impossível. Se o software não é seu principal negócio, e eles não estão empolgados, eles devem tentar reduzir sua força de trabalho de software transferindo ou deixando de lado os membros mais fracos da equipe. O fornecimento de equipamentos ruins reduzirá o tamanho de sua equipe do lado oposto, receio.

PeterAllenWebb
fonte
0

Novas máquinas, novas tecnologias significam novos problemas. Nem todo mundo em toda empresa é especialista em tecnologia e nem toda empresa possui recursos de TI para treinar pessoas e lidar com problemas 24 horas por dia, 7 dias por semana.

Sim, talvez se você é um programador freelancer trabalhando em sua área de trabalho pessoal, vale a pena gastar US $ 1000 em uma plataforma para obter 10 minutos de produtividade extra todos os dias. No entanto, quando você está implantando centenas dessas máquinas para pessoas que podem perder produtividade devido a novos equipamentos, a perspectiva parece um pouco mais sombria.

tskuzzy
fonte
Claro, eu não espero SSDs para todos, mas que tal dar aos desenvolvedores 8 GB de RAM ou 4 GB em vez de 2 GB? Como não estou sugerindo a compra de hardware com mais frequência, a implantação não é um custo adicional.
Eric Wilson
@Farmboy - alguém precisa fazer uma análise de custo de quais peças comprar a um bom custo, testar os módulos de RAM específicos com a configuração de TI padrão para garantir a capacidade de suporte e minimizar as substituições de peças, estocar um inventário e fazer isso para todas as configurações atuais, que para um grande departamento de TI típico, pode estar entre 3 e 8 ao mesmo tempo. A alternativa é que cada desenvolvedor obtenha seu próprio orçamento para gastar como desejar em hardware; no entanto, o suporte se torna um pesadelo. (Para não mencionar as pessoas que gastaram seu dinheiro em um USB powered refrigerador líquido, em vez de mais memória RAM ou CPU)
Franci Penov