Quais estressores os programadores encontram no trabalho e como você lida com eles? [fechadas]

74

Aprender a lidar com o estresse é vital para se manter saudável enquanto trabalha em qualquer emprego. Uma subtarefa necessária é aprender a reconhecer e limitar as fontes de estresse.

Mas, no meio da rotina diária, pode ser difícil reconhecer fontes de estresse (especialmente para uma pessoa intensa e concentrada, como um programador).

Que tipos de estressores os programadores devem procurar e como podem ser gerenciados?

    
por 8 revs, 3 users 71%user8 20.11.2011 / 18:29
fonte

10 respostas

100

Aqui estão as coisas que acho mais problemáticas para mim e para os desenvolvedores ao meu redor:

  1. Ambiguidade : metas, requisitos ou outras expectativas declaradas de forma ineficaz. Muitas empresas têm funcionários que têm uma atitude de "I don't know what I want, but I'll know it when I see it. Oh, and by the way I need it tomorrow."
  2. Prazos inadequados : A maioria dos prazos é definida pela necessidade do negócio não pelas capacidades realistas dos desenvolvedores na equipe. Além disso, as expectativas para o requisito são aumentadas, mas o orçamento / recursos não são.
  3. Más suposições / expectativas : Os programadores têm uma tendência a ter uma opinião elevada sobre suas capacidades (não uma característica não adquirida) e, por isso, esperam que outras pessoas possam igualar suas capacidades, compreensão e expectativas. Muitas vezes, uma suposição será feita de que algo é "common knowledge" ou algo semelhante, e isso pode ser catastrófico na categoria de estresse. Agora, o especialista em negócios não apenas não atendeu às expectativas do programador, como também é um incompetente completo. No inverso, se o programador não atender às expectativas da empresa, o programador fica frustrado porque não recebeu as informações necessárias para prosseguir.
  4. Falta de respeito : Muitas pessoas têm uma tendência a acreditar que só porque alguém é fraco em sua disciplina significa que elas são fracas em sua disciplina. Existe uma razão pela qual todos nós temos diferentes cargos / capacidades / expectativas, e é importante respeitar que a outra pessoa é muito provavelmente muito capaz nas tarefas que eles são solicitados a fazer. Só porque alguém não tem as suas capacidades não significa que elas sejam incompetentes ou incapazes.
  5. Falta de autocontrole : isso pode se manifestar em muitas coisas. Talvez você seja um obreiro que se recusa a fazer as devidas pausas. Isso leva ao acúmulo de estresse e é ruim. Talvez você seja um bebedor da Jolt Cola que bebe mais cafeína do que deveria quando o estresse aumenta. Isso é ruim para sua saúde e piora sua resposta ao estresse. Você precisa conhecer seus limites, saber o que desencadeia suas respostas específicas ao estresse e, mais importante, saber como aliviar essa resposta ao estresse. Lidar com colegas de trabalho ou colegas não é apropriado e só servirá para aumentar o estresse.
  6. Falta de habilidade de comunicação : frequentemente não falamos a mesma língua, e não estou falando de inglês, alemão ou indiano. Estamos usando as mesmas palavras, mas não estamos dizendo as mesmas coisas. As pessoas precisam ser específicas e abertas sobre coisas que não entendem. Mesmo se você acha que entende, não faz mal para esclarecer. Lembre-se de que uma métrica de negócios pode significar algo diferente para diferentes departamentos em uma organização.
  7. Sangramento de limites : Mantenha o trabalho no trabalho e em casa em casa. Só porque seu filho de 7 anos está deixando os sapatos no meio do chão e não limpando depois do café da manhã não significa que você precise mastigar a Tiffany de contabilizar uma nova porque ela não lhe deu a planilha de requisitos de cobrança . A mesma coisa, só porque a Tiffany está perdendo tempo com a planilha, não significa que sua esposa merece ser maltratada na sua casa. (a pobre Tiffany também não merece esse tratamento)
por 09.05.2011 / 23:30
fonte
17

Eu acho que o maior estressor para qualquer programador é uma falta de confiança .

Sim, muitas reuniões (certamente não são reuniões em si) são desnecessárias, mas há muito que eu, como programador, posso fazer a respeito. Se tenho de frequentar regularmente reuniões que - na minha opinião - não são necessárias, é minha responsabilidade levantar-me e dizer "não é necessário estar nessa reunião - posso gastar o meu tempo de forma mais produtiva".

O mesmo vale para interrupções: Sim, isso é um aborrecimento. Eu já vi isso em algumas empresas. No entanto, muitas vezes, mais uma vez, há várias coisas que podem ser feitas. Um programador não precisa verificar sua conta de e-mail a cada cinco minutos e responder a todos os e-mails instantaneamente. Da mesma forma, se eu não quiser ser incomodado por um certo período de tempo, eu desligo meu mensageiro instantâneo e envio meu telefone.

Estes são apenas dois exemplos - há muito mais. Sim, às vezes as coisas ficam difíceis. Mas na maioria das vezes, os problemas que estamos falando podem ser resolvidos facilmente com um pouco mais de confiança. Diga às pessoas do outro lado do circuito de comunicação "sim, eu ouvi você e recebi sua mensagem, mas vou falar sobre isso mais tarde".

Os maiores problemas são aqueles que estamos criando! ; -)

    
por 09.05.2011 / 16:30
fonte
12

bugs de componentes de terceiros

Pode ser extremamente estressante quando você recebe uma atualização sobre algum componente de terceiros que quebra alguma coisa. Você não tem o código-fonte para depurar ou modificar, mas se o seu sistema depender dele, pode ser bastante aterrorizante. Indo em uma manhã para descobrir que seu servidor de controle de origem está realizando inesperadamente e você pode perder 2 semanas de check-ins pode fornecer um pouco de estresse. Esta é basicamente a ideia de uma camada de abstração gotejante, quando você não está preparado para isso. Dê uma olhada nos tickets de bug abertos em qualquer tecnologia de pilha da Microsoft e os comentários certamente darão evidência dessa variedade de estresse.

    
por 20.12.2011 / 09:38
fonte
10

expectativas irrealistas. Eu vejo clientes que esperam que possam passar seis semanas de um período de sete semanas para obter o arquivo que você precisa para começar e se perguntar por que ele não é feito no dia seguinte. Eu vi pessoas que esperam poder entregar-lhe uma nova tarefa às 4h30 da sexta-feira e esperar que você gaste todo o seu fim de semana para fazê-lo para apresentação na segunda-feira ao CEO. Eu vi pessoas que te tiram de uma tarefa de alta prioridade para fazer uma segunda tarefa de alta prioridade e depois ficam furiosas porque a primeira delas não é feita a tempo. Todas essas coisas são estressantes mesmo quando você fez o melhor para explicar claramente, desde o início, por que a expectativa delas é irrealista.

Falta de habilidade para ler mentes. (Eu vou fazer uma fortuna de eu inventar aquele módulo de leitura de mente.) É estressante descobrir em testes com usuários que o que eles disseram que eles queriam não era o que eles realmente queriam.

    
por 20.12.2011 / 09:39
fonte
8

Muitas dessas respostas fornecidas são ótimas, especialmente as tensões listadas por Joel e aquelas relacionadas à perda de dinheiro e à insistente administração que não entendem o que estão pedindo.

Alguns dos principais problemas que eu encontro vêm de

  • Inheriting Spaghetti Code

    • Eu tive algumas experiências insanas em que a roda certamente precisava reinventar. Imagine ser contratado depois que outro desenvolvedor tivesse construído sozinho uma base de código por mais ou menos um ano, para descobrir que eles não faziam ideia do que estavam fazendo, falharam miseravelmente e foram demitidos. Na chegada, você é informado de que seu trabalho é "fazer isso funcionar". Claro que há cerca de uma linha de notas por 4000 linhas de código. Extrema falta de modularidade e pouca ou nenhuma direção. No topo de tudo, tudo está muito além de ter nomes 'peculiares' (que são compreensíveis e às vezes grandes imitações) em um simples 'bem-estar'
    • Você deveria ter dois sub pontos: P (o código do espaguete é ruim, ok?)
  • Existe um erro. Você CONHECE pelo fato absoluto de que tem ser o tipo que envolve uma ou duas pequenas mudanças de caracteres. O prazo é amanhã, você tem 3 recursos para terminar. Este bug leva 5 horas para ser encontrado e você não pode ignorá-lo. (Ouch lol.

  • Tentando explicar o anterior

  • Estar preso em uma mesa devido a restrições de negócios, enquanto se você pudesse simplesmente ir dar uma caminhada de uma hora em um parque e voltar, você teria um código dourado esperando para saltar da ponta dos seus dedos. Meu pior pessoal, eu tenho que ver algumas árvores e céu se você quer que eu faça um bom código e progresso rápido. Pelo menos metade da programação é uma arte depois de tudo. Encontre inspiração.

  • Não ficar preso em uma mesa quando você tiver que ir para casa por causa de restrições comerciais e não conseguir trabalhar apenas 20 das suas horas hoje enquanto estiver na zona. Às vezes eu clico com o que estou fazendo e se eu não consigo puxar uma noite inteira então , não é a mesma coisa no dia seguinte ... Eu vou lembrar a maior parte disso, mas vai leve três vezes mais para abaixá-lo e não seja tão bom assim mesmo.

  • Às vezes café / outros consumíveis torna pior e meu cérebro só não vai ouvir a minha mente como eu quero. =)

  • intervalos de 15 minutos. Apenas o suficiente para me jogar fora, não o suficiente para fazer o cérebro fresco. Boooooo.

  • Houve momentos em que eu escolhi uma nova biblioteca ou..piori..uma nova estrutura. Esta foi uma das tarefas mais surpreendentemente estressantes que encontrei. Quando vai para a direita ou até mesmo ok, é adorável. De vez em quando quando vai mal ... oh garoto. Você pode se sentar lá tentando testar infinitos estilos diferentes e colocar sua cabeça tão cheia de interfaces demais que partes da minha mente começam a desligar e dizer "não, não ... eu não farei isso. Demasiado ruim, vá embora. " Apenas para ser forçado a vencê-los. Le suspirar.

  • O tipo incorreto de erros do vinculador. Não sei como descrevê-los.

  • Importando grandes quantidades de dados de um formato de arquivo irritante para seus objetos. Às vezes isso é muito divertido e muitas vezes acaba com você muito rápido quando não é. Lembro-me de ter trabalhado com esse antigo formato do excel que tinha um terror de escape muito complicado e não documentado. Isso ao lado do fato de que as informações na coluna real que estávamos extraindo estavam cheias de personagens funky, ... ainda me assombra. Eu continuei pensando "aha funciona agora !! ....! ............ oh ... nevermind .."

por 09.05.2011 / 21:25
fonte
6

Acho que muito do estresse é resultado das seguintes premissas:

  1. Bons programadores costumam ser pessoas que podem realizar tarefas que não são de programação (suporte à produção / solução de problemas, documentação, respondendo perguntas da empresa ou de outros membros da equipe, oferecendo opiniões técnicas sobre direções futuras) com mais eficiência.
  2. A programação é uma atividade que é melhor realizada em longos períodos ininterruptos.
  3. Entendimento da premissa # 1 > > Compreensão da Premissa # 2.

Como resultado, os programadores são frequentemente chamados a fazer várias coisas diferentes, o que corrói sua produtividade e qualidade de trabalho em suas embarcações escolhidas. O gerente que faz esse chamado vê isso como uma "vitória", porque o problema agudo foi resolvido de maneira rápida e eficiente, e o custo não é imediatamente aparente.

Existem algumas estratégias para gerenciá-lo, com várias vantagens e desvantagens.

  1. Gerenciamento do tempo - dedique parte do seu dia à programação, e outra parte do seu dia a outro trabalho, e seja disciplinado sobre isso. Uma desvantagem disso é que eu acabei deixando o trabalho de não programação ocupar todo o meu tempo de 8-5, e fiz meu trabalho de programação à noite, o que é ruim para o equilíbrio entre trabalho e vida pessoal.
  2. Educação - É onde pessoas como Joel estão fazendo o trabalho de um homem - divulgando que o custo de uma interrupção de 15 minutos pode ser muito maior do que 15 minutos. (por exemplo, link )
  3. Desenvolvimento de equipe, documentação - Garanta que você não seja a única fonte de conhecimento para peças críticas da tecnologia de sua empresa.
  4. Personalidade desagradável - estou apenas meio brincando. Se você desenvolver a reputação de reagir com interrupções, as pessoas tenderão a encontrar outras maneiras de fazer algo. É melhor que você seja muito bom para conseguir isso.
por 09.05.2011 / 19:59
fonte
6

O principal estressor que encontro é o que eu gosto de chamar de " Síndrome de Mort ". Basicamente, é a atitude de alguns desenvolvedores de que a mediocridade é boa, e não há necessidade de melhorar ou fazer as coisas de maneira diferente, nunca. Como alguém que passa tempo fora do trabalho lendo blogs e livros, ouvindo podcasts e assistindo a vídeos de melhores maneiras de fazer as coisas profissionalmente, acho que isso realmente me estressa, porque 95% do tempo eu sou a única pessoa na equipe , se não em toda a empresa, quem entende por que, por exemplo, escrever testes unitários é bom ou porque é ruim ter milhares de linhas de código em uma única classe (ou classes que fazem meia dúzia de coisas diferentes) e tentar educar meus colegas de trabalho resulta em qualquer aparência em branco, desculpas de "Nós não temos tempo para consertar isso", "Nós nunca vamos usar porque nunca usamos isso antes." ou "Não é assim que fazemos as coisas", ou, no pior dos casos, me mostrando a porta e demitido por tentar mudar as coisas para melhor.

    
por 12.05.2011 / 18:26
fonte
4

Seria difícil obter uma resposta geral para essa pergunta. As pessoas prosperam sob condições diferentes.

  1. muito trabalho em pouco tempo
  2. muito pouco feedback dos usuários
  3. cultura da culpa
  4. falta de clima de confiança.
Eu acho que o trabalho é a menor causa de estresse para a maioria das pessoas, não para os programadores em particular. São os itens estranhos, como cultura da empresa, atmosfera unitária, problemas de comunicação que causam mais estresse para a maioria das pessoas. Não é que eles não possam lidar com o trabalho; é que eles não podem lidar com a atmosfera da cozinha, se quiserem.

Uma discussão mais útil pode centrar-se mais em soluções para esses problemas.

    
por 09.05.2011 / 16:35
fonte
4

"Outras tarefas atribuídas".

Eu tive que atender telefones. Eu tive que trabalhar no armazém. Eu tive que fazer inventário. Eu estive em reuniões de empresa durante todo o dia. Eu mesmo tive que sair e fazer manutenção limitada no gramado.

Eu não sei se vou aceitar outro trabalho que tenha isso como parte da descrição.

    
por 09.05.2011 / 18:46
fonte
2

Gestão deficiente. Eu não posso contar quantas histórias eu experimentei ou vi de gerentes (especialmente gerentes seniores e pessoas da alta empresa) tomando decisões ultrajantes sem consultar ninguém que realmente sabe alguma coisa sobre a área que eles decidiram, ou eles não consultam notas de reuniões anteriores antes de avançar na direção oposta como foi decidido.

    
por 12.05.2011 / 18:38
fonte