Sexo, mentiras e desenvolvimento de software

Há algum trabalho de programação que o senhor não aceitaria? Não porque os empregos não pagassem o suficiente, tivessem benefícios ruins ou vantagens limitadas, mas porque o trabalho em si o deixava desconfortável? Considere a história do um escritor do freshmeat.net:

Antigamente (digamos, 1996), eu era apenas mais um programador Perl escrevendo scripts CGI para ganhar a vida. Bem, era mais dinheiro de bolso, mas tudo bem. Eu escrevia scripts por diversão, para ganhar dinheiro e porque sou um nerd e adoro programação. Então, um dia, recebi um telefonema de uma empresa. Um amigo meu havia me indicado e eles queriam que eu escrevesse um script de CGI. O senhor com quem falei era muito bem-educado e educado, o típico gerente simpático.

Depois de conversar um pouco, ele chegou ao ponto. O script de CGI que eu deveria criar era para pegar um arquivo de imagens e torná-lo pesquisável por tópico. Por si só, nada de extraordinário, mas quando perguntei, por curiosidade, de que tipo de imagens estávamos falando, fiquei surpreso ao descobrir que se tratava de pornografia. Sim, pornô.

Aceitei o trabalho, e a vida mudou radicalmente. Em vez de os amigos dizerem “legal” ou alguns programadores que eu conhecia dizerem “bom script”, eles se afastaram, recusaram-se a falar comigo, recusaram-se a olhar o script. Por muito tempo, fiquei me perguntando por quê. Este ano, fui a uma convenção. Eu estava lá apenas procurando coisas novas e legais, nada mais. Todos com quem conversei foram amigáveis e muito simpáticos, até o momento em que contei o que fazia para viver. Então, de repente, eles se lembraram de que tinham algo melhor para fazer.

E por quê? Trabalhar na parte adulta da rede significa que sou um canalha? Significa que sou desprezível? Significa que não sou digno de confiança? Isso significa que meu código é ruim?

Isso foi há oito anos. Eu me pergunto como o autor do artigo original, agora com mais de 30 anos, está progredindo em sua carreira. Ele ainda escreve códigos para o setor adulto? De alguma forma, duvido.

Não se trata apenas de um comentário aleatório de minha parte. Eu quase estive na mesma situação. Há cerca de dez anos, fiz uma entrevista para um cargo de programador em um importante fornecedor de produtos para adultos com sede na Carolina do Norte. Depois da entrevista, perguntei à minha namorada (agora minha esposa) como ela se sentiria se eu aceitasse um emprego mais ou menos no setor adulto. Embora ela seja flexível em quase todos os assuntos, essa é uma área em que ela tinha sérias reservas. Acho que as palavras-chave foram “o que vamos dizer aos nossos pais?”. É uma pergunta justa. Aliás, o que o senhor diz aos seus amigos quando eles perguntam onde o senhor trabalha? Seus colegas? Isso foi o suficiente para me impedir de aceitar o emprego.

Anos depois, encontrei um de meus antigos colegas de trabalho que tinha aceitado um trabalho de programação lá. Acontece que fiz a escolha certa, mas não pelos motivos que o senhor poderia imaginar. Havia problemas técnicos e gerenciais no trabalho que superavam em muito os efeitos da escolha incomum do setor. Dito isso, quando perguntei a ele como era o ambiente, trabalhando diariamente com produtos para adultos, ele respondeu com uma palavra: estranho.

O setor adulto apresenta desafios técnicos e de dimensionamento interessantes, talvez mais interessantes do que criar mais uma linha de negócios CRUD para mais uma MegaCorp. Um tópico de discussão recente do Reddit que perguntou se o senhor projetasse um site pornográfico, colocaria isso no seu currículo? tinha alguns exemplos excelentes.

[Adult] Os sites têm muitos atributos de alta qualidade: processamento de pagamentos, conteúdo seguro, manutenção de nome de usuário e senha (especialmente manutenção de autoatendimento), atualizações rápidas e, se o site for bem-sucedido, alguns problemas interessantes de dimensionamento que podem ser contornados.

Eu trabalho para uma [adult] site. Isso vai para o meu currículo. Todas as pessoas a quem falei em um ambiente profissional ou semiprofissional ficaram impressionadas e quiseram saber os detalhes técnicos sobre a configuração do nosso servidor e a largura de banda. Ainda não conheci ninguém, amigo ou possível empregador, que tenha ficado desanimado com a ideia de eu estar servindo [adult content]. E estou disposto a dizer que não trabalharia para alguém que me julgasse negativamente por causa disso. Entrei nisso por causa dos problemas interessantes de escalonamento e do potencial de filtragem e seleção da sabedoria das multidões. E o senhor sabe, é divertido.

Trabalhei no setor de [adult] há mais de 8 anos. Se eu fosse me candidatar a um novo emprego, o senhor pode apostar que eu incluiria isso no meu currículo. Acho que não gostaria de trabalhar em uma empresa que não visse o benefício de ter alguém a bordo que tenha trabalhado com sistemas que precisam funcionar sempre, que tenham um custo conhecido por minuto de tempo de inatividade e que estejam em um ciclo de lançamento permanentemente contínuo.

O tom geral do conselho é que, se o senhor optar por trabalhar na indústria adulta, o senhor terá de contar mentiras sobre seu trabalho — Pequenas evasivas sobre o que é o seu trabalho e para quem ele se destina, dependendo do público. Invocar NDAs vagos. Descrever as coisas em termos amplos e gerais.

E se o senhor visse este anúncio de emprego de programação:

  • Trabalhe em casa em um site grande e de alto tráfego com muitos problemas desafiadores de escalonamento.
  • Use as estruturas e tecnologias mais recentes.
  • Defina seus próprios horários.
  • Excelente remuneração por meio de transferência eletrônica de uma conta no exterior, com todos os benefícios.

(Não estou inventando nada disso, na verdade estou resumindo uma listagem de emprego real). Parece ser um fantástico trabalho de programação, certo? Mas e se eu dissesse ao senhor que esse anúncio de emprego é para um site adulto? O senhor ainda consideraria isso?

Falo isso porque recentemente li um ótimo artigo do sobre implantação contínua.

Nosso conjunto de testes leva nove minutos para ser executado (distribuído em 30-40 máquinas). O envio de nosso código leva mais seis minutos. Como essas duas etapas são em pipeline, isso significa que, no pico, estamos enviando uma nova revisão do código para o site a cada nove minutos. Isso equivale a 6 implementações por hora. Mesmo nesse ritmo, muitas vezes estamos agrupando vários commits em um único ciclo de teste/push. Em média, implantamos um novo código cinquenta vezes por dia.

Meu entusiasmo com esse feito supremo de engenharia de software foi atenuado pelo fato de que, quando cliquei para saber mais sobre a empresa que estava fazendo essa engenharia de software sofisticada, descobri que se tratava de um sistema de avatar de bate-papo em 3D. Um sistema muito… sexy.. Sistema de avatar de bate-papo em 3D. Basta ver os anúncios para entender o que quero dizer:

Anúncio do IMVU

O que está sendo vendido aqui? Já vi anúncios “sensuais” semelhantes do IMVU com avatares femininos em 3D usando lingerie minúscula aparecerem organicamente no meu Pedra de plástico falsa em um blog, entre todos os lugares. Não sou a primeira pessoa a a fazer essa conexão, ou.

Um leitor expressou sua irritação com os anúncios do IMVU que têm sido exibidos na barra lateral recentemente. Na verdade, fiquei feliz em ver que não era o único. Eles têm uma sensação de lixo, de denominador comum mais baixo. Uma espécie de vibração do tipo “Welcome to Hoochie World”. O anúncio está sendo veiculado há mais de um mês e eu nunca vi uma foto de um único avatar masculino. Ou é a quase-presidiária de biquíni ou um casal de vadias em um abraço pseudo-safado. Usar uma garota bonita para vender seu produto é perfeitamente razoável, mas fazer isso com tanta falta de classe me dá nos nervos. Nunca usei o software, mas os anúncios me fazem pensar que o software de bate-papo deles é um mundo habitado por garotos adolescentes que falam inglês e que, em comparação, fariam o tópico médio do FARK parecer o Mclaughlin Group.

O perfil do usuário do IMVU “hottiepie4life” deixa bem claro que o IMVU, embora não seja bastante parte da indústria adulta propriamente dita, fica muito perto da borda dela. O suficiente para que eu, pessoalmente, não me sinta à vontade para trabalhar lá ou conversar com alguém que tenha trabalhado lá. E isso certamente colore e desvaloriza minha impressão sobre o trabalho técnico realizado lá.

Talvez esse seja o meu problema. O assunto dilui o excelente trabalho técnico que a equipe do IMVU pode estar fazendo? Não. Mas ao mesmo tempo, não posso deixar de questionar o valor final desse trabalho. Não sou puritano. E não espero que todo programador esteja fazendo um trabalho nobre e altruísta para o bem da humanidade. Mesmo assim, é difícil para mim respeitar a engenharia de software a serviço desses interesses de menor denominador comum.