Quão ruim pode ser a falta de trabalho em equipe quando você é programador? [fechadas]


17

Ainda estou na escola e sei que tenho problemas para lidar com outras pessoas.

Não sou zangado, tímido ou diferente, só gosto de trabalhar do meu jeito e com minhas opiniões respeitando as dos outros, tenho uma grande curiosidade e desejo de conhecimento, mas falta prática e acho que as pessoas não querem trabalhar comigo porque eles podem temer que eu fale algum tipo de moral. (Por exemplo, comecei a aprender programação usando linux em vez de janelas, mesmo que eu use muito o Windows. E eu tenho um Mac).

O que acontece com os programadores que não têm trabalho em equipe? Onde os problemas começam? Ser um bom programador compensa pelo menos um pouco? É normal que um programador tenha uma visão sobre seu trabalho, em vez de apenas fazer o que lhe é dito?


17
Não existe uma profissão no mundo de hoje em que as habilidades de comunicação e trabalho em equipe não sejam valorizadas.
Fanatic23

2
Ser capaz de admitir que você tem um problema é o primeiro passo para resolvê-lo e esse é um bom problema para perceber que você tem antes que seja tarde demais!
Chris

Respostas:


16

Seu comportamento é bastante comum na sua idade. Eu era como você.

A boa notícia é que, na maioria das vezes, evolui na boa direção. Você aprenderá como se integrar a uma equipe. Você vai adorar! Mas eu conheci algumas pessoas que não conseguiram e agora estão presas é depressão.

Dependendo do estilo de gerenciamento da sua empresa, você será rejeitado pela sua equipe ou simplesmente demitido após um tempo. Então você deve estar preparado para enfrentar algumas dificuldades.

O estilo mais comum de administração da França é baseado no medo e na punição. Esta não é uma boa notícia para você, pois incentivará seu individualismo. Por isso, incentivará seu comportamento.

Dito isso, você já sabe que há um problema com você, por isso é uma boa indicação de que você tem tudo o que precisa para evoluir sem ajuda externa. O primeiro passo é estar ciente. O segundo, o mais difícil, está agindo sobre ele.


1
Decidi não usar negrito nesta resposta porque gosto de Steven.

15

Depende do que o trabalho exige. Às vezes, você nem terá uma equipe para determinadas tarefas. Mas na maioria das vezes, você terá um gerente.

Além disso, ter uma equipe realmente ajuda a lembrá-lo de vez em quando de que você escreve código porcaria. :

Como desenvolvedor de software, você é seu pior inimigo. Quanto mais cedo você perceber isso, melhor será. - Jeff Atwood

O que significa que ter uma equipe facilitará o aprendizado das coisas mais rapidamente! Ser solitário fará de você um eremita;)


2
+1 Excelente para ser lembrado. Desenvolvedores únicos ficam presos em um barranco e esquecem que eles não são realmente fantásticos.
Orbling 29/11/10

15

O que acontece com os programadores que não têm trabalho em equipe?

Então fica difícil trabalhar em projetos grandes demais para um único programador. Difícil para o programador solo e difícil para o resto da equipe.

Onde os problemas começam?

Todos os tipos de lugares. Atualmente, temos um único programador que trabalha mal como parte de uma equipe. Ele tende a fazer atalhos que têm efeitos negativos no restante do aplicativo, porque ele está focado demais na correção do bug à sua frente. Ou escrevendo o novo recurso de forma que ele não seja compatível com o restante do aplicativo. Temos que reorganizar as coisas para que cada check-in de código seja revisado pelo restante da equipe. Mas, para não destacá-lo, também analisamos as verificações de código de todos os outros, assim, junto com a reunião do status da manhã, não fazemos nenhum trabalho até depois do almoço. Portanto, em nosso escritório, isso significa que quatro pessoas estão perdendo um dia e meio de trabalho todos os dias porque um cara é péssimo no trabalho em equipe. Não posso dizer que é uma melhoria em relação às aventuras anteriores, porque poderíamos perder aleatoriamente um dia a uma semana (geralmente perseguindo novos bugs) de seus check-ins que quebram coisas (chamamos de "obstáculos"). Algumas das correções em seu código acabam limpando meia dúzia de bugs devido ao quão confusa e confusa o aplicativo é (minha recomendação pararemova-o da órbita e comece novamente, porque essa é a única maneira de garantir que não seja aceita).

Quando estamos de bom humor, o chamamos de "programador de cabeça para baixo", ele tende a olhar para o teclado e digitar bem rápido. Ele não presta atenção no que os outros estão fazendo.

Ser um bom programador compensa pelo menos um pouco?

Não. A maioria dos programadores que são maus jogadores de equipes tem uma opinião muito alta de suas próprias habilidades, e isso é chamado de efeito Dunning-Kruger . PDF de papel.

Talvez: o programador solo precisaria ser muito melhor que o resto do time. Mas isso significa apenas que ninguém mais pode manter o que ele faz; e quando isso acontece, provavelmente significa que o programador solo não é realmente muito melhor que o resto do time - ele (e quase sempre é um cara) é melhor em enganar a todos.

No desenvolvimento de software comercial, a empresa estará presente por muito tempo depois que você sair. Provavelmente, os programas foram escritos antes de você iniciar e serão mantidos muito depois que você for embora. Se você escreve coisas que são tão especiais e surpreendentes que ninguém mais as entende, acaba na situação em que a Naughty Dog está - seu principal desenvolvedor parou, ninguém mais entende a linguagem de programação proprietária que o cara escreveu (e escreveu coisas), então agora eles precisam mudar tudo para C ++.

É normal que um programador tenha uma visão sobre seu trabalho, em vez de apenas fazer o que lhe é dito?

É comum - como um engarrafamento ou diabetes. Eu não chamaria isso de normal. No mundo corporativo, há muitas outras coisas a considerar; o ego forte que muitos desenvolvedores normalmente fazem o desenvolvedor pensar que nada mais importa. Essa "falta de adequação" e falta de consideração para o resto dos negócios é o motivo pelo qual muitos tipos de gerentes chegam à conclusão de que é difícil trabalhar com desenvolvedores de software.


Sim, eu já pensei sobre esse efeito sem saber que tinha algum tipo de nome sobre algum cientista. Nesse ponto, você nunca sabe se é um gênio dúbio ou uma pessoa estúpida e arrogante. Mas não acho que sou arrogante, mas, ao pensar que há muita confusão e estupidez neste mundo, não sei se isso significa ser arrogante. Só sei que não declaro expressamente estar certo, pelo menos expresso as coisas por perguntas, para que as pessoas possam expressar seus pensamentos. Quando me dizem que a lista vinculada é o melhor tipo de estrutura de dados, sou cético, mas não arrogante.
Jokoon

É um pouco difícil chamar as revisões de código como uma perda de tempo.
JFS

5

É uma habilidade aprendida. Você pode aprender agora (simplesmente tentando trabalhar com outras pessoas) ou aprender da maneira mais difícil, no trabalho. (Eu sugiro o primeiro.)

Se você não pode trabalhar com outras pessoas, não pode criar grandes sistemas. Você também não pode trabalhar com pessoas mais inteligentes que você, o que significa que não pode aprender tanto ou tão rapidamente.


3

Ser um bom programador compensará um pouco, mas apenas um pouco. Em dezesseis anos na indústria, todos os melhores programadores com quem trabalhei puderam se relacionar com as pessoas - pode não ter sido natural para elas, mas elas conseguiram e foi uma habilidade absolutamente essencial. Aqueles que não podiam eram tolerados, mas, honestamente, não muito mais.

Para mim, a principal área em que a capacidade de trabalhar com outras pessoas entra em cena é com usuários e analistas. Não importa o quão bem você possa codificar se estiver codificando a coisa errada e um bom relacionamento de trabalho com as pessoas que estão definindo o produto é a chave para isso.

O primeiro passo pode ser entender um pouco mais sobre você. Você diz que está feliz em respeitar as opiniões dos outros, mas isso é realmente verdade? Se é então, por que você sugere que está propenso a assumir posições morais sobre questões (que tendem a ser o oposto de respeitar as opiniões dos outros)?

Geralmente, se relacionar com os outros tende a ignorar quem está certo e quem está errado (que acredita ou não é irrelevante em 80% das situações) e se concentrar em fazer o que quer que avance no projeto.


3

Hoje, o desenvolvimento profissional de software é principalmente um esforço de equipe. O melhor software é produzido por meio do compartilhamento de novas idéias e alta colaboração, e não por mexer com você mesmo. O ideal do codificador de cowboy é um impedimento conhecido para as equipes. De fato, é por definição o completo oposto do trabalho em equipe.

Então, sim, ter poucas habilidades de equipe em um ambiente de equipe é muito ruim. Mas se você estiver honestamente disposto a trabalhar com ele, não há motivo para não ser um grande colaborador da equipe (com excelentes habilidades de codificação para inicializar)!


3

Outros já cobriram a maior parte do que eu ia dizer, então acrescentarei: apenas porque você tem uma opinião ou uma visão não significa que você está certo ou que sua abordagem é a melhor. Você pode aprender muito com os outros se abrir sua mente para a possibilidade de que eles também tenham uma opinião e / ou visão.

O trabalho em equipe consiste em reunir todas essas opiniões em algo que se baseia na experiência coletiva das pessoas envolvidas e soluciona falhas que uma única pessoa pode não ter considerado.

Essa foi uma das primeiras lições que aprendi no trabalho e me tornei um programador melhor depois disso.


2

Se você não pode colaborar com os outros e você não é um gênio estelar de codificação, você basicamente se bloqueia por trabalhar em qualquer projeto não trivial, porque, para isso, você quer uma equipe, se nada menos do que diminuir o fator de barramento.

Se você simplesmente não gosta de contato físico, mas trabalha bem com teletrabalho ou em listas de distribuição de código aberto, terá que se especializar nessas habilidades, permitindo trabalhar dessa maneira.


2

Infelizmente, isso pode ser um pouco problemático, pois é raro trabalhar em grandes projetos e não precisar trabalhar em equipe. Mesmo que você trabalhe no projeto de forma interdependente, geralmente descobrirá que precisa trabalhar mais próximo dos usuários finais, que voltam ao trabalho em equipe, por isso é algo muito importante.

Dito isto, porém, como outros já apontaram, essa é uma habilidade que pode ser aprendida (até certo ponto) e se você se esforçar. Geralmente, existem alguns cursos que você pode fazer aqui nos Estados Unidos em cidades maiores para desenvolver habilidades de liderança; no entanto, parte de ser um bom líder também é ser um bom seguidor, para que essas habilidades sejam desenvolvidas também. Da mesma forma, ser capaz de se comunicar efetivamente em público às vezes é uma habilidade com a qual as pessoas precisam praticar e está relacionada às habilidades de trabalho em equipe, mas às vezes é esquecido - alguém que não consegue se comunicar com eficácia pode ser citado como não sendo um "jogador de equipe", embora só precisam trabalhar um pouco suas habilidades de comunicação.

No entanto, uma grande parte do trabalho com uma equipe é conhecer a si mesmo até certo ponto e sentir-se confortável consigo mesmo e com os outros, e às vezes não custa falar com um psicólogo ou conselheiro para ver se há algo que você possa melhorar. no que diz respeito a trabalhar com os outros.

No que diz respeito à sua carreira como um todo, aqui nos Estados Unidos, ter a reputação de "ser difícil trabalhar" ou "não fazer parte de um time" pode ser extremamente prejudicial para suas perspectivas de carreira a longo prazo e eu arriscaria um palpite. que seria o mesmo na maioria dos outros países. Essa também é uma reputação difícil de abalar, uma vez estabelecida, sem mudar para outra empresa ou possivelmente para outro setor, dependendo do campo em que você trabalha.


2

Como você é um bom aluno, há mais uma coisa que você deve aprender, que algumas pessoas já sabem.

  • Todo mundo é diferente e todos são valiosos.

Há momentos para ser independente, e há momentos para se reunir. Ambos são importantes.

Como você está na escola, pode exercitar sua curiosidade e procurar maneiras novas e diferentes de fazer as coisas. Isso é uma coisa boa.

Ao trabalhar com uma equipe de software, você pode contribuir com suas boas idéias. Alguns serão aceitos. Alguns não. Então todos vocês "encostam o ombro no volante" e terminam o trabalho. Isso também é uma coisa boa.

Minha experiência em projetos é que há um moral de grupo baixo no início, quando as pessoas ainda estão tentando focar o cenário geral. Então o moral aumenta constantemente à medida que se avança em direção à meta. No final, é muito alto quando seu "bebê" chega a "nascer". Isso é algo que você não quer perder.


+1 No final, é muito alto quando seu "bebê" chega a "nascer". - No meu último projeto, eu estava me sentindo exatamente assim :-).
23810 Oliver Weiler

@ Helper: Sim. O que eu não disse é que ele vai voltar para baixo novamente como você iniciar a próxima fase :)
Mike Dunlavey

Mas esses momentos preciosos são a razão de sermos programadores, certo :-)?
Oliver Weiler

2

Eu posso pensar em vários excelentes programadores que são considerados (por muitos) "bastante difíceis de trabalhar":

Nesse setor, acho que uma quantidade razoável de nós espera e assume que a competência e a capacidade de articular nossa competência são críticas. Afinal, vamos trabalhar para realizar algumas tarefas, a fim de ganhar dinheiro, fazer amigos é secundário.

Em algum momento da sua vida, você perceberá uma das duas coisas:

  1. Você está em posição de ser sarcástico, retraído, antissocial, cínico ou rude quanto quiser, porque, apesar do seu comportamento, suas habilidades (e capacidade de articular seu conhecimento) encerram todos os argumentos.

  2. Você é igual a todos os outros e precisa ser capaz de trabalhar em equipe, ao mesmo tempo em que tolera (e escolhe o cérebro) comportamentos maliciosos, retraídos, antissociais, cínicos e rudes de outras pessoas cujas habilidades e proficiência em articular o conhecimento acabam com a maioria dos argumentos.

Se você está questionando isso, acho que vê algum valor em participar agradavelmente em um ambiente de equipe, e talvez "fazer isso apenas por isso" seja uma desculpa boa o suficiente para explorar a possibilidade.

Eu também sou muito parecido com você. Eu odeio interrupções. Levei a maior parte de cinco anos apenas para aprender como não interromper e dispensar pessoas. Também trabalhei em equipes nas quais aprendi mais em um mês do que em um ano sozinho. Não é estranho que você só quer que as pessoas em torno de você quando você tem algo interessante para mostrar ou discutir?

Se você ainda não o viu, assista à exibição do filme " Real Genius ". Preste atenção especial a Lazlo Hollyfeld . Entre em uma equipe com a mente aberta e fique à vontade para pegar emprestado meu pijama.


2

Não há nada errado em ter opiniões fortes sobre como as coisas devem ser. Qualquer grande programador tem muitos deles. No entanto, você precisa se perguntar: por que estou escrevendo este código?

Se é para seu próprio entretenimento e você pode fazer todo o trabalho sozinho, faça o que quiser. No entanto, se você estiver fazendo isso para outras pessoas usarem, ou se precisar de ajuda, ou se espera que outros programadores a mantenham depois que você se cansar, precisará começar a levar em consideração as necessidades e noções de outras pessoas.

Ter uma visão está bem. Mas isso realmente só faz diferença se você puder convencer outras pessoas a compartilhar sua visão. Gates, Jobs e Torvalds conseguiram dar vida a suas visões, fabricando produtos que serviam a muitas pessoas e fazendo com que elas comprassem suas visões. Trabalhar puramente à sua maneira é mais puro e satisfatório, mas tem um custo. Você pode, como disse Voltaire, estar deixando o perfeito ser o inimigo do bem ("Le mieux est l'ennemi du bien").


1

O trabalho em equipe é uma parte importante da engenharia de software. Se você estiver trabalhando sozinho, talvez não se preocupe com o que os outros estão e com o que as pessoas esperam de você. Mas se você estiver trabalhando com outra pessoa, trabalhar em conjunto realmente conta. Quando se trata de software, o que você quer dizer com trabalho em equipe é realmente um ' bem comunicativo '. Apenas respeite seu colega e seja tolerante com todas as idéias. Deve ficar bem.


1

Se você acredita em alguma coisa, diga e fale sério, mas uma vez que se tenha provado errado ou ultrapassado, aceite-o e aprenda com ele. O trabalho em equipe não é concordar o tempo todo, mas ter uma maneira de obter as melhores soluções possíveis na situação e no prazo determinados.


1

Como você está se preparando para entrar no mercado de trabalho, vou apontar outra coisa.

Programadores iniciantes nunca são superestrelas. Você não pode entrar em um emprego pensando que é melhor que todos os outros porque, comprovadamente, não é. Você tem competido com outras pessoas do seu nível, para poder pensar: sou melhor que essas pessoas, preciso ser um grande programador.

Mas alguém recém-saído da escola não sabe o que a pessoa que tem dez anos de experiência profissional sabe. Você ainda não sabe disso. Agora, admito que nem todo mundo com muita experiência também é uma estrela e apenas estar no nível básico não significa que você não possa ser um programador decente. Isso nem significa que você não pode se tornar uma superestrela com menos tempero do que algumas outras pessoas (algumas nunca serão superestrelas, mas tudo bem também).

Mas você não terá credibilidade para implementar suas idéias até que seja algo que não seja a pessoa mais jovem da equipe. Para obter essa credibilidade, você precisa ser um jogador da equipe. Você precisa aprender sobre o domínio comercial e como as empresas operam. Você precisa entender que suas necessidades e desejos pessoais são irrelevantes na maioria dos locais de trabalho. Você será contratado para fazer um trabalho específico e produzir resultados. Até você produzir alguns deles, as pessoas ficarão céticas quanto ao que você sugere, mesmo que você esteja correto. Você tem que caminhar antes de poder falar.


Eu não me importo em ser uma estrela ou não, eu realmente não me importo com isso. Prefiro pensar em mentalidade e em como as pessoas pensam e / ou preferem coisas assim. É mais sobre opiniões e conhecimento do que acontece nesse negócio do que qualquer outra coisa. Não acho que um programador seja melhor que outro porque ele fez suas provas, e acho que as pessoas deveriam apenas tentar desconsiderar esses pontos.
jokoon

Um exemplo: um dia, li um artigo chamado "o lado sombrio do C ++" e decidi colocar alguma unidade de rede no caso de algumas pessoas curiosas decidirem lê-lo. Nosso professor de programação comentou sobre este artigo e considerou que era uma boa leitura. Não importa que eu seja mais valioso do que outros programadores, mas mostra que posso ser uma boa fonte para ensinar outras pessoas que podem não ter a mesma curiosidade que eu.
jokoon

0

Você vai acabar trabalhando sozinho.
Benefícios de trabalhar em equipe:
1- Ajuda interativa: você não ficará preso a um problema por horas / dias.
2- Você aprenderá coisas que não encontrará em livros / tutoriais online, fóruns.
3- Competição: alimentará sua motivação para superar colegas de chá.
4- Discussões: o que é melhor do que horas lendo livros e blogs.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.