BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Artigos Sendo um engenheiro de software ético

Sendo um engenheiro de software ético

Favoritos

Pontos Principais

  • Como software está se tornando a base da sociedade que conhecemos, nós desenvolvedores precisamos estar cientes do que desenvolvemos.
  • Existem grandes questões éticas nas tecnologias avançadas atuais, que também estão incorporadas nas pequenas decisões que constantemente fazemos
  • Trazer discussões éticas para nossa prática cotidiana é um desafio (mas precisamos fazer isso).
  • Não use a tecnologia como desculpa, assuma a responsabilidade!
  • Use as habilidades, tome partido, escolha de maneira ética.

Por que a ética, e por que agora?

Sempre fui interessado em filosofia e pelos aspectos culturais da tecnologia, e nos últimos anos, tornei-me cada vez mais preocupado com a direção que estamos tomando. Há muitos aspectos em nossas vidas que estão melhorando por causa da tecnologia, porém também existem direções preocupantes que estamos tomando na política, na nossa sociedade e em como tratamos cada uma delas.

Nas últimas décadas, a tecnologia com os computadores e softwares, é a principal força que têm influenciado tais direções, o que significa que a engenharia de software é uma das práticas mais influenciadoras que temos em nossa sociedade, mas não parece que a indústria está assumindo tal responsabilidade social. Há uma tendência em ignorar as consequências dos produtos que fazemos, vendo a tecnologia e o software como algo que é justificado por si só. Vamos dar uma olhada na relutância de longa data do Facebook, Google, do Reddit em assumir responsabilidades por notícias falsas e conteúdo de incitação ao ódio que tem sido compartilhados através das plataformas. Ou a negação do impacto do Airbnb sobre a crise imobiliária nas cidades, ou qualquer jogo de celular que solicite compras dentro do aplicativo para crianças pequenas. Muitas coisas podem ser feitas com a tecnologia em uma escala muitíssima maior. Nós, desenvolvedores, estamos constantemente discutindo como implementar tais coisas, mas onde estão as discussões sobre se devemos implementá-las?

Uma boa indicação da baixa prioridade que tem sido dada à ética é refletida em como os estudos da ciência da computação ou desenvolvimento de software são construídos. Quase nunca se vê cursos de filosofia, ética ou estudos culturais como parte obrigatória do currículo. Estamos criando gerações de profissionais influentes que não são treinados para ver o contexto como um todo e não estão considerando as implicações do que fazem. Tudo é sobre indicadores de desempenho, nunca se é dito se estamos fazendo o bem ou não.

A ética está presente naquilo que desenvolvemos

Uma área em que vemos melhoras nas discussões éticas, são as da IA ​​e de aprendizado de máquina. Essas são áreas, em que as questões éticas são bastante óbvias, pois estamos começando a usar computadores para tarefas mais "humanas", mais abertas, menos computacionais por natureza.

Consideremos os carros autônomos, essa é uma das principais áreas em que as discussões estão acontecendo. Os sistemas de IA dos carros autônomos precisarão tomar decisões semelhantes ao clássico experimento do "dilema do bonde". Siga em frente e baterá em uma pessoa, desvie e baterá em outra. O que deveria ser feito? E se for uma criança contra um adulto? Ou duas pessoas contra uma? Como tomar essa decisão?

Este é um clássico problema ético que não tem uma boa resposta. Há toneladas de discussões sobre o assunto, e agora esperamos que um sistema de software tome essa decisão e que desenvolvedores e arquitetos que projetem sistemas criando um algoritmo para tomar essa decisão. Como fazemos isso? Quem faz a escolha? Quem é responsável pelas consequências desse algoritmo? Como podemos levar em consideração as diferenças culturais e os diferentes sistemas de valores? Essas são perguntas difíceis, e esperamos que desenvolvedores (que nunca estudaram ética e filosofia) tentem resolver tais problemas.

Os carros autônomos tornam essas questões muito óbvias, por isso é um bom exemplo. Mas é inerente a quase todas as áreas que envolvem IA para tomada de decisões. Vemos sistemas de RH que selecionam candidatos, sistemas legais para pontuação de risco, e até mesmo empresas tentando construir sistemas que são quase uma espécie de máquina da verdade. Existem toneladas de implicações éticas e sociais para esses sistemas, e as empresas estão correndo para construir tais sistemas porque é isso que fazem. E os desenvolvedores são aqueles que as constroem, e quase ninguém para refletir e questionar sobre os efeitos que isso pode criar nas pessoas e nas estruturas sociais.

Existem pequenas questões éticas que enfrentamos em nossa vida profissional cotidiana, que a maioria de nós não presta a devida atenção, por exemplo, quando desenvolvemos uma tela de cadastro para um sistema, quando disponibilizamos opções de seleção de algo para os usuários, fazemos com opções de inclusão ou exclusão? Isso é algo que pode ter uma consideração ética, qual deve ser o padrão, quando o usuário precisa tomar uma ação consciente e quais são as implicações disso? No YouTube, por exemplo, a reprodução automática é marcada por padrão como "ativada". Precisamos selecionar explicitamente a opção não assistir ao próximo vídeo. Do ponto de vista ético, isso diz algo sobre como o produto trata os usuários, como valoriza o tempo e a liberdade de escolha das pessoas. Temos a tendência de abordar essas questões de uma perspectiva métrica (como se parecerá o funil, como isso afeta a convergência), mas não paramos para refletir a ética que incorporamos nos produtos que desenvolvemos.

Indo contra o fluxo

Há desafios em incorporar a ética em nosso modo de pensar. Um dos maiores desafios psicológicos é que geralmente não temos uma resposta concreta para um dilema ético, isso é muito difícil para nós, engenheiros de software, pois estamos acostumados a pensar nas coisas na forma de algoritmos, em maneiras de escrever código a fim de criarmos uma solução, algo testável e previsível. Mas quando falamos de ética, geralmente nos perguntamos. Precisamos falar sobre valores, potenciais consequências, sociedade, como nos vemos, precisamos considerar múltiplas perspectivas e podemos não ter uma solução finita. É confortável evitar tais perguntas e focar nas coisas que podemos realmente solucionar.

Também não há base da indústria para tornar a ética parte do que fazemos. Em outras ocupações mais maduras, geralmente temos um quadro ético em vigor que desempenha um papel como parte da prática profissional, pense a respeito da medicina, arquitetura e construção, engenharia mecânica, áreas na qual um código de ética é algo familiar. Mas a engenharia de software é uma profissão nova, está evoluindo e crescendo em um ritmo sem igual, e se tornou tão importante e inerente a todos os aspectos das nossa vidas e sem tempo para desenvolver a maturidade necessária a fim de incluir a ética como parte do processo de aprendizagem e prática contínua. De certa forma, parar e discutir a ética é ir contra a fluxo do "movimento acelerado" que a indústria demanda.

De maneira a tornar conhecido o que fazemos, devemos nos distanciar do termo "empresa de tecnologia". Atualmente quase todas as organizações fazem uso da tecnologia, porém usam isso frequentemente como chamariz. Temos o "curtir" do Facebook, Uber, e Airbnb, que acima de tudo tentam se posicionar como empresas de tecnologia, evitando assim regulamentações e responsabilidades legais que deve-se esperar de empresas de conteúdo, serviços de transporte, ou de redes de hotéis. Não devemos deixar nos cegar pela tecnologia, não devemos desculpar tais empresas por desenvolverem tecnologias avançadas, e não devemos idealizar os fundadores e líderes de tais empresas apenas por serem bem sucedidos no desenvolvimento da tecnologia. Vamos assumir a responsabilidade pelo que criamos.

Não faça o mal

Então, o que fazer se nos preocupamos com a ética e queremos colocá-la em prática cada vez mais? A principal coisa a fazer é, provavelmente, manter a mente aberta e continuar fazendo perguntas. Trata-se essencialmente de fazer perguntas, em questionar. Pensando sobre o que fazemos e como isso afetaria outras pessoas, e se estamos felizes com a forma como isso nos afeta e como afeta as outras pessoas. Somos sortudos porque estamos em uma profissão necessária, e temos a habilidade de tomar uma posição e de sermos ouvidos. Precisamos levantar essas questões quando as encontrarmos, começarmos a falar sobre, e mesmo que não tenhamos todas as respostas, pelo menos coloquemos na pauta, envolvendo pessoas, tornando-a conhecida.

Outra ferramenta poderosa que temos é a escolha para quem iremos trabalhar. Sempre haverão alguns compromissos quando o assunto é prioridade do negócio, mas podemos pelos menos deixar de ajudar os maus, empresas que exploram os usuários ou trabalham em campos questionáveis. No início da minha carreira, trabalhei por um curto período de tempo para uma empresa de jogos online. A facilidade que senti ao trocar de trabalho deixou claro para mim que sentir-se bem sobre onde trabalhamos e sabermos que nossos esforços não estão contribuindo para prejudicar a sociedade, não tem preço. No final do dia, não se trata apenas de ser os melhores desenvolvedores, mas sim sobre sermos pessoas melhores.

Informação Adicional

Infelizmente, não há muito material de treinamento sobre ética em engenharia de software. Um dos poucos programas existentes é da Universidade de Santa Clara, com bons recursos sobre ética em tecnologia e tomada de decisão ética.

Outra boa fonte é o Coed:Ethics, uma iniciativa de um grupo de desenvolvedores de Londres.

Vale sempre a pena ficar atento e ouvir as vozes críticas em torno da tecnologia. Pessoas como Douglas Rushkoff, Jaron Lanier, e Evgeny Morozov, e também os mais otimistas como Kevin Kelly. Podemos nem sempre concordar com o ponto de vista deles, mas essas são vozes que expandem a maneira como vemos a tecnologia e a conexão com os seres humanos.

Sobre o Autor

Rotem Hermon é arquiteto chefe na SAP Customer Data Cloud. Há muito tempo vem projetando e construindo sistemas backend.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT