Como faço para lidar com um colega lento e não dedicado da equipe? [fechadas]


85

Eu tenho trabalhado em um novo projeto. O projeto funciona da seguinte maneira: O usuário final pode acessar um aplicativo da web usando um link e ele pode adicionar vários sistemas em sua rede e gerenciar os detalhes específicos do sistema. Minha parte envolve o front end e o servidor da web, que é feito em python. Meu python realmente se comunica com outro projeto que é inteiramente feito em c & c ++. O projeto c / c ++ é o aplicativo principal que executa todas as funcionalidades. Meu python envia a solicitação do usuário para ele e exibe a resposta dele para o usuário.

Estou muito familiarizado com o meu trabalho e vou terminar em breve. Desde que não há muito trabalho nele. E eu sou uma pessoa que gosta de trabalhar. Passo a maior parte do tempo no escritório e só vou para casa quando estou com sono.

O aplicativo c / c ++ é gerenciado por outro colega com mais de 5 anos de experiência e pode fazer as coisas muito mais rapidamente do que eu, mas ele nunca faz isso. Pode ser que ele não goste de fazê-lo. Seu aplicativo trava frequentemente quando meu python se comunica com ele ou retorna valores incorretos. Está cheio de insetos. Como meu aplicativo depende disso, estou tendo dificuldades para construí-lo. Em vez de consertar os bugs, ele me pede para desacelerar meu trabalho. Ele me pede para dizer ao gerente que meu trabalho precisa de muito tempo. Ele está me pedindo para enganar o gerente e até me forçando a trabalhar lentamente como ele.

Durante a reunião do projeto, quando o gerente pergunta sobre os bugs, ele diz que corrigiu tudo e funciona bem. Como ele é meu colega, não pude contar nada ao gerente. Obviamente, preciso ter um bom relacionamento com meus colegas mais do que com meu gerente, pois na maioria das vezes estaremos com nossos colegas, não com o gerente.

Não sou capaz de dizer nada ao gerente sobre isso, pois se o gerente perguntar o porquê, ele poderá pensar que eu reclamei com ele ao gerente. E ele continua mentindo na reunião. E, como ele corrige o bug lentamente, ele ainda diminui o meu trabalho. Agora pensei em trabalhar na parte front-end do meu aplicativo e finalizá-lo para que, nesse meio tempo, ele possa tornar seu projeto estável. Agora, ele está me pedindo para dizer ao gerente que minha parte do front-end exige muito trabalho e que posso precisar de mais e mais tempo, simplesmente para que ele possa arrastar o projeto para baixo. E o triste é que nosso gerente atual foi para os EUA, então temos um gerente temporário e esse cara não conhece muito o projeto, então o c, c ++ apenas o engana.

Alguém pode me sugerir como eu lido com isso? Eu queria terminar o projeto em breve. Como posso fazê-lo trabalhar, mantendo um bom relacionamento com ele?

Respostas aos comentários:

Se ele está realmente enganando deliberadamente a empresa, você deve denunciá-lo à gerência.

Eu sou novo nesta empresa e o outro cara está lá há muitos anos. E eu apenas comecei a conhecer meus colegas. Se eu for diretamente reclamar com ele, acho que não posso fazer um bom relacionamento com meus outros colegas. Até ele tem o poder de enganá-los. Não estou dizendo que ele é um cara mau, ele pode fazer o trabalho, mas ele não está fazendo.

Sua empresa não possui nenhum tipo de sistema de rastreamento de bugs?

Aqui, o sistema de rastreamento de bugs não existe. A empresa tenta finalizar o projeto o mais rápido possível e o entrega ao controle de qualidade. E, em seguida, corrige os erros relatados pelo controle de qualidade.

É por isso que as empresas devem oferecer aos funcionários ações / opções ou algum tipo de propriedade. Dessa forma, você pode literalmente dizer ao sujeito: "Você está me custando crescimento monetário ... não quer ganhar dinheiro também?".

A empresa tem as opções de ações que me deram em 2500 ações, principalmente ele também teria um pouco mais.

A antiguidade merece algum benefício de uma dúvida. Você realmente precisa falar com ele primeiro e tentar entender o problema. Ele pode estar fora de sua profundidade, você pode ajudá-lo, pode haver facilmente variáveis ​​que você não conhece. Pode ser difícil agora, mas você pode facilmente tornar a situação muito pior ao pular a arma.

Eu até faço isso, primeiro o aplicativo não estava lidando com várias solicitações ao mesmo tempo, ele estava usando uma fila para lidar com as solicitações que enviei a ele. Eu até sugeri a ele algumas das minhas idéias sobre isso. Ele disse que já tinha essas idéias e as executará. Suas explicações foram: "Tudo exige um certo tempo para fazer e este é um projeto que pode levar dois anos para ser concluído e é-nos solicitado que o concluamos em dois meses". Eu costumava ter dificuldade em codificar durante as primeiras semanas por causa desse bug. Mas agora ele consertou. Mas ele está usando uma fila única para solicitações de um usuário e agora está desacelerando o aplicativo, pois ele processa uma solicitação de cada vez.

O que o controle de qualidade está fazendo isso o tempo todo? Por que eles não estão relatando / confirmando o status do (s) projeto (s)?

O gerente é a pessoa que decide quando dar o controle de qualidade. Até agora, ainda não foi entregue ao controle de qualidade. Ele disse que deveríamos dar até o final deste mês.


6
Como você sabe que o cara do C ++ é mais rápido que você? Ele poderia ser naturalmente lento.
Job

3
Comentadores: os comentários são para obter esclarecimentos sobre a questão e para vincular a recursos relacionados. Se você concorda com uma das respostas abaixo, faça um voto positivo. Se você tiver uma resposta melhor, deixe-a como resposta: não a deixe como comentário. Se você quiser discutir o tópico desta pergunta com outras pessoas, use o bate-papo .

1
@ Job Há uma suposição de que antiguidade significa melhor codificador, o que nem sempre é o caso.
Rudolf Olah

Respostas:


126

Você está em uma situação ruim, eu não gostaria de estar no seu lugar. É improvável que você possa resolvê-lo sem entrar em conflito com seu colega.

Isto é o que eu faria:

  • Não se torne seu parceiro no crime. Recuse-se a mentir sobre o status do seu projeto ou dele.

  • Implemente (no seu tempo livre, se necessário) o relatório de erros para o seu aplicativo, para que todos os erros sejam enviados por email aos seus colegas de trabalho e ao seu gerente. Se o bug for causado pelo aplicativo, torne-o visível no email (coloque [XYZ APP BUG] no assunto do email ou algo assim).

  • Manter um banco de dados de bugs (além de enviar bugs por email). Você pode dizer que seu objetivo principal é rastrear seus erros, quando na verdade você estará rastreando principalmente os erros dele . Entre outras coisas, ele deve rastrear quanto tempo leva para corrigir um bug específico.

  • Tenha toda a comunicação entre processos com o aplicativo dele coberta com testes (estilo "quando lhe enviei isso, você deve me devolver esse"). Você pode configurar uma tarefa cron que execute esses testes todos os dias e, se eles falharem, o email será enviado a todos.

Basicamente, tente não perder tempo discutindo com ele sobre bugs e concentre-se no seu trabalho. Se o aplicativo dele estiver quebrado e, portanto, você não puder trabalhar no aplicativo, o gerente não fará nada com ele - bem, isso é um problema de gerenciamento e você estará coberto com banco de dados de erros, e-mails e relatórios de teste.

No entanto, cuidado e não o subestime. Preguiçoso de longa data como ele pode ter um truque ou dois na manga. Ele pode virar a equipe inteira contra você ou algo assim, mas isso depende da sua situação específica e está meio fora do escopo desta questão.


45
+1 para enfatizar que o questionador nunca deve mentir sobre o status do seu projeto.
Eric Hydrick

6
Eu ia sugerir um golpe de gado, mas as sugestões de Lukas são melhores!
22811 Russ Clarke

9
+1 em 'cuidado e não o subestime. Um preguiçoso de longa data como ele pode ter um truque ou dois na manga. Ele realmente deve ter ...
amyassin

3
@ Brian, acredito que essas soluções técnicas podem resolver o problema de relacionamento. Observe que o colega tem 5 anos de experiência e é desenvolvedor supostamente capaz. Ashin, por outro lado, é um novato, então ele não tem muita influência. Nesse caso, é melhor se ater a fatos concretos do que falar sobre o problema com colegas e possivelmente com o gerente. Se é palavra contra palavra, o gerente provavelmente vai confiar o colega - ou não, mas ele não pode dar ao luxo de perturbá-lo de qualquer maneira, porque ele pode ser valioso para empresa (manutenção de sistemas legados etc.)
Lukas Stejskal

3
Para adicionar ao ponto de intercomunicação, falsifique também o sistema externo (c / c ++). Você tem o seu projeto, ele tem o dele, então não deixe que o projeto dele ainda não esteja terminando o seu. Falsifique os resultados esperados do serviço dele para o seu aplicativo e escreva um teste que compare os dois. Acredito que Martin Fowler tenha um bom artigo sobre essa prática, e posso definitivamente recomendá-lo.
Cthulhu

128

Vou apresentar uma visão um pouco controversa: você diz que está trabalhando quantas horas puder ficar acordado. Então, talvez ele não esteja sendo particularmente injusto em dizer "você está me deixando mal e eu estou trabalhando quantas horas eu quiser". Talvez ele tenha estado lá e feito isso e talvez ele tenha se esgotado. Prometo que sim, se continuar assim.

Saia para tomar uma bebida com ele uma noite e veja se não consegue construir um relacionamento pessoal melhor para basear seu profissional. Talvez por ele concordar em colocar um pouco mais e por você concordar em colocar um pouco menos, vocês dois possam trabalhar juntos muito melhor.

Se eu fosse você, também teria muito cuidado com toda essa atitude "meu trabalho, seu trabalho". Entre vocês, você tem um produto para divulgar e isso não pode ser bom para esse produto, o que, por sua vez, não é bom para a empresa ou para o cliente, e eles pagam para que ambos trabalhem .

No entanto, ainda concordo com os outros pontos de vista de que você precisa revisitar a importância de seu relacionamento com seu gerente e precisa ter cuidado ao confiar em seu colega. Só estou dizendo que talvez, apenas talvez, você precise considerar suas próprias ações e as dele.


44
Concordo que trabalhar até ficar com sono é contraproducente. Ninguém deve trabalhar mais de 40 horas, a menos que seja um momento crítico e certamente não regularmente.
HLGEM

36
Considere que, se você trabalha 12 horas e ele trabalha 7, e não pode avançar se ele não avançar, pode ser que você acabe parecendo mal . Afinal, você precisava de 12 horas para fazer o que o cara fez em 7! Então, talvez, em vez de você diminuir a velocidade ou ele acelerar, você deve pedir um projeto extra para passar as horas extras, enquanto espera que ele faça sua parte. Certamente há outras coisas que você poderia estar fazendo / aprendendo / documentando?
Konerak

4
Este é um ótimo conselho para o ashin. É claro que ele pode se defender com bons testes de unidade, boa documentação, coisas do tipo CYA, mas como seres humanos, estamos nisso juntos. Estique e encontre uma maneira de abordar seu colega - trabalhe com ele e não com ele. Não seja tão estreito com "seu" e "meu" se não precisar traçar essa linha. Pode impedir resolver isso entre vocês. Você precisará aprender a ser aberto e flexível; portanto, por que não fazê-lo quando não estiver sobrecarregado e verificar se consegue fazer isso funcionar sem o envolvimento do gerente. Isso certamente será notado sem você dizer uma palavra.
bmike

9
+1 para srs. Sei que o formato é responder à pergunta que foi feita, mas todo mundo parece realmente feliz em falar mal da parte B depois de ouvir um lado de uma história que envolve pelo menos três pessoas. Talvez o nível de produção do partido B tenha sido completamente satisfatório e esteja alinhado com o nível de remuneração dele durante anos, até que um cara novo que goste de permanecer no escritório 12 horas e falar sobre como todo mundo não dedicado é mostrado?
Afixe

15
@Ashin: Sério, eu entendo esse desejo no início da carreira e não estou tentando anulá-lo. Mas eu aviso que, eventualmente, leva ao esgotamento e isso não é algo agradável de se passar. Mesmo se você gastar seu tempo livre em projetos pessoais, isso ajudará. Mas alguém me disse, quando comecei esta carreira, que precisava de alguns hobbies fora da codificação. Eu ri e o despedi - por que eu iria querer fazer isso? E eu paguei por isso mais tarde.
Pd

40

Manter registros. Documente todos os erros que você receber ao se comunicar com o lado dele, quando você pediu para ele corrigir e quando (se alguma vez) ele fez. Essa é a única maneira que conheço de lidar com esta situação. Portanto, quando seu gerente perguntar a você por que as coisas não estão progredindo, você poderá mostrar claramente sem ser visto como um chorão ou um colega ruim.


5
Os registros de email são especialmente úteis para isso. Sempre acompanho todos os contratos com um e-mail e sempre notifico quando termino via e-mail.
Pelshoff 16/08/19

5
@Elshoff - absolutamente. Mesmo que todas as pessoas estejam em um quarto individual, envie um email documentando suas solicitações e acompanhamentos com cc ao gerente.
Otávio Décio

16
Ele pediu para você não informar o gerente na frente do gerente? Se ele perguntar pessoalmente, diga a ele que você fará isso depois de limpá-lo com o gerente. Outra coisa - NUNCA dê a menor impressão de que está reclamando. Sempre exprima-o de uma maneira que mostre simplesmente os fatos, nada mais, nada menos.
Otávio Décio

3
O problema é que você, como funcionário, tem a responsabilidade de fazer com que a empresa tenha sucesso. E se a empresa obtiver sucesso, isso significa que você obtém sucesso (aumento, bônus, benefícios). Essa pessoa está prejudicando a empresa e, portanto, indiretamente, prejudicando você. Levante-se para a empresa e você mesmo :)
Pelshoff

3
@ Ashin: Ele pode pedir para você não ligar para o gerente, mas isso não significa que você deve cumprir. Ele tem alguma autoridade para fazer alguma coisa se você continuar controlando o gerente? Além disso, você pode usar o recurso BCC para que ele não saiba que o gerente foi controlado por CC.
FrustratedWithFormsDesigner

34

Eu gostaria de apontar outra possibilidade que não foi levantada. Você diz que ele quer que você diminua o seu trabalho. Você quer dizer literalmente que ele está dizendo "trabalhe menos horas" ou que ele está dizendo "escreva alguns testes, teste mais isso, escreva alguma documentação" e outras coisas que você acha que o atrasarão? Vi pessoas novas escrevendo código durante 16 horas por dia e depois reclamando de bugs no código que estão chamando quando, na verdade, passam parâmetros inválidos, não estão verificando valores de retorno e assim por diante. Não posso descartar que seu colega de trabalho esteja pensando nessas coisas.

Na próxima vez em que você estiver em uma reunião e ele disser que todo o código está bom, diga "oh, bom, a coisa que eu contei há uma hora atrás, onde ela explode quando ligo para XYZ com uma data que não é um dia útil, está consertado agora? " Uma das três coisas acontecerá:

  • Ele mentirá e dirá que não há esse problema; você dirá "existe! Nós discutimos! Enviei um e-mail a você!" e tudo vai chamar a atenção de um gerente
  • Ele lhe dirá que, de fato, isso não é um bug no código dele, é um bug no seu código, porque você só deve passar dias úteis e logo descobrirá o que ele está pensando, mas não está dizendo.
  • Ele dirá "não, aquele com quem você acabou de me falar vou lidar hoje, mas todo o resto é bom". Se ele disser isso, agradeça-o por enquanto.

Você pode aprender que seus longos dias de codificação rápida não estão produzindo um bom código, e alguém (talvez seu gerente) pode traduzir para o outro desenvolvedor explicar a você qual é o problema. Ou então, você pode aprender que está trabalhando com uma cobra mentirosa que fará com que você pareça mal para proteger sua posição confortável. Trazer as coisas à tona não pode realmente piorar as coisas. Ou, você pode obter movimentos suficientes dele para aguentar, sem se envolver na política.


1
Sim, durante a minha fase inicial, ele costumava dizer que o erro é que eu não passei os argumentos corretos. E então eu criei um log em python que registrará uma informação antes e depois de chamar seus métodos. E registrarei os argumentos que passei e o status de retorno que recebi. E quando novamente ele me disse isso. Eu mostrei a ele meu arquivo de log e, assim, ele começou a consertar seus erros, um por um. Mas o triste é que ele sabia muito bem, pode ser que ele pense em corrigi-lo mais tarde, ou talvez ele não esteja testando. ele está apenas dando seus métodos.
HOT

32

O que você tem é um problema político. Primeiro, a opinião do seu gerente é muito, muito mais importante do que você pensa. Esse cara está culpando você pelos atrasos e você está deixando. Você é quem será demitido se alguém for jogado sob o ônibus. Tanto quanto o gerente sabe, é você quem é incapaz de fazer o trabalho em tempo hábil.

Proteja-se da maneira que puder, através de rastreamento de bugs, e-mails, etc., mas NÃO aceite fingir que este é o seu atraso, não o dele. Nunca dê ao chefe um relatório de status falso, ele voltará para morder você. Diga ao chefe a verdade sobre os problemas que você tem (e mostre a prova) com o código dele não funcionando.

Essa pessoa que está pedindo para você relaxar para não parecer ruim é uma cobra (bem, isso é um insulto à comunidade de cobras (referência sutil do Firefly), desculpe a todas as cobras reais por aí). Ele fará qualquer coisa para jogá-lo debaixo do ônibus em vez dele. Não confie nele.


4
Eu segundo isso. O software de rastreamento de bugs é de vital importância aqui. Parece ganancioso, mas você nunca deve mentir para o seu chefe para encobrir suas falhas. Parece uma situação muito perigosa, portanto, tenha cuidado. Os e-mails com o gerente CCed são uma boa ideia. E ele pode pedir que você não faça isso, mas você tem todo o direito de ignorá-lo e / ou responder ao e-mail e CC de seu gerente novamente, recusando-se a seguir o exemplo dele. Muito doloroso para a política, mas mostra a verdade da questão como nada mais.
WolfgangSenff

1
+1 no primeiro parágrafo. Além disso, o OP diz que deseja um bom relacionamento com os colegas, o que de alguma forma implica no plural, mas se preocupa principalmente com esse cara injusto. Agora ele está trabalhando com esse cara, amanhã outros colegas de trabalho estarão trabalhando com esse cara e receberão o mesmo tratamento. Abordar a situação será benéfico para todos os outros colegas a longo prazo.
Sharptooth 18/08/11

"Diga ao chefe a verdade sobre os problemas que você tem (e mostre provas) com o código dele não está funcionando." Mas que prova? Se o gerente não conhece o projeto no nível de código / componentes, você não pode simplesmente mostrar o código a ele. Além disso, receio que vir a uma reunião com o chefe com impressões de exceções pareça que estou exagerando na atitude de "cobrir minha bunda".
maayank 11/09/11

28

Em primeiro lugar:

Como ele é meu colega, não pude contar nada ao gerente.

Você absolutamente pode e deve garantir que seu gerente saiba a verdade, mesmo que seu colega de trabalho esteja mentindo para ele. Se você não quiser dizer nada em uma reunião com os três na sala, isso é totalmente compreensível. Mas você deve pelo menos afastar seu gerente (o real, não apenas o temporário) e informá-lo de que seu trabalho está quase pronto e aguarda correções de bugs do outro desenvolvedor antes que todo o aplicativo esteja pronto para o horário nobre . Não acuse seu colega de mentir, mas não fique sentado e deixe seu chefe operar com informações incompletas.

Relate seus status honestamente. Se seu trabalho estiver sendo retido por bugs no final de outro desenvolvedor, documente que você encontrou bugs no C / C ++ e os informou (por favor, diga-me que você está usando algum tipo de documentação que deixa um rastro de papel).

Enquanto isso, vá em frente e encerre seu trabalho e informe seu chefe quando terminar. Se o seu gerente quiser saber por que o restante do projeto ainda não está funcionando, você pode encaminhá-lo para o outro desenvolvedor e talvez mencionar que provavelmente é muito complicado / grande / requer muitos testes / outro desenvolvedor é muito ocupado / etc. Se você conhece C / C ++, pode oferecer ajuda na lógica principal do aplicativo para que as coisas também aconteçam. Sim, você estará fazendo o trabalho do outro, mas deixa claro que você é o funcionário que trabalha duro e é produtivo, e o outro não, sem mencionar que o torna ainda mais valioso para o seu chefe. Pode até pressionar o outro desenvolvedor para acelerar as coisas e fazê-las mais rapidamente.


5
Talvez o software dele seja uma ordem de magnitude mais complexa que a do Ashin. Seguir a linha dura com um colega com quem você precisa trabalhar de perto, mas não se incomoda em conhecer, é anti-social, contraproducente e muito pouco profissional.
Hplbsh

3
Quem paga o seu salário é a sua empresa e não o seu colega.
Rudy

@lttlrck eu concordo com você, o aplicativo dele é mais complexo do que eu. Mas é um projeto existente. Como se nossa empresa tivesse um aplicativo independente existente, escrito em c & c ++, que faz o mesmo trabalho. E agora eles planejaram construí-lo na Web para que o usuário possa usá-lo diretamente sem instalar. E, tanto quanto eu soube dele e do gerente, no estágio inicial, que eles usam o mesmo código do projeto existente levemente modificado e, além disso, expõem suas classes e métodos ao python usando a boostlibrary.
HOT

3
@ Ashsh kn, o fato de sua parte do aplicativo ser um projeto existente não implica necessariamente que a tarefa dele seja mais fácil que a sua. Poucos aplicativos inicialmente projetados para uso em desktops requerem apenas pequenas modificações para expô-los como serviços (por exemplo, por meio de uma interface da web); infelizmente, as mudanças são mais substanciais. Ao lidar com o código legado para mudar a maneira como ele é totalmente usado, uma leve mudança pode levar rapidamente a vários efeitos colaterais indesejados, mesmo em aplicativos que não foram muito mal projetados inicialmente. Isso poderia explicar sua atitude mais cautelosa, parecendo lenta.
18711 Bruno

1
+1 paraIf you know C/C++, you can offer to help on the main application logic to get things moving with that as well.
gyozo kudor

27

Há uma série de problemas no trabalho. Esteja ciente que:

  1. Você está fazendo suposições sobre as motivações de outras pessoas
  2. Você está colorindo fatos com opiniões.
  3. Pessoas de fora (mais ninguém) não estão cientes da história e não estão cientes de suas frustrações com seu colega.
  4. Você pode parecer infantil se parecer que está jogando um jogo de "pegadinha". Seu colega provavelmente pode jogar melhor - afinal, ele ainda tem um emprego, não é?

Portanto, ao apresentar o status do seu projeto:

  1. Não mencione a outra pessoa.
  2. Ao relatar erros ou problemas com o código - não o desenvolvedor. Diga "A chamada para o método FooBar () está retornando 1 quando deveria retornar um 2". Então, qualquer problema não é um ataque pessoal, você está apenas falando sobre código - não sobre pessoas.
  3. atenha-se aos fatos pelos quais você tem provas.
  4. Se o seu colega ficar na defensiva ou hostil, faça perguntas. "Eu não entendo por que você acha que eu deveria fazer _ "
  5. Seja alheio a insultos sociais ou insinuações. Finja que você não recebe o ataque pessoal.
  6. Durma muito na noite anterior a qualquer reunião de status, para ser mentalmente ágil.
  7. Documento, documento, documento.
  8. Não tenha vergonha de pedir a esse cara que o ajude com algum problema interessante, ele pode levar para você se achar que você o respeita. Trata-se de construir relacionamento. (observe que isso não está sugando - isso é outra coisa)
  9. Esteja preparado para sair, se for necessário, para não ficar carente ou emocionalmente preso. Isso ajudará a manter a cabeça nas reuniões.

4
Até agora, um dos melhores planos aqui. Eu acrescentaria apenas "sair e cheirar as flores", já que a parte "trabalhando até me sentir sonolenta" parece assustadora.
Leonardo Herrera

@Leonardo - thx :-) Eu concordo. Equilíbrio trabalho / vida e tudo isso, mas meio que está além do escopo da pergunta do OP.
Pat

+1 para Ao relatar erros ou problemas com o código - e não o desenvolvedor
Ubermensch

16

"Sou uma pessoa que gosta de trabalhar. Passo a maior parte do tempo no escritório e só vou para casa quando sinto sono."

Isso não é saudável e não se pode esperar dos colegas, a menos que você seja compensado a ponto de poder tirar anos de folga pelo inevitável esgotamento. (Algo como> 10% de propriedade da empresa ou acima de US $ 200 mil por ano). Manter o conhecimento para chegar ao ponto em que ele pode se desenvolver muito rapidamente leva tempo. Parte do seu tempo deve ser dedicada ao desenvolvimento de conhecimentos.

"O projeto c / c ++ é o aplicativo principal que executa todas as funcionalidades. Meu python envia a solicitação do usuário e exibe a resposta dele para o usuário. ... Pode ser que ele não goste."

Python é uma linguagem mais ágil que C / C ++. Seu aplicativo parece conter todas as funcionalidades; seu aplicativo apenas a interface do usuário. Mais provável do que não, estes não são iguais em dificuldade. Ele pode não estar produzindo código rapidamente; mas a codificação de qualidade é muito melhor que a codificação por quantidade. Muito bem, você pode ter expectativas irreais sobre a rapidez com que ele pode codificar nas horas em que deseja / espera trabalhar (normalmente ~ 40 horas por semana; e lembre-se, se ele estiver lá há anos, ele provavelmente acumulou outras tarefas, como gerenciar outras pessoas ou ajudar a manter a idade. projetos que ocupam uma parte significativa da semana de trabalho).

Não minta para ele; mas também não o critique. Fale sobre como o sistema dele é ótimo; concedido precisa de mais trabalho até terminar. Dê ao seu gerente uma atualização de status precisa sem nomear nomes / atribuir culpa. Escreva uma versão simulada de seu sistema que esteja em conformidade com o mesmo padrão em que seu sistema deve estar. Verifique se o seu sistema funciona perfeitamente com o seu sistema de simulação com um conjunto de testes automatizado. Em seguida, seu sistema poderá ser finalizado (por exemplo, sincroniza perfeitamente com o mock-up), mesmo se o sistema ativo ainda estiver com erros.

Em seguida, você pode escrever um conjunto de testes automático para o sistema chamado externamente, em conformidade com os padrões acordados. Por exemplo, teste que Foo (1,2,3) devolve uma resposta de "Bar 4 5 6". Isso pode ajudá-lo a identificar bugs e acelerar o desenvolvimento (e não precisa mexer com seu código). Uma vez concluídas essas etapas, você poderá passar para outro projeto / tarefa (como ajudá-lo nas partes do C / C ++).


12

Como outros já mencionaram, comportar-se profissionalmente é a coisa mais importante para sua carreira de longo prazo. E honestamente, desde que você se comporte profissionalmente, você estará em ótima forma, não importa como as pessoas ao seu redor se comportem.

Nessa situação, há algumas considerações que você precisa levar em consideração.

Primeiro, você precisa entender que você é responsável por seu programa trabalhar com as especificações desejadas, dentro do prazo estabelecido. Se o seu programa interoperar com o de outra pessoa, você também será responsável por garantir que esse outro programa também funcione no mesmo prazo. Em outras palavras: se a outra pessoa perder o prazo, você também o terá perdido, mesmo que sua parte do projeto esteja dentro do prazo. Em termos de gerenciamento, isso é chamado de propriedade das entradas .

Você observou corretamente que, quando o seu colega declara em uma reunião que os bugs do programa foram corrigidos, você não pode declara-lo imediatamente incorreto para o gerente (seu gerente veria isso como "jogar seu colega de trabalho sob o ônibus"; uma péssima mudança de carreira). Outros, por outro lado, apontaram que não é profissional não declarar o verdadeiro estado do projeto ao gerente. Ambos os lados estão completamente corretos.

Então, se é ruim contradizer seu colega na frente do gerente, e também é ruim não contradizê-lo, o que você faz?

A resposta é realmente bastante simples: você precisa conversar com seu colega antes da reunião com o gerente e informar que, na próxima reunião, você precisará informar ao gerente sobre os problemas que está enfrentando. o programa deles, e isso está afetando sua capacidade de entregar seu lado do projeto a tempo e se há algo que você possa fazer para ajudá-los a resolver os problemas que você está enfrentando. Você precisa ter essa conversa pelo menos dois dias inteiros antes da reunião, onde informará o gerente e, de preferência, com uma semana de antecedência.

Na maioria dos casos, apenas dizer ao seu colega que você terá que listar o programa deles como um risco em uma reunião específica os motivará a resolver os problemas que você está tendo, e você nunca precisará conversar com o gerente . Em outros, onde os problemas são mais direcionados ao cronograma, o colega geralmente concorda com você e os dois podem ir juntos ao gerente.

Eu nunca tive um colega que não resolveu as coisas rapidamente ou concordou com as minhas preocupações, quando expresso dessa maneira. Mas se isso acontecesse, ao avisar seu colega com antecedência, você ainda estaria em uma posição melhor ao conversar com o gerente. Como você conversou com seu colega e tentou encontrar uma solução por conta própria, e avisou-o com antecedência de que seria necessário levantar o problema nesta reunião, seu colega não ficará surpreso quando o fizerem e o gerente venceu. pense que você está simplesmente tentando mudar a culpa.

Lembre-se de que, quando você expressa suas preocupações, seja para o colega ou para o gerente, essas preocupações são sobre o programa do seu colega que está retornando dados incorretos (ou o que quer que esteja fazendo); são coisas mensuráveis ​​que podem ser verificadas e corrigidas. Suas preocupações não são sobre seu colega ser lento ou não dedicado; essas não são coisas mensuráveis, que podem ou não ser verdadeiras e que dificilmente serão corrigidas, trazendo-as para uma reunião na frente do chefe.


3
+1 por enfatizar que "se comportar profissionalmente é a coisa mais importante para sua carreira a longo prazo".
Skarab

1
+1 resposta excelente - definitivamente a melhor que já vi aqui. Uma solução humana para um problema humano. Nenhuma menção de seguidores de bugs agressivas etc ;-)
TrojanName

8

Qual sistema de rastreamento de bugs você está usando? Eu esperava que pelo menos destacasse onde os bugs não estão sendo corrigidos no devido tempo. Onde seu código está aguardando a entrada da outra camada, os atrasos devem ser destacados na documentação de rastreamento do projeto. Isso também não está acontecendo?

Parece-me que há gerenciamento de projetos inadequado aqui. Você precisa: a) rastrear os bugs que estão afetando você; b) acompanhar as discussões por escrito.

Seu colega não deve pedir para você aumentar o tempo de desenvolvimento para cobrir a falta de vontade dele. Em algum momento, isso deve ser tratado com seu gerente. No momento, você está encobrindo seu colega e isso quase certamente sairá pela culatra.


2
O sistema de rastreamento de bugs não está lá. A empresa tenta finalizar o projeto o mais rápido possível e o entrega ao controle de qualidade. E, em seguida, corrige os erros relatados pelo controle de qualidade. Devo sugerir ao gerente que inicie um sistema de rastreamento de bugs que possa resolver muitos problemas como esses, espero que sim.
HOT

Como o controle de qualidade está relatando os erros - por e-mail? Quero dizer, se você estivesse desesperadamente preso, poderia fazer algo tão simples como uma planilha do Excel antes de se dar ao trabalho de implementar um sistema completo de rastreamento de bugs.
temptar

2
Exatamente. Encobrir os colegas nunca pode realmente levá-lo à frente em uma empresa, ou pelo menos não em qualquer empresa com equipes de gerenciamento ainda escassas.
WolfgangSenff

@temptar - O controle de qualidade é enviado por e-mail e eles até registram os bugs em alguns lugares também, não sou tão claro quanto a isso, já que estou aqui há apenas três meses e este é o meu primeiro projeto em andamento. sim, como todos vocês disseram, deixe-me manter registros por mim e deixe-me manter meu gerente informado sobre isso por e-mail. Obrigado pelas sugestões
HOT

2
@ Akshin, você pode procurar no Trac ou no Mantis, pois esses são sistemas de rastreamento de bugs gratuitos que são relativamente simples de configurar e usar.
Tangurena 16/08

8

Não há nada de errado em defender um colega, mas alguém espera que você minta diariamente para o seu chefe. Eu não podia respeitá-lo como pessoa e não gostaria de ter essa pessoa como um conhecido casual. Ele quer ser um inimigo, trazê-lo.

Como você pode argumentar atrasos na camada de aplicativos por causa do front end? É por isso que você faz isso para que eles possam ser separados. O que vem a seguir, ele tem ainda mais atrasos porque alguém quer criar um front end para mobil?

Faça seu trabalho. Documente os problemas que você está tendo com uma falha no aplicativo dele. E então vá para casa! Eu não me importo se você está com sono ou não. Encontre alguns amigos que valem a pena ter.


4

Acabei de ler "The Clean Coder", de RC Martin (tio Bob). O ponto principal do livro é que os programadores em geral não recebem muito respeito porque não estão se comportando profissionalmente . Isso significa principalmente que eles não se comunicam efetivamente com a gerência sobre o status do projeto.

Mentir é certamente uma forma muito muito ruim de comunicação. Seu colega está sendo extremamente profissional e você também. Vocês dois não estão fazendo nada de bom para melhorar a percepção dos programadores.

Eu aconselho você a ir imediatamente para a gerência. No entanto, eu tive problemas no passado por ter sido muito "honesto" (em alguma situação não relacionada), então não tenho certeza se você deve seguir meu conselho. Além disso, como muitos apontaram, talvez sua percepção da situação não seja tão precisa quanto você pensa.


3

É difícil e irracional estimar o esforço e a complexidade relativos de outro projeto, se você não estiver familiarizado com a base de código. Você diz que o código dele é propenso a erros, mas pode estar em ótima forma com todos os problemas restantes em um nível muito alto de abstração ... O problema é que esse é o único código que seu front end precisa!

Ou talvez ele seja um mau funcionário e esteja levando a empresa para passear. Não posso dizer, e você também pode não ter todas as informações que precisa saber com confiança.

Eu sugeriria uma tática intermediária. Da próxima vez que você se encontrar, traga alguns detalhes de um grande erro no código dele que está afetando você. Quando ele disser que está tudo bem, diga educadamente que há uma questão pendente que está bloqueando seu progresso.

Politicamente, dizendo assim, vamos afirmar que ele não está totalmente correto, enquanto ainda lhe dá uma chance de se fazer de bobo e não ser colocado na defensiva.

Seu gerente deve perguntar na próxima reunião se está consertado. Caso contrário, a pressão recai sobre ele para corrigir um erro. Se estiver correto, diga obrigado, está funcionando muito bem agora e você encontrou um novo bloqueador. Se você quer ser especialmente gentil, diga que a encontrou pouco antes da reunião.

Você não está mentindo, por si só, nem está tomando partido. Você está jogando política chamando a atenção para os problemas e deixando seu colega ficar de fora, se as coisas realmente não estiverem indo tão bem.

É tentador apenas conversar com seu gerente, mas não esqueça com qual deles você mais deve trabalhar.


2

A resposta de Pat foi ótima. Eu concordo 100%. Não vá espreitar uma reunião com o chefe. Leve-o com o seu colega entre quatro olhos ou com todos os três. Mas a sugestão de Pat de se concentrar nos problemas de código e não nas pessoas é o caminho certo a seguir.

Btw, 40h / semana é suficiente cara. Você precisa manter sua motivação alta!


1

Peça mais alguma coisa para ajudá-lo nos testes de integração. A pessoa deve ser capaz de dizer onde o problema ocorre. Como tentador apontou, eu me pergunto por que não existe um excel para rastrear os problemas! como não há rastreamento, é como toda vez que o outro cara foge dizendo que está tudo bem a partir de agora! não funciona dessa maneira!

É o seu módulo, se você precisar fazê-lo, precisará levantar a bandeira vermelha sobre o que está causando o atraso do seu lado. A experiência no MERE Years não tem nada a ver, é apenas o conhecimento e é nisso que o seu gerente deve insistir. Como já foi dito, sinto que há um gerenciamento deficiente do projeto acontecendo aqui.


-1
  1. Mostrar iniciativa solicitando tarefas adicionais e perguntando como você pode agregar valor à organização é a melhor maneira de ganhar confiança.

Seu gerente pode não ser técnico o suficiente para descobrir quem está atrasando o projeto, mas provavelmente é inteligente o suficiente para reconhecer que um desenvolvedor que está buscando ativamente novas tarefas está passando rapidamente pelas tarefas atuais. Isso levará a uma conversa em que você poderá deixar claro que está aguardando correções de erros de outras pessoas em suas tarefas atuais. Enquadre a discussão em termos de como você pode agregar valor adicional à organização usando eficientemente seu tempo livre, e não como seu colega está sendo muito lento com as correções de erros.

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.