Como lidar com o “golpe de programação”? [fechadas]


18

Então, eu tenho certeza que todo mundo já encontrou essa pessoa em um ponto ou outro, alguém percebe o seu projeto ou ideia e inicialmente mostra algum interesse. Você começa a falar sobre alguns de seus métodos e, geralmente, nessa época eles interceptam, dizendo como você deve usar o método X, ou simplesmente usar a biblioteca Y. Mas não como uma sugestão amigável, mas que faz fronteira com um mandamento. Muitas vezes repetindo o mesmo conselho repetidamente como um papagaio excessivamente zeloso.

Pessoalmente, gosto de reinventar a roda quando estou aprendendo, ou mesmo apenas por diversão, mesmo que seja pior do que o que foi feito antes. Mas essa pessoa aparentemente não pode imaginar recriar QUALQUER utilidade para tais propósitos, ou possivelmente tentar algo que não siga estritamente as práticas tradicionais de POO, e se contentará com nada além de seu senso de perfeição e, portanto, naturalmente levantará suas críticas pelos ouvidos com força total. . Para finalizar, eles acabam por justificar seus conselhos (retardamento) listando todas as coisas incrivelmente complexas que codificaram com uma única mão (geralmente na linha de "confie em mim, eu fiz / usei o programa X por um longo tempo , blá blá blá").

Agora, estou longe de ser um mestre em programação, provavelmente não sou tão bom assim e, como tal, valorizo ​​conselhos e críticas, mas acho que conselhos / críticas têm um tempo e um lugar. Há também uma grande diferença entre ser útil e ser narcisista. No passado, eu provavelmente usaria uma demissão um pouco mais forte ao estilo de George Carlin, mas não acho que queimar pontes seja a melhor abordagem.

Você tem algum conselho sobre como lidar com esse tipo de flagelação verbal?


10
Eu gosto de 'reinventar a roda' também. Essa é uma ótima maneira de realmente entender uma nova tecnologia. O que, por sua vez, ajuda você com os outros. Além disso, francamente, muitas vezes é tão rápido reinventar uma roda quanto aprender, manter e alterar a roda mal codificada e mal documentada de alguém.
GrandmasterB

31
Reinventar as rodas é ótimo para aprender e é altamente recomendado. No entanto, para código 'real' que fará algo importante, escolha a solução já testada e testada!
Peter Boughton

6
Às vezes, quando 'reinventando a roda', você acaba “construindo uma melhor armadilha para o mouse”.
Rusty

2
Você faz uma roda ruim, entende que é ruim e vai encontrar uma roda fantástica feita por alguém que sabe como fazê-lo.

1
@Rusty, com a emissão sendo que é uma armadilha do rato e não uma roda;)
Matthew Whited

Respostas:


36

Não basta deixá-los falar. Coloque-os na frente de um teclado. A frase "ok, mostre-me" deve fazê-lo. Minha experiência é muito difícil, e quando eles realmente tentam fazer o que dizem, não funciona e as coisas ficam bem quietas.


1
Eu posso esperar. Honestamente, eles provavelmente são melhores programadores do que eu, mas eu tenho muita dificuldade em aprender ou estar na mesma sala que um estúpido social exibindo suas habilidades como se fosse uma licença para ser um idiota completo.
Peter G.

1
Só porque eles são melhores que você não significa o que eles sempre sabem do que estão falando.
Conrad Frix

Vou tentar o seu método, na próxima vez que acontecer. Obrigado.
Peter G.

2
Pragmática é a palavra-chave.
rwong

1
@PeterG. como foi isso?

17

Venho programando há trinta anos. Conheço muitas pessoas que me consideram um "mestre de programação". Quer conhecer meu segredinho sujo? Eu sou apenas pouco competente em algumas áreas, mas é isso. Principalmente eu sou péssima .

Eu trabalhei com alguns gênios incríveis naqueles anos, não com o tipo de atriz que brilha no pódio sobre sua co-estrela, mas com o QI em chamas, Genius com um gênio em maiúscula. Caramba, eu li Knuth.

Se você trabalhar duro o suficiente, mais cedo ou mais tarde, perceberá que o melhor que pode fazer é realmente bastante insignificante em comparação com a amplitude e profundidade do talento existente no mercado. Não vejo como alguém pode chegar a esse ponto e sair com qualquer coisa, menos a humildade mais profunda.

Qualquer pessoa que expresse sua opinião sobre outra pessoa e acredite que seu caminho é o caminho correto acima de tudo simplesmente não é um programador muito bom. Acredite em mim.

Meu conselho, você está no caminho certo, não queimando pontes. Ouça educadamente, aproveite o melhor que puder e siga seu próprio caminho.


Eu acho que existem maneiras diferentes de ver "ser bom", às vezes comparo o tipo de programação que faço a mais de um artesão / comerciante, duvido que algum dia seja um avanço na ciência da computação ou invente algum algoritmo louco que ser um grande avanço, no entanto, as pessoas que fazem esse tipo de coisa costumam se entediar ao criar aplicativos "regulares", pois sempre querem algo mais e mais desafiador, de qualquer forma, estou divagando, mas acho que há algo a ser dito por ser apenas um sólido programador em algumas áreas como você ainda pode ser muito valioso para o empregador
programmx10

5

Como a maioria das situações sociais, isso depende do contexto.

Se essa pessoa está em um papel de liderança (o contexto provavelmente é um local de trabalho), você fica meio confuso, a menos que possa convencê-la a usar técnicas diferentes das que elas escolherem. Espero que eles estejam abertos à crítica de sua equipe. Em muitos casos, descobri que apresentar bons argumentos, sólidos e baseados em fatos, sobre por que sua abordagem específica é melhor para o projeto, muitas vezes os conquistará. Se eles continuam sendo teimosos apenas porque "é assim que deve ser feito" (ou algum outro motivo bobo), eles acabam parecendo ruins de qualquer maneira e você parece que pelo menos tentou ser racional. Nesse caso, eu também recomendo conferir carreiras.so ...

Se essa pessoa é sua colega, você pode simplesmente ignorá-la e seguir em frente. Melhor seria pedir-lhes que explicassem por que valorizam uma determinada biblioteca ou abordagem. Através da discussão, eles podem perceber que suas restrições são diferentes das previstas (por exemplo, você não precisa da "incrível biblioteca super-rápida X" porque não precisa da velocidade bruta do pedal ao metal, ou não Deseja usar o "componente pré-construído Y" porque você pretende minimizar as dependências). Você também pode obter informações valiosas sobre algumas das sugestões. Geralmente, em situações como essas, acabo seguindo o meu próprio caminho, mas geralmente recolho algumas informações úteis, pelo menos olhando para qualquer abordagem / tecnologia / biblioteca que eles estejam advogando.

Se essa pessoa estiver embaixo de você, diga-lhe para sair :) Ok ... talvez seja um pouco mais construtivo do que isso (não seja o tipo de pessoa com quem você está tentando lidar!) E tente novamente entender o que está acontecendo e se comunicar de maneira eficaz.

No final, se a pessoa está realmente sendo um imbecil incondicional que não quer se comprometer, não tem mente aberta e não quer aprender; tudo o que você pode fazer é ignorá-lo e tentar tirar o melhor proveito da situação.


Provavelmente ainda não sou bom o suficiente para conseguir um emprego, então são todos colegas / pessoas on-line / etc. Não tenho problemas em aprender outros métodos (na verdade, eu o valorizo), mas quando digo a alguém que quero tentar isso e eles respondem afirmando o quão horrível é uma ideia, sinto vontade de perdê-la. Talvez evitar seja a melhor abordagem.
Peter G.

2
Para Nick - eu não ignoraria um colega estúpido. Eles têm a capacidade de esgueirar-se sob você e explodir suas iniciativas. Os blowhards também tendem a ser políticos, por isso é melhor nunca subestimar sua capacidade de causar danos, por mais burros que possam ser.
Luis.espinal

1
@luis "Os blowhards também tendem a ser políticos, por isso é melhor nunca subestimar a capacidade deles de causar danos", ... eu daria a você +100 sobre isso, se pudesse. Estive lá, lidei com isso.
Bill

1
@ Peter G - se você é um estudante. Ignore-os, pare de conversar. Eles seguirão a tempo e você também. Se empregado ... você tem um monte de problemas diferentes.
quickly_now

5

Tente descobrir por que ele sente a necessidade de se intrometer dessa maneira.

  • Ele tem medo de você fazer a coisa errada e desperdiçar dinheiro / tempo da empresa?
  • Ele é inseguro e tem medo de ser irrelevante?
  • Ele está tentando ser útil por sugestão de uma solução melhor, mas falhando?
  • Ele está entendendo mal o seu objetivo de explorar o espaço da solução?
  • Essa é a maneira dele de ser amigável?
  • Alguém disse a ele que você sempre deveria usar o X, então ele sempre sugere o X? Por que eles disseram isso a ele?
  • Ele é vendedor de tecnologia X?

Todos estes têm respostas diferentes.

Com uma melhor compreensão do seu 'malandro' - comece perdendo esse rótulo para ele - você será muito mais capaz de encontrar uma maneira de trabalhar juntos.

Você também pode investigar por que isso te incomoda tanto. Por que você não é capaz de ignorar a entrada dele, ou desviá-la inofensivamente?


+1 por considerar que ele pode não perceber o efeito que está tendo. A maioria das pessoas que nos irrita não tem idéia do que está fazendo, e muitas vezes acabamos interpretando o que alguém diz com base em nossas experiências, que são diferentes das deles, e por isso atribuímos significado a um "comportamento" e configuração de "regras" que ninguém sabe a não ser nós.
Tim Claason 15/02/11

2

Mude para um modo de programação funcional. A maioria dos especialistas conhece Java e nada mais. Então, no momento em que você os atinge com algo estranho, como Haskell, Lisp ou mesmo Ruby, eles vão parar de morrer.


1

Eu diria a eles para se safarem (você poderia usar mais verborragia diplomática, se desejar) ou simplesmente ignorá-los. Não há muitas opções além do que eu disse. (O assassinato pode funcionar, mas a legalidade varia de acordo com o local.)


4
Eu não acho que isso é a melhor maneira de lidar com a situação ...
TheLQ

1
Eu tentei a abordagem menos diplomática, mas não gosto de fazê-lo. Gritar me faz sentir pior. Muitas vezes eu senti vontade de socá-los através de uma parede, mas eles geralmente são muito maiores que eu (shamu vem à mente). E, no meu corpo de milho, com 1,5 metro de altura, seria como tentar assaltar uma bola de boliche com um limpador de cachimbo.
Peter G.

@ Peter - Estou pensando em excluir isso, pois não é exatamente uma resposta séria da minha parte.
precisa saber é o seguinte

1
Está bem. A vida precisa de mais comédia / sarcasmo.
Peter G.

Acho que nunca fui tão longe no local de trabalho, mas provavelmente essa é sua única escolha com um golpe extremo.
JeffO 14/09/10

1

Por que você se importa com o que essa pessoa diz? Eles são seu chefe? Quem se importa? Todo trabalho tem um cara, espero que não você, que eles evitem ou o ouvem descendo o corredor e eles se esquivam. Eles simplesmente não gostam dele. Eles podem nem saber o porquê. Mas é assim que o mundo é. Seja cordial e quem se importa. Parece que você quer sua libra de carne e bater nele um pouco.


Difícil se você trabalha para alguém assim.
quickly_now

0

Havia um cara assim no meu último local de trabalho. Ele não apenas opinava sobre todas as tarefas discretas em que todos estavam trabalhando, mas também se levantava e perguntava "o que você está fazendo - só estou interessado!" exatamente quando você estava começando uma tarefa, em vez de continuar seu próprio trabalho ao qual ele havia sido designado. Uma coisa é ter uma opinião sobre algo de vez em quando - cada um de nós tem pontos de vista e as equipes produtivas devem estar sempre abertas a sugestões válidas de seus colegas - mas é outra perspectiva quando um indivíduo retira repetidamente outros desenvolvedores de seu trabalho, pedindo-lhes que parem o que estão fazendo e expliquem a eles, na esperança de que possam desenvolveruma opinião durante o curso da conversa que eles propõem ter, em vez de permitir que seus colegas continuem seu trabalho.

Quando esse cara em particular tentou o que foi dito acima, sua linha de abertura era "O que você está fazendo?", Ao qual dei um breve resumo educado da tarefa em que estava apenas começando, caso ele estivesse apenas perguntando casualmente do que procurar um debate longo e não muito esclarecedor sobre o assunto, como eu suspeitava de uma experiência anterior dolorosa, era sua intenção. Quando, em resposta à minha explicação geral, ele continuou dizendo: "Eu não entendo? ...", em um tom que sugeria que nada me faria mais feliz do que parar o que estava fazendo para explicar minhas intenções para ele com mais detalhes, Eu apenas disse "Por que você precisaria entender?", O que o impediu de seguir em frente.

Todos os outros desenvolvedores do escritório riram alto enquanto ele voltava emburrado para o seu lugar, incapaz de responder à minha pergunta. A lição aqui, se posso presumir dar uma, é que essas pessoas são sempre melhor tratadas civil e calmamente, mas com firmeza. Se você não entender a interferência deles em seu trabalho e interromper qualquer conversa que ameace assumir o teor de uma discussão antes mesmo de começar, essas pessoas geralmente não têm para onde ir na tentativa de atrapalhar seu processo de pensamento.


Não sei se gosto dessa abordagem; todos na equipe devem saber o que todos os outros estão fazendo - abordagem e tudo; caso contrário, se estiverem por algum motivo, ninguém poderá entender. Além disso, sempre que possível, toda a equipe deve contribuir com relação à técnica para garantir a melhor abordagem.
Orbling

Discordo - somos equipes de desenvolvimento, não os Borg. O projeto do comitê não funciona, nem o corte e a alteração de tarefas como se os desenvolvedores fossem apenas partes intercambiáveis. Certamente, estou aberto a outras pessoas que contribuam respeitosamente com visões e opiniões para o meu trabalho, mas, como observado acima, faço uma distinção entre ter uma opinião existente e simplesmente afastar outras pessoas de seu trabalho, pedindo que parem o que estão fazendo e queimem tempo explicando suas idéias para você. Algumas pessoas gostam de ouvir o som de sua própria voz, e esse desenvolvedor em particular estava nessa categoria.

@orbling, parece um motivo para uma reunião agendada para mim!

@ Thorbjørn Ravn Andersen: No mundo moderno, muitas vezes você distribui equipes pelos continentes. Uma reunião agendada pode ser uma coisa muito difícil de conseguir, algo a ser evitado sempre que possível a qualquer momento.
Orbling 5/10/11

@Orbling, a resposta falou claramente sobre os desenvolvedores localizados no mesmo local físico. No entanto, mesmo para equipes distribuídas, você precisa de coordenação para evitar que as pessoas sejam perturbadas o tempo todo.

-2

Bata neles com a linha "Você nunca deve usar algo que não entende".

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.