Recentemente, iniciei meu primeiro trabalho como desenvolvedor júnior e tenho um desenvolvedor mais sênior encarregado de me orientar nesta pequena empresa. No entanto, há várias vezes em que ele me aconselha sobre coisas com as quais eu simplesmente não concordo (isso vai contra o que aprendi em vários bons livros sobre o tópico escrito pelos especialistas, as perguntas que fiz em alguns sites de perguntas e respostas também concordam comigo) e, dada a nossa agenda lotada, provavelmente não temos tempo para longos debates.
Até agora, tenho tentado evitar o problema ouvindo-o, levantando um contraponto com base no que aprendi como boas práticas atuais. Ele levanta seu ponto original novamente (na maioria das vezes ele dirá as melhores práticas, mais sustentável, mas não foi além), tomo uma nota (já que ele não levantou um novo ponto para contrariar meu contraponto), pense sobre e pesquise em casa, mas não faça alterações (ainda não estou convencido). Mas, recentemente, ele se aproximou de mim mais uma vez, viu meu código e me perguntou por que não o mudei para sua sugestão. Esta é a terceira vez em 2-3 semanas.
Como desenvolvedor júnior, sei que devo respeitá-lo, mas ao mesmo tempo não consigo concordar com alguns de seus conselhos. No entanto, estou sendo pressionado a fazer mudanças que, na minha opinião, piorarão o projeto. É claro que, como desenvolvedor inexperiente, eu posso estar errado e o caminho dele pode ser melhor, pode ser um desses casos de exceção.
Minha pergunta é: o que posso fazer para avaliar melhor se o conselho de um desenvolvedor sênior é bom, ruim ou talvez bom, mas desatualizado no contexto atual? E se for ruim / desatualizado, que tática posso usar para não implementá-lo à sua maneira, apesar de suas 'pressões', mantendo o fato de que eu o respeito como mais velho?
fonte
Respostas:
Primeiro, como desenvolvedor sênior, espero que os juniores que lidero em projetos tragam suas preocupações para mim de maneira direta e direta. Se eles discordam, está tudo bem comigo. Em alguns casos, tomarei medidas sobre suas preocupações. Na maioria dos casos, suas preocupações são
deixadas delado, com uma breve explicação do raciocínio , não por desrespeito ao desenvolvedor, mas por algum outro motivo, como:Estas são apenas as coisas que eu consigo pensar em cima da minha cabeça. Existem várias razões pelas quais uma idéia, prática, conceito pode ser descartada ou descartada por alguém mais alto que você. Muitos deles são desagradáveis, mas todos se resumem ao fato de que somos todos humanos e todos temos opiniões. A opinião dele apenas é numericamente superior à sua no momento.
Tendo esses conceitos em mente, você deve continuar trazendo suas preocupações para o desenvolvedor sênior. Encontre outro desenvolvedor sênior que possa preencher os espaços em branco. Muitos desenvolvedores seniores estão onde estão, porque são melhores com software do que com pessoas. Alguns estão onde estão, porque sabiam de quem é a bunda para beijar quando eram estagiários. Encontre alguém que realmente entenda o que significa mentorear alguém e obtenha sua opinião honesta. Eles podem discordar de você e preencher os espaços em branco que você não possui. Eles podem concordar com você e ajudar a reunir sua causa ou melhorar sua situação.
Em nenhum momento você deve montar qualquer tipo de insurreição. Mesmo se você acredita em seu coração que seu caminho é o certo, você recebeu uma instrução a seguir e deve segui-la (a menos que seja ilegal, obviamente). Se você tiver problemas para seguir essas instruções, tente descobrir o motivo, porque descobrirá que esse padrão de comportamento é muito prevalente em muitas empresas que produzem qualquer tipo de software.
Sua melhor opção é continuar fazendo seu trabalho ética e profissionalmente. Obtenha o software que você deve executar de maneira exemplar e escape da situação sendo promovido a partir dele. Se as promoções não acontecerem, você terá muitas referências e experiência para buscar oportunidades em outros departamentos ou empresas.
fonte
Respeite o desenvolvedor sênior. Ele está mais comprometido com o sucesso do projeto do que você. Como ele tem a responsabilidade, ele também recebe a autoridade. Se ele diz mudar alguma coisa, faça-o.
Dito isto, não hesite em apresentar suas preocupações quando encontrar um problema como você já tem.
Por fim, sente-se com ele e explique-lhe a mesma pergunta que você postou aqui. Talvez você esteja perdendo algo grande, talvez ele se abra mais às suas sugestões, de qualquer forma, não o deixe no escuro se você acha que o conselho dele é ruim.
fonte
Quando isso acontece, o que você precisa fazer é conversar com o desenvolvedor sênior . Talvez ele saiba algo que você não conhece sobre o código ou os requisitos técnicos / comerciais. Se sim, você deve aprender.
Faça isso em particular. Pode ser visto como uma autoridade desafiadora, e é melhor fazer essas coisas individualmente. Mostre vontade de comprometer e colaborar reconhecendo e respeitando sua antiguidade, mas seja persistente em obter respostas para suas perguntas. Aborde a situação de uma estrutura colaborativa, não combativa. Você pode pedir a ele para orientá-lo.
No final do dia, você precisa equilibrar suas próprias idéias (que, para ser justa, são relativamente novas e não testadas) com as dele. Talvez você esteja realmente certo, mas você deve fazer o possível para aprender com pessoas mais experientes para poder tomar uma decisão mais informada. Um bom desenvolvedor sênior congratula-se com a oportunidade de colaborar, orientar e aprender, mesmo com desenvolvedores juniores, e com o desafio de desafiar suas idéias de maneira construtiva, porque eles também sabem que às vezes estão errados.
fonte
A maneira como você costuma contar é através de uma abordagem de senso comum. Lembre-se de que o desenvolvedor sênior pode saber mais sobre o projeto, mas pode não saber mais sobre a maneira correta de fazer as coisas. Você tem que avaliar o que ele diz para você fazer - ele está lhe dando um mau conselho se o que ele diz foge do que afirmam seus apostadores (ou seja, pessoas mais altas que ele; não necessariamente na sua empresa ... estou falando sobre desenvolvedores conhecidos de "celebridades" que frequentemente publicam ou escrevem livros sobre a maneira correta de desenvolver software ou, pelo menos, as melhores práticas aceitas pelo setor.
Aqui está um exemplo de "maus conselhos" de um desenvolvedor sênior (ou de qualquer desenvolvedor): se eles são totalmente ignorantes sobre o que é um acoplamento solto e por que é uma coisa boa, e você é instruído a escrever todo o código, digamos, o código Por trás de um arquivo ASPX, é óbvio que o desenvolvedor sênior não tem noção e seu conselho não deve ser ouvido.
Se, por outro lado, ele está lhe dizendo como um módulo específico no sistema funciona, geralmente é melhor escutá-lo novamente, o que ele está dizendo não cuspe diante dos princípios de desenvolvimento adequados.
Aqui está minha regra de ouro: um desenvolvedor sênior de uma empresa pode simplesmente ser o desenvolvedor com maior tempo de permanência; ele pode não ter nenhuma habilidade real. Ele está dizendo coisas que vão contra o que dizem alguns dos desenvolvedores mais respeitados em seu campo (pessoas com muito mais experiência que ele e que são muito mais competentes e respeitadas)? Se ele é, é provável que o conselho dele seja ruim, a menos que haja circunstâncias muito extremas.
Esperando votos negativos / desacordos para um ponto de vista extremamente tendencioso.
fonte
Pode ser difícil entender o ponto de vista do desenvolvedor sênior, e sim, ele pode estar liderando as coisas no caminho errado; no entanto, quando se trata de grandes projetos, a consistência é mais importante.
Ter 50 desenvolvedores, todos seguindo seus próprios estilos de codificação, padrões, metodologias e padrões de design, seria um caos absoluto. Se as coisas estão sendo feitas errado, é sempre melhor estar sempre errado do que muitos tipos diferentes de coisas erradas e algumas que foram feitas corretamente.
Quando chega a hora de executar a manutenção, adicionar recursos ou corrigir o que está "errado", é muito mais fácil se os problemas com o design existente forem conhecidos antecipadamente.
É bom discordar respeitosamente, mas no final é melhor você se alinhar. Quem faz parte de um time que fica desonesto não é visto como um jogador de equipe.
fonte
Se o idoso não puder fornecer boas razões para ignorar as melhores práticas do setor, não perca seu tempo lá. Você nunca avançará porque é muito ameaçador e, de qualquer forma, deseja gastar tempo mantendo uma pilha de códigos incorretos?
A maioria dos desenvolvedores para de ler quando sai da faculdade. Você não tem, então você já está entre os 10% melhores. Atualmente, existem muitas oportunidades. Se não houver mercado de trabalho em sua cidade, procure uma cidade melhor.
fonte
Uau, é uma oportunidade maravilhosa para você brilhar e mostrar suas habilidades. No início de minha carreira, eu tinha alguém que era meu supervisor, incapaz de tomar uma decisão, qualquer decisão, então aproveitei a oportunidade para aprender a fazer o trabalho do próximo nível superior. Isso me promoveu. Você deveria fazer o mesmo.
fonte
Como desenvolvedor sênior, esse tipo de nitidez agressiva passiva me deixaria louca e, depois de confrontar, você me levaria a fazer uma crítica ruim. A solução perfeita é aquela com a qual a equipe pode conviver.
Quanto ao estilo, isso deve ser determinado pelo guia de estilo e pelas melhores práticas determinadas pela sua origem. Se você é apaixonado, discuta, mas uma vez tomada a decisão, viva com ela e trabalhe dentro dos limites da equipe em que está.
fonte
Você está em uma situação não tão boa, mas, como HLGEM apontou, pode transformar essas posições em bênçãos disfarçadas. Sua pergunta é multifacetada, então abordarei em partes.
Isso poderia muito bem ser verdade. Há uma série de desenvolvedores que estão no setor há décadas e não são líderes de software capazes - do ponto de vista de desenvolvimento ou orientação (há uma diferença). A experiência vem do enfrentamento de novos desafios, da tentativa de novas idéias e do aprendizado de novas habilidades, mas a maioria dos programadores passa a vida em uma ala do The Corporate Office, trabalhando no The Payroll Application com suas fiéis ferramentas Visual Basic e Java, nunca vendo o mundo correr pelo escritório frio e cinza.
Não há nada de errado nisso . Para muitos desenvolvedores, tudo o que eles sempre quiseram e estão perfeitamente contentes com a situação - não é, no entanto, uma situação ideal para promover uma futura geração de programadores, muito menos liderar desenvolvedores.
A bravura e a arrogância podem ser um mecanismo de defesa, tentando encobrir inadequações. Como você lida com isso? Não o enfrente de frente - se sua liderança é incompetente e o chefe não está disposto a corrigir a situação, você terá que conviver com ela . Isso não significa rolar e morrer, mas você não pode forçar alguém a ser uma boa liderança.
É isso que me faz pensar que você está certo, pois ele pode não ser um bom programador. Isso não quer dizer que ele não seja um programador melhor do que você no momento (pelo menos ele terá mais experiência e exposição por estar na indústria por tanto tempo), mas, novamente, isso não se traduz em um chumbo eficaz. As diretrizes são boas e boas, mas são secundárias à função, eficácia e eficiência do código.
Você enumerou todos esses pontos específicos para o gerente e com exemplos específicos para fazer o backup? Se você simplesmente foi até ele e disse: "Preciso de uma nova pista", ele não levará você a sério e a perceberá como um "problema interpessoal", e não um problema técnico. A reação de muitos chefes nessa situação é ignorá-la na esperança de que "se resolva".
Aqui estão algumas sugestões.
fonte
Se você tem uma maneira melhor de resolver um problema específico, basta fazê-lo .
Deixe seu código / solução ser seu melhor argumento. Caso contrário, atenha-se ao que foi informado.
Caso em questão
fonte
Você pode se tornar um desenvolvedor experiente. Enquanto não fizer isso, você estará mal equipado para julgar se sua intuição como júnior estava certa ou não e, a essa altura, não terá importância.
Enquanto isso, leia a resposta de Joel Etherton.
fonte
Eu sugeriria fortemente não tentar "não implementá-lo à sua maneira".
Até agora, parece que você fez a coisa certa. Você foi humilde e levantou um contraponto. Não pude dizer da sua pergunta se você simplesmente discordou do método dele ou se discordou e apresentou uma alternativa. No final das contas, sempre ofereça uma alternativa clara e pensada ao tentar abater a abordagem de outra pessoa . Como ele pode ver, você tem uma boa ideia que pode funcionar, e ele tem uma ideia que funciona.
Em qualquer posição, somos forçados a fazer coisas abaixo do ideal o tempo todo. Se você realmente não gosta, pode fazer o que quiser e trazer à tona. Depois disso, é o caminho do chefe ou a estrada. No lado positivo, você está isolado de muito do risco de más decisões quando júnior.
fonte
Escolha suas batalhas. Se você estiver falando de uma hora de trabalho, precisará alterar seu código algumas vezes até que você avance. Da próxima vez que você conseguir um grande projeto, peça uma chance de apresentar suas idéias antes de começar. Reserve um tempo extra e faça uma demonstração ou protótipo incrível.
fonte
Surpreendentemente, o que fiz foi parar de perguntar. Quando é dada outra opção, eu simplesmente discordo e faço da maneira dele, mas adiciono meu próprio toque a ela. Use-o como uma experiência de aprendizado para desenvolver suas habilidades e ainda assim pacificar sua necessidade de mantê-lo à moda antiga.
No final, nem todo desenvolvedor sênior presta atenção a novas maneiras de fazer as coisas. Às vezes, eles têm maneiras antigas que eram ótimas para o idioma em que começaram há 20 anos, mas são consideradas hacky ou "têm um mau cheiro" no mundo de hoje.
Isso pode parecer uma maneira terrível de continuar, e é. Mas também aprendi muito com minha maneira de fazer as coisas com idosos. Mas esta é realmente apenas a minha opinião. No final, você precisa ser feliz em seu trabalho e manter as distrações e a tensão em um nível baixo. E, ao não se opor às coisas, você verá o estresse diminuir.
fonte
Não confie nos idosos por causa da antiguidade. Desafie a autoridade o mais rápido possível. Uma autoridade competente deve poder responder de forma convincente a qualquer pergunta. É isso que faz dele uma autoridade em primeiro lugar, não é?
Porque alguém mantém crenças supersticiosas por toda a vida não significa que ele esteja certo. Lembre-se de que, na idade média, as pessoas acreditavam que a Terra era plana e algumas dessas pessoas idiotas se sentiam justificadas em matar os que duvidavam. Aconteceu que os que duvidavam estavam certos. Tanto por críticas ruins.
Nunca tema uma crítica ruim. Você confiaria em um cego julgando a cor?
fonte
boas respostas acima, acrescentaria que uma resposta como "melhores práticas" ou "mais sustentável" é uma oportunidade para aprender alguma coisa . Você diz: "Você pode me dar um exemplo de por que esse caminho é melhor para que eu possa entender a diferença?" ou "Em que situações dessa maneira seria mais sustentável que de alguma outra maneira, para que eu possa aprender a planejar dessa maneira?"
Se o idoso estiver certo, será fácil dar um exemplo. Se ele é um papagaio ... dê a ele um biscoito para parar de chiar e faça o que achar melhor. Até que seja ordenado o contrário.
Se o papel do sênior for mentor, ele explicará o porquê quando solicitado.
fonte
Como HLGEM e Jarrod disseram antes, isso é realmente uma bênção disfarçada. Ambas as respostas são ótimas e quero acrescentar alguns pontos.
Como seu lead não está em seu domínio, você toma algumas das decisões importantes para sua parte do aplicativo, pois ele não conhece muito sobre middleware. Você também encerra com seu gerente sobre como o aplicativo deve ser, o que os usuários do produto desejam e como o gerente deseja lidar com uma situação apresentada a ele pela equipe de produto. Diga-me quantas pessoas obterão esse tipo de conhecimento em um aplicativo.
Quando você está em uma equipe grande, com certeza terá a ajuda de seus colegas de equipe e / ou de seu líder, mas não terá o conhecimento de como seu gerente pensa ou a equipe de produto pensa, porque esse tipo de coisa geralmente passa por sua liderança e pode ser alguns desenvolvedores seniores em uma equipe. Concordo que os projetos de uma pessoa são difíceis de realizar, mas se o outro lado da moeda é tão bom, por que perder uma chance? Aprenda o que você pode aprender, aproveite o quanto puder e, se ficar muito difícil, convencer seu gerente, como Jarrod disse, ou encontrar um novo emprego / projeto, dependendo da situação.
fonte
Você vai lidar com pessoas assim durante toda a sua carreira. E haverá muitos com quem você discordará sobre a melhor abordagem para qualquer problema de codificação. A melhor coisa que acho que funcionou para mim ao longo dos anos é que, se eles continuarem pressionando um problema, seja sincero com eles e diga que você considerou a solução deles entre as várias soluções possíveis e que sentiu que a solução era sua. resolvido foi o que você achou que era a melhor abordagem nessa situação.
Agora, se você escolher sempre os conselhos deles, ocasionalmente poderá ceder e usar os "conselhos" de vez em quando apenas para suavizar algumas plumas. Contanto que eles não sintam que você está rejeitando a entrada deles todas as vezes, isso ajudará bastante a manter a paz entre vocês.
Considere também que eles são um desenvolvedor sênior e trabalham nesse ambiente há mais tempo do que você. A codificação da vida real geralmente não combina com as melhores práticas ou padrões aceitos pela comunidade. Pode haver uma razão pela qual eles recomendaram que você faça algo de uma certa maneira que eles não consigam articular completamente. Portanto, mesmo que você não concorde com eles, não deixe de lado o conselho deles com base no fato de que você acredita que sua solução é melhor.
É tudo uma questão de equilíbrio. E não apenas o equilíbrio da codificação, mas o equilíbrio da equipe. Muitos projetos falharam não porque os desenvolvedores não foram capazes de fazê-lo, mas porque não conseguiram encontrar maneiras de trabalhar em conjunto de forma amigável.
fonte
Gostaria de fornecer algumas informações da minha experiência pessoal, que devem ser consideradas como uma resposta suplementar a uma postada aqui por jzd ...
Em uma consulta profissional, eu deveria ser orientado por alguém mais velho. Ele sabia algumas coisas, mas sinceramente não tanto, infelizmente ele não sabia, então estava ultra confiante em suas respostas. De alguma forma, senti que o que ele disse estava errado. Eu tinha algumas evidências de quando as coisas que ele fez foram contra as melhores práticas mencionadas na certificação da MS que tirei :-). Depois disso, comecei a perguntar a outras pessoas que trabalhavam em outras empresas (o stackexchange não estava funcionando naquela época) e comecei a ler blogs para comparar respostas.
Seria ótimo se eu estivesse errado, porque eu apenas mudaria meu comportamento, mas não estava.
fonte
Eu notei algo nos últimos anos, quase todas as empresas em que estou, quase todos os projetos em que trabalho, quase todos os novos contratados (independentemente do nível de habilidade / experiência) querem fazer algo 'diferente'.
Pode ser os padrões de codificação ou a arquitetura geral ou a linguagem ou a metodologia. Mas é sempre alguma coisa. Muitas vezes, está apenas afirmando o óbvio: 'Não deveria tudo ser melhor documentado para nossos usuários finais?'
Meu conselho para você é não ser esse cara .
Algum dia, você será um cara de nível sênior, contratado e pago para tomar essas decisões. Quando esse dia chegar, vá para ele! Até aquele dia, perceba qual é a sua posição. Eu tenho um chefe, no que me diz respeito, todo o meu trabalho é fazer meu chefe feliz. Não é para adivinhar as decisões tomadas fora da minha folha de pagamento. Se você realmente não tem certeza, converse com seu chefe / supervisor e descubra.
De um modo geral, porém, é muito melhor ter todos a bordo com uma abordagem desatualizada do que metade da equipe seguindo a abordagem desatualizada, 1/4 da equipe seguindo alguma nova abordagem e 1/4 da equipe tentando desenvolver uma abordagem de ponta , abordagem totalmente nova.
fonte
Há uma subcorrente em tudo isso que acho que deve ser explicitada: não seja combativo . Preserve seu relacionamento com ele. É ótimo seguir o conselho dele com um pouco de sal e validá-lo em livros e em sites como esses, mas não o ataque. Se ele é um desenvolvedor sênior e já passou por muitos projetos, ele não é um idiota, e há muito a aprender com ele. Como parece que você já fez, expresse seu desejo de entender o ponto de vista dele. Mesmo que você tenha certeza de que ele está errado e que você esteja certo, aceite a possibilidade do oposto (parece que você já entende isso). Tente deixar claro que você está discutindo porque quer entender melhor o ponto de vista dele, não porque está tentando provar que ele está errado.
Se ele não responder imediatamente quando você fizer uma pergunta, ou se a resposta dele for vaga e / ou inútil, não pense que ele está te dispensando. Como já foi mencionado aqui, ele pode muito bem estar ocupado e / ou estressado.
Também é ótimo ser paciente. Mantenha uma lista de coisas em sua cabeça que você acha que deveriam ser feitas de maneira diferente e apresente-as no momento apropriado. Verifique se você tem justificativa para a sugestão, além de "é uma prática recomendada". E tome cuidado para fazer as coisas certas e não cometer erros, para que você tenha credibilidade quando argumentar mais tarde.
fonte
(Levemente editado para as ações.)
Esta parte me preocupa. Uma maneira de ver se você está correto ou não é entender o que ele está dizendo. O que eu li (com minha própria história, outras podem ser diferentes) é um desenvolvedor júnior que não entende o que o mentor está dizendo e não pede esclarecimentos. Uma maneira de descobrir isso é pedir que ele esclareça: como isso é uma prática melhor do que isso? Ou Por que isso é mais sustentável do que o nosso código? Se você não sabe as respostas para isso, não sabe se ele está dando bons conselhos ou não.
A parte que realmente me preocupa é que ele pediu para você mudar isso várias vezes, e você não. Aqui está uma maneira de parecer do lado dele: ele pede que você faça a alteração, você pergunta por que, ele fornece uma razão (válida, na sua opinião) e você se recusa a fazer a alteração. Você não pede esclarecimentos, então ele assume que você entende o motivo e é preguiçoso ou teimoso demais para mudar isso - nada bom para um desenvolvedor sênior pensar em você. Confie em mim, é muito melhor fazer perguntas do que obter uma reputação dessa maneira.
fonte
Algumas reflexões:
1 / Funciona? O jeito dele está funcionando ou não? Existe alguma razão objetiva pela qual seu caminho seria inferior?
Por razão objetiva, quero dizer algo que pode ser medido sem ambiguidade (desempenho, bugs, comprimento do código ...) Se as soluções dele funcionarem e não houver uma métrica objetiva que indique que é uma solução ruim, faça do seu jeito. O caminho dele é melhor ... porque provavelmente é mais consistente com o restante da base de código e porque será mais fácil para ele usar / reutilizar seu trabalho. Você pode não gostar, mas não é disso que se trata, é?
Se não funcionar, ou apresentar um desempenho ruim em métricas importantes, implemente-o, compare a solução dele com a sua e diga a ele que você tentou o seu caminho, mas não consegue obter um bom desempenho (forneça as métricas) e pergunte a ele se você cometeu um erro na sua implementação ou se há um requisito de que você não estava ciente
Os programadores 2 / Star dizem ... Por que se importar? Você encontrará programadores famosos profundamente em desacordo uns com os outros em muitos assuntos fundamentais, como planejamento, design, POO versus procedimento, teste de unidade, tratamento de exceções, controle de origem e assim por diante.
Se a única diferença de trabalhabilidade entre duas soluções é quem a favor, ignore-a. Você pode se beneficiar do treino mental exigido trabalhando em um paradigma de que não gosta
fonte
Com base na idéia de que você só deve seguir conselhos de pessoas com quem deseja se tornar, a resposta é que o conselho sênior é bom se você quiser se tornar como ele / ela.
fonte
Para ser honesto, é assim que muitos trabalhos técnicos são. Você precisa ser um iniciante, capaz de resolver problemas difíceis sozinho (com a ajuda da Internet e de seus habitantes), se necessário.
Do ponto de vista de obter revisões de código e obter ajuda com projetos de arquitetura, mesmo quando tive bons gerentes, nunca tive muita revisão de código além de "variáveis estáticas devem ter o prefixo s_".
Aproveite a oportunidade para aprender e aprender a aprender; essas serão habilidades que você poderá usar no futuro.
fonte
Se você pensa por um segundo que a gerência não entende o quão capaz você REALMENTE é de realizar o trabalho, provavelmente está errado. A gerência provavelmente também entende que sua liderança agora seria completamente inútil se ele a substituísse e assumisse o seu trabalho.
As REAIS razões pelas quais eles não foram realocados são porque, apesar de todos os desafios que você apresenta a eles, você ainda é a melhor pessoa para o trabalho. Obviamente, eles valorizam demais o seu trabalho, arriscando entregá-lo a mais alguém.
Não subestime a inteligência da gerência ...
Eles são muito mais inteligentes do que a maioria dos desenvolvedores lhes dá crédito. Eu não entendi isso até começar a gerenciar. Eles provavelmente também estão cientes de quão inútil é sua liderança, mas provavelmente não têm poder para resolver esse problema.
Deixe-me pintar uma imagem para você, o lead A com 5 anos de experiência na empresa é incompetente. O gerente sabe disso e recomenda ao seu gerente superior que demitir a liderança A. O gerente superior pergunta por que ele não foi tratado há anos se ele é tão incompetente. O gerente parece ruim agora, especialmente porque o Lead A tem um salário inchado que estava sendo pago sem nenhum benefício ...
Aqui está outro cenário potencial: o lead A é amigo íntimo de alguém importante. Ele é quente demais politicamente para assumir,
De qualquer maneira, com um erro de longa duração como esse, é mais fácil para as grandes organizações varrer pessoas incompetentes para debaixo do tapete, dar-lhes trabalho ocupado e poder falso, adequado aos seus anos de "experiência" em que não podem causar MUITO dano. . Infelizmente, muitas organizações preferem fazer isso a lidar com os problemas.
É claro que a razão para isso é que o gerente desse tipo de organização é sempre melhor no curto prazo para lidar com o talento ruim dessa maneira do que tratar dos problemas de longo prazo que esse tipo de pessoa pode trazer para a organização.
Portanto, embora seja míope e potencialmente antiético, você deve admitir que é um pouco mais inteligente do que muitos desenvolvedores realmente dão crédito.
fonte
ughh ahhh. Esta pergunta me lembra muitas coisas. Primeiro, vou dizer que não poderia me dar bem com um dos gerentes no meu último local de trabalho. Não era um problema de personalidade. Foi um problema de comunicação. Eu disse XYZ e esse gerente específico interromperia o que eu estava dizendo como ABC. Eu não seria capaz de me comunicar bem, a menos que trabalhasse com esse gerente por mais de um ano.
Nessa semana passada. Um cara discutiu / discordou de singletons. Eu disse que eles não são bons e NUNCA devem ser usados e absolutamente não há razão para usá-los. Eu o vinculei a http://www.gmannickg.com/?p=24 e o artigo mais aprofundado vinculado aalguns dias após a discussão. O dia de outro programador (DudeB) menciona que ele só usa singletons quando apropriado (ao qual acrescentei 'nunca'). O DudeB não disse nada sobre isso, mas o DudeB disse que o DudeB estava em um projeto que continha memória, porque todos os threads estavam acessando o singleton. Depois de mencionar isso, mostrar o artigo e mencionar a contenção de memória, o cara com quem discuti disse que teríamos que concordar em discordar do que eu concordei porque não gosto de falar sobre singletons (ainda estou escrevendo isso)
O ponto é. Às vezes você pode estar errado como esse cara (talvez alguém discorde de singletons comigo em um comentário). Na minha situação com meu gerente, que era meu programador sênior, acabei de fazer o que me pediram explicitamente e nunca mais levei a sério a qualidade naquele local de trabalho. Eu fiz o que eu prefiro fazer quando permitido, mas sempre fiz o que me pediam, mas se eu discordasse, eu o mencionaria pelo menos uma vez.
fonte
Eu tenho uma opinião completamente diferente / controversa sobre isso.
Muitas vezes, as pessoas perdem a noção do objetivo final que, para a maioria das indústrias, é maximizar lucros e minimizar perdas. Eu sei que isso soa insensível (daí os pontos negativos), mas a experiência e a sagacidade são muito pequenas se você não estiver produzindo resultados.
As pessoas podem se envolver com coisas extremamente indiretas para discutir sobre o assunto, que têm muito pouco impacto nos resultados diretos da empresa.
Se você acha que está certo sobre algo, sua melhor aposta é mostrar como isso produzirá melhores resultados mensuráveis .
fonte
Inicialmente, eu tentaria insistir, no final do dia a resistência ao idoso provavelmente será inútil pelo menos até você ganhar mais experiência e respeito. Use isso como uma experiência de aprendizado e em mais de 2 anos se você ainda se sentir da mesma maneira - vá para outra empresa. É nesse momento que você pode usar uma combinação das suas boas idéias e dos idosos para impressionar seu novo empregador. É claro que você pode começar a perceber algumas das razões pelas quais considerou más decisões no início de sua carreira e, em algum momento, poderá ter um desenvolvedor júnior trabalhando para você.
fonte
[Repost: porque de alguma forma eu criei uma segunda conta aqui]
Você deve ter certeza se são sugestões ou pedidos / instruções / diretivas / o que for.
Sugestão = Eu acho que é melhor fazer dessa maneira; mas a escolha é sua.
Ordem / etc. = Eu quero que seja feito assim; e é minha escolha.
Se for realmente uma sugestão, faça o que quiser e deixe seu código em pé. Se for uma ordem (e esse mentor tiver autoridade sobre você dessa maneira) - faça o que eles mandarem.
fonte