Guilda de Programadores - Religião e Esportes
O DHH fez um keynote de abertura muito bom na RailsConf'17 explicando como é completamente equivocada a tendência atual dos desenvolvedores de se convencerem de que estão fazendo escolhas “racionais” e “baseadas em fatos”, quando na realidade estão se apegando aos “valores” subjacentes de alguma comunidade. Algo muito mais próximo de “religião” (escolhas baseadas em fé) do que de ciência de verdade.
Minha linguagem é “mais rápida”. Meu framework é “mais elegante”. Minha ferramenta é “mais produtiva”. Minha comunidade é “mais simpática”. Todos são motivos uma bosta para escolher qualquer coisa, porque esses motivos não importam de fato.
Apesar de o DHH ter feito um bom trabalho descrevendo a realidade das escolhas dos desenvolvedores, ele não foi longe o suficiente para explicar por que todos nós fazemos isso. Incluindo ele mesmo. Incluindo eu.
A teoria do framework religioso explica alguns dos comportamentos, mas eu iria ainda mais longe.
A maioria dos desenvolvedores se assemelha muito mais a torcedores esportivos (ou fanáticos, como é a raiz da palavra “fã”).
Olha alguns pontos do artigo “Por que Torcedores são Torcedores”:
- Tem muita dramaturgia.
- É divertido assistir à grandiosidade.
- Desperta aquele lado macabro nosso que quer sentar no Coliseu romano e ver pessoas lutando até a morte.
- É esteticamente agradável.
- O mundo esportivo tem muito fofoca.
- Esportes são uma fuga da vida.
- É uma ferramenta perfeita para suas tendências paralisantes de procrastinação.
- Às vezes acho que usamos esportes como uma forma de nos apegarmos a algo imortal.
- Numa época em que triunfos heroicos não fazem parte da vida da maioria das pessoas, o esporte nos permite capturar um pedacinho desse sentimento de glória.
Os nichos de desenvolvedores se parecem mais com times esportivos em competição. Tem que haver “vencedores” e “perdedores”. E as pessoas torcem a cada pequena vitória — como benchmarks sintéticos inúteis ou índices pseudo-estatísticos e sem sentido como o TIOBE.
Torcedores de times perdedores sentem que precisam aumentar a lealdade para conseguir a recompensa máxima.
Os níveis de testosterona sobem ao discutir besteiras no Hacker News. Os threads ficam infinitamente longos, cada um lançando “evidências” uma bosta para “provar” seu ponto. Cada argumento tem um contra-argumento fácil, e os threads se estendem indefinidamente. Ninguém jamais concorda com o lado contrário. Ninguém jamais muda de posição com base nos argumentos expostos nesses threads. Mesmo assim, continuam perdendo tempo escrevendo. É uma loucura.
Pessoas — especialmente jovens — gostam de ter um senso de pertencimento, de desindividualização, de responsabilidades diluídas. Isso é parte do que escrevi alguns anos atrás sobre a tendência absurda atual nas linguagens funcionais.
Como Mike Perry descreve nesse post, os torcedores mais apaixonados tendem a se identificar como parte integrante do time que apoiam, com alguns deles — claramente — sentindo menos responsabilidade pelo próprio comportamento individual. Quando a desinibição se combina com a desindividuação — uma perda da autoconsciência e um senso de responsabilidade difusa — os torcedores simplesmente não se importam mais com o que qualquer outra pessoa possa pensar ou sentir. A desindividuação enfraquece as restrições normais sem as quais os torcedores são mais facilmente influenciados pelo ambiente; é quando os torcedores começam a agir de formas — realmente — estranhas, de maneira agradável ou desagradável.
Grupos de torcedores podem intimidar, insultar, ameaçar ou até provocar tumultos. Os grupos proporcionam aos torcedores um senso de anonimato. Fazer parte de um grupo remove a responsabilidade individual e dilui a responsabilização. Infelizmente, esse comportamento aparece online com a mesma frequência que nos estádios.
Sports Networker - Leia mais
Conferências de tecnologia são como os jogos esportivos do fim de semana. As pessoas gostam de se sentir validadas estando no meio de grupos com as mesmas ideias.
Assim como com os esportes, os desenvolvedores sentem que seus “times” (tecnologias, empresas) são extensões deles mesmos. Pior ainda: sentem que esses times descrevem suas personalidades. Por isso os desenvolvedores reagem tão apaixonadamente a argumentos contrários — soa como uma agressão à própria identidade.
“Quando olhamos para a motivação de torcer por um time esportivo, a afiliação ao grupo é uma das principais,” diz Wann. “Identificar-se fortemente com um time local relevante onde outros torcedores estão no ambiente — isso é um benefício para o bem-estar sociopsicológico.”
“A ideia toda por trás da identificação é que ela realmente faz parte de como nos vemos, e isso não muda facilmente,” diz Robert J. Fisher, professor de marketing da Universidade Western Ontario, cuja pesquisa enfatiza os efeitos das expectativas sociais na tomada de decisão gerencial e do consumidor. “Se você se enxerga como membro de uma família, esse papel não muda. Esses tipos de conexões são muito duradouros e muito fortes.”
Psychological Science - Leia mais
É tudo um grande espetáculo e você é a plateia. Só não se engane achando que está sendo “científico” nas suas escolhas.
Somos todos vítimas de um pesado Viés Cognitivo, que nos cega para a realidade:
Aqui está um ótimo post de Sam McNerney (@WhyWeReason) explicando o viés cognitivo. É o fenômeno em que todos nós buscamos apenas o que confirma nossas intuições e ignoramos o que as contradiz — o que os psicólogos chamam de viés de confirmação. O viés de confirmação ajuda a explicar por que alguns torcedores vão vaiar cada decisão do árbitro contra seu time, e por que torcedores ingleses de futebol ainda — até hoje — discutem com alemães se a bola cruzou ou não a linha em 1966(!). Os torcedores automaticamente enxergam o mundo como querem que ele seja, não como ele é.
Sports Networker - Leia mais
Mais interessante ainda: da mesma forma que torcedores de times perdedores, as pessoas encontram maneiras de lidar com isso. E a superstição é uma delas.
Superstições são parte integrante dos esportes e podem ser mais uma forma de os torcedores lidarem com o desempenho do seu time.
Em pesquisa em andamento, Wann e seus colegas estão explorando o papel da superstição dos torcedores. Mais da metade dos seus 1.000 participantes consegue definir prontamente uma superstição ou ritual em que acredita. Além disso, alguns estão genuinamente convencidos de que sua participação em superstições rituais afeta o resultado, diz Wann. Quanto mais identificados com um time os torcedores são, mais propensos estão a acreditar que superstições importam.
“É uma luta real que os torcedores vivenciam,” diz Wann. “Eles se importam tanto com o resultado do evento sobre o qual não têm absolutamente nenhum controle. Como ganhamos controle? Podemos desenvolver superstições.”
Psychological Science - Leia mais
O que sempre tenho a dizer sobre toda essa besteira:
Se ser o “mais rápido” fosse uma preocupação real de verdade, todos estaríamos programando em C, o mais próximo possível do metal.
Se ser o “mais seguro” fosse uma preocupação real de verdade, jamais faríamos fetch de bibliotecas criadas por pessoas desconhecidas, sem certificação, sem treinamento. Construiríamos tudo do zero, por nós mesmos, sempre, e esperaríamos meses de testes pesados antes de entregar qualquer coisa em produção. Sabe, como o militares faziam.
Se ser o “mais elegante” fosse uma preocupação real de verdade, não estaríamos preocupados em ser o mais rápido ou o mais seguro, já que essas coisas geralmente apontam em direções opostas.
O ofício de um engenheiro — ou de qualquer profissional — é conseguir escolher entre diferentes compromissos e manter o equilíbrio. Nunca se comprometer cegamente com um grupo ou com uma forma de pensar. Amadores delegam a lealdade para outros. Profissionais se responsabilizam pelas próprias escolhas e fazem concessões.
Escalabilidade, Manutenibilidade, Confiabilidade — cada “-bilidade” que adicionamos à lista é um compromisso. Não dá pra ter o bolo e comê-lo também. Quer mais, paga mais. Como toda tecnologia é uma combinação de compromissos, não existe um único vencedor ou perdedor claro. Tudo vai vencer em alguns aspectos e perder em outros.
Como o Neo percebe em Matrix: o problema é a escolha. O problema é sempre a escolha. As pessoas não gostam de escolher porque isso as torna responsáveis. É muito mais fácil deixar outra pessoa escolher e simplesmente seguir, criando a ilusão de que você fez uma escolha “racional” porque “o grupo” a valida.
A realidade que você vai perceber eventualmente é que não há obrigação de fazer “a” escolha.
“Mocinhos” e “bandidos” claros só existem em contos de fadas e histórias para crianças dormirem. O mundo dos adultos é definido por tons de cinza.
No fim das contas, o DHH está certo. Não importam as especificações técnicas do PS4 Pro vs Xbox One S vs Nintendo Switch. Não importa a quantidade de teraflops. Não importa a largura de banda. Não importa 4K nativo ou checkerboarding 4K. Se eu gosto de Zelda, jogo no Switch. Se gosto de Forza, jogo no XBox. Se gosto de Uncharted, jogo no PS4. E se puder pagar, fico com todos eles. Se não puder, escolho o que quero jogar agora sabendo que posso mudar de plataforma sem ter que me justificar através de especificações técnicas.
Seja subscrevendo à Rails Doctrine ou ao Zen do Python. Não faz diferença. Vou fazer um Zelda com isso? Caso contrário, qualquer “evidência” que você ache ter para contra-argumentar minha escolha é uma besteira completa. Nem tente.
Mas claro, você deveria usar Ruby se for um desenvolvedor racional ;-)