Eu estrago a vida dos desenvolvedores com meus comentários de código e me desculpe



Era uma vez um cara do meu time tão fraco que ele seria demitido (um desenvolvedor! Demitido!). Cada comentário meu era outro prego em seu caixão. Eu quase conseguia ouvir o barulho do martelo toda vez que clicava em "Enviar revisão". Ele era uma pessoa legal e eu quase me senti mal por ele, mas isso não me impediu de rasgar seu trabalho em pedaços. Eu tinha o direito inalienável de criticar o trabalho dele, certo? Sou um desenvolvedor melhor, portanto, estou certo. Ninguém quer dizer que código ruim é bom, certo? Ele acabou sendo demitido, não antes de deixá-lo sem o bônus habitual por alguns meses.

Eu disse para mim mesma: “Eu não vou fazer o trabalho dele, certo? Ele estava tomando o lugar de um desenvolvedor mais talentoso. Eu fiz tudo certo. Mas, então, recebi outra solicitação de pull para uma revisão e algo mudou. Drasticamente.

À primeira vista, era o mesmo de antes. Abri pr, olhei para o problema que resolvia, imaginei como poderia resolvê-lo e olhei para o código. Como sempre, era puro lixo. Nem de longe a solução que eu poderia ter encontrado. OK, digitei as queixas gerais e fui aos detalhes. String após string trouxe questões e semi-questões, pontuadas pelos meus comentários passivo-agressivos.

Eu era, novamente, tecnicamente mais forte. Uma solicitação de extração de mil cordas estava cheia de 200 comentários, não deixando a pessoa nem uma leve esperança em sua competência. Ótimo

Apontei o cursor para "Enviar revisão" e depois parei e pensei: por que estou fazendo isso?
A razão para essas revisões irritadas de código é óbvia. Como parte da equipe, sou totalmente responsável pela base de código do projeto. Eu tenho que trabalhar com isso depois, afinal. É uma fonte de muitos problemas para os negócios. O código não é escalável, não pode ser testado corretamente, está cheio de bugs. O suporte fica cada vez mais caro. Ele não pode ser de código aberto ou usado para atrair novos desenvolvedores.

E então este script kiddie aparece. É assim que as críticas sempre são explicadas, certo? Um bom desenvolvedor defende os interesses do negócio, ele garante que a empresa continue como um relógio.

Mas eu realmente não acredito nisso. Eu não acho que essa seja minha justificativa.

Fiquei furioso porque, enquanto passava minhas noites aprendendo F #, minha filha começou a chamar todos de "pais". E esse cara, em vez de melhorar seu trabalho, voltou para casa para seus filhos. E eu queria puni-lo.

Porque eu faço revisão de código para auto-identificação. Não dou a mínima para o projeto ou o código. Sou simplesmente um louco que pode machucar pessoas. Eu sou um psicopata com licença para matar. Um macho alfa com uma vara enorme.

Quando percebi isso, senti vergonha de mim mesma. Você me pergunta o que eu sou, e responderei que não sou um maníaco tão louco e egocêntrico. Pelo menos em outros aspectos da minha vida. Então, por que sou tão mau em minha profissão?



Quando eu estava aprendendo o desenvolvimento de software, uma das fontes mais valiosas de informação para mim eram os fóruns. Fiz uma pergunta e fui intimidado em resposta: as pessoas estavam me dizendo que o problema em si é uma porcaria, minha solução é ainda mais ruim, escolhi o idioma errado e não mereço estar entre os “bons” programadores.

Eu queria melhorar aparentemente apenas para colocá-los no lugar deles. Era como nos esportes - eu treinei não por uma boa causa, mas simplesmente para me tornar "maior, mais forte, mais rápido" do que outros. Como um boxeador novato, tentando nocautear o grandalhão da TV.

Foi doloroso, mas eu segui em frente.

Quando me tornei melhor, dei meu código para revisão aos verdadeiros "lobos". Para desenvolvedores mais talentosos e três vezes mais experientes que eu. E toda vez que eu era prontamente humilhado, e de uma maneira que eu pensava em deixar a indústria. Eu era burra demais para tudo isso. A codificação de uma semana foi destruída em questão de minutos, e eu não conseguia nem discutir com nada - cada nota e reclamação era implacavelmente óbvia e precisa. Estranhamente, toda vez que isso acontecia, no dia seguinte eu me convenci de que em um ano ou dois serei melhor que eles e descobriremos quem é o verdadeiro "rei".

E finalmente, eu me tornei exatamente o que eu odiava: um idiota tóxico jogando suas habilidades ao redor como punhos. Não faço revisão de código para a empresa, apenas gosto de mostrar aos novatos o seu lugar. Minhas habilidades finalmente começaram a valer a pena.

Se um cara me traz seu código e ele cometer erros, isso traz prazer insano de como eu me sinto inteligente. E então o cérebro entra em ação e elabora uma explicação conveniente, como para um político que estragou tudo. Dirá que, na verdade, estou fazendo a coisa certa, guardando a base de código em benefício da empresa. Mas "conveniente" não significa "verdadeiro".

E se você me disser que nunca teve esse sentimento, está mentindo. Conte-me sobre objetivos mais altos, treinar novatos e tudo mais - eu sei que você é simplesmente muito cheio de si. E se você tentar me dizer que aprendeu a derrotar esse sentimento (por mais que se manifeste em você), então devo ser um unicórnio rosa.

Mas aqui está o que eu pensei. Por um lado, aprendi a codificar precisamente porque me diverti todo esse tempo. As pessoas despertaram minha raiva, e essa raiva me ajudou a melhorar. O universo me abençoou com essa característica, para que eu possa despertar a raiva em outros programadores jovens e inexperientes, para que eles mesmos se tornem melhores programadores e façam o mesmo com os outros, e assim por diante, por toda a eternidade.

Nossa sede de sucesso às custas dos outros é uma ferramenta simples nas mãos da seleção da natureza. E eu aceitaria isso como está, se não fosse por um erro crítico.



Quando você começa a copiar as práticas bem-sucedidas de outras pessoas, mas todas são idiotas, você diz: "Ei, eu também posso ser assim". Você começa a parecer um gênio sangrento e um deus da programação, e tudo começa a clicar. Você fala como se conhecesse suas coisas e as pessoas acreditam em você.

Senti que estou onde não estou porque sou competente, mas porque sou um egomaníaco. Todas as pessoas egocêntricas que conheço têm mais sucesso do que seus colegas mais modestos. O código deles é melhor, eles são colocados em projetos melhores e ganham mais. Gerentes e diretores os consideram mais valiosos e os colegas de trabalho os respeitam mais.

Aconteceu que, em vez de se tornar um bom codificador, você simplesmente precisa convencer os outros de que é um bom codificador. Esse comportamento gera um ciclo vicioso que não produz profissionais, mas sim testes tóxicos.

E se você conseguiu chegar ao topo, está constantemente com medo de que esse verniz se dissipe. Isso leva a outra falácia lógica: você tenta convencer a si e aos outros que demonstrações externas de poder são o que realmente é o poder.

Quando você trabalha como desenvolvedor, sempre tem que discutir. Você, como equipe, chega a uma solução após muita discussão, mesmo que as chamemos de "discussões". E, no entanto, é de alguma forma importante que seus argumentos “ganhem” com mais frequência do que nunca, apenas para se sentir bem e confiante em seu poder.

Isso me lembrou de uma experiência que tive. Eu costumava me convencer de que os gays são ruins. Não pensei muito nisso: há muito tempo meu pai me disse isso, e eu lembrei. Uma vez eu estava em um bar com um partido de liberais, e esse tópico surgiu. Anunciei imediatamente minha posição sobre o assunto e eles disseram "Phil, está tudo errado". E começamos a discutir. Eu nunca pensei sobre o assunto seriamente e não tinha argumentos decentes, mas não conseguia parar de argumentar. Eu tinha um objetivo - vencer e salvar a cara. Eu ainda não sei o porquê.

Eu ainda sou assim, até certo ponto. De alguma forma, é extremamente importante para mim vencer as discussões, estar sempre certa e fazer tudo perfeitamente. Não importa de quem é a idéia melhor, mas deve ser minha que seja implementada.

Está muito, muito bagunçado. Eu nunca quis ser assim!



Esta revisão eu comecei o artigo com? Eu não enviei. Em vez disso, dei alguns comentários ao sujeito e pedi educadamente para consertar algumas coisas. Não é grande coisa, se o código não for bom, eu posso consertar sozinho. Mas não posso consertar a psique de um cara quebrado por dezenas de críticas severas.

Minha personalidade hoje não é minha doença. É uma doença de toda a indústria, pelo menos na Rússia. Nossa mentalidade é baseada no culto ao poder e à superioridade. E é isso que precisamos corrigir: basta parar de ser isso. É bem fácil, na verdade.

Se estávamos rindo quando jovens, isso não significa que você deve retribuir o favor mais tarde. O ciclo vicioso pode ser facilmente quebrado. A vida se torna mais fácil se você aprender a perder argumentos, se puder admitir que outro desenvolvedor é mais talentoso que você.

É uma jogada ao estilo do Aikido. Eu engano meu egomaníaco tóxico interno, convencê-lo de que aceitar suas fraquezas é ótimo, e isso começa a se orgulhar do que ele fez. E não importa quais tabus eu quebro no processo se isso me faz sentir melhor.

Source: https://habr.com/ru/post/pt440736/


All Articles