Engenharia de Software responsável: princípios, práticas e impactos da ética e da sustentabilidade na tecnologia

44 minutes read

A engenharia de software é a disciplina que se ocupa do desenvolvimento, manutenção e evolução de sistemas de software, aplicando princípios, metodologias, processos, métodos e ferramentas científicas e técnicas. O trabalho dos engenheiros de software envolve responsabilidades mais amplas do que a simples aplicação de habilidades técnicas, pois os sistemas de software que eles criam podem ter impactos significativos na sociedade, na economia, na política, no meio ambiente e na vida das pessoas. Por isso, os engenheiros de software devem se comportar de maneira responsável, ética e moral, para serem respeitados como profissionais e contribuírem para o bem comum.

Neste artigo, vamos abordar alguns aspectos éticos e sociais relacionados à engenharia de software, tais como:

  • Responsabilidade profissional e ética na construção de software;
  • Impactos sociais da tecnologia e desenvolvimento sustentável, e
  • Privacidade, segurança e proteção de dados.

Responsabilidade Profissional e Ética na Construção de Software

A responsabilidade profissional e ética na construção de software se refere ao compromisso dos engenheiros de software em seguir padrões de qualidade, eficiência, confiabilidade, segurança e legalidade em seus projetos, respeitando os direitos, as necessidades e os interesses dos clientes, dos usuários, dos colegas, dos empregadores, da sociedade e do meio ambiente. Isso implica em adotar uma conduta honesta, íntegra, competente, respeitosa e cooperativa no exercício da profissão, evitando conflitos de interesse, fraudes, corrupção, discriminação, abuso de poder e violação de normas.

Para orientar e regular a responsabilidade profissional e ética na engenharia de software, existem códigos de ética e conduta profissional elaborados por organizações nacionais e internacionais, como o IEEE (Institute of Electrical and Electronics Engineers), a ACM (Association for Computing Machinery) e a SBC (Sociedade Brasileira de Computação). Esses códigos estabelecem princípios gerais e específicos que devem ser seguidos pelos engenheiros de software em suas atividades profissionais. Alguns exemplos desses princípios são:

  • Interesse público: os engenheiros de software devem agir consistentemente com o interesse público.
  • Qualidade do produto: os engenheiros de software devem garantir que seus produtos e serviços atendam aos padrões adequados de qualidade.
  • Julgamento profissional: os engenheiros de software devem manter a integridade e a independência em seu julgamento profissional.
  • Gerenciamento: os engenheiros de software devem gerenciar o pessoal e os recursos para melhorar a qualidade e a eficácia do processo profissional.
  • Autodesenvolvimento: os engenheiros de software devem buscar continuamente melhorar suas habilidades técnicas e profissionais.
  • Colaboração: os engenheiros de software devem cooperar com seus colegas para promover um ambiente ético.
  • Cliente: os engenheiros de software devem atender às necessidades legítimas dos clientes dentro dos princípios éticos.
  • Empregador: os engenheiros de software devem agir fielmente em benefício do empregador ou cliente.
  • Profissão: os engenheiros de software devem avançar a integridade e a reputação da profissão.
  • Sociedade: os engenheiros de software devem considerar as questões éticas, sociais e ambientais relacionadas ao seu trabalho.

Um exemplo prático da aplicação da responsabilidade profissional e ética na construção de software é o caso do Volkswagen Dieselgate, que ocorreu em 2015, quando a empresa alemã admitiu ter instalado um software fraudulento em milhões de veículos a diesel para burlar os testes de emissão de poluentes. Esse software detectava quando o veículo estava sendo testado e reduzia as emissões de óxido de nitrogênio, um gás nocivo à saúde e ao meio ambiente. No entanto, quando o veículo estava em uso normal, o software desativava o controle de emissões, aumentando o consumo de combustível e a poluição. Esse caso revelou uma grave violação da responsabilidade profissional e ética por parte dos engenheiros de software envolvidos, que colocaram em risco a saúde pública, o meio ambiente e a confiança dos consumidores. Além disso, a empresa teve que arcar com multas bilionárias, processos judiciais, recall de veículos e danos à sua imagem.

Benefícios de seguir os códigos de ética e conduta profissional na engenharia de software

Seguir os códigos de ética e conduta profissional na engenharia de software pode trazer diversos benefícios para os engenheiros de software, para as organizações que eles trabalham e para a sociedade em geral. Alguns desses benefícios são:

  • Melhoria da qualidade do software: ao seguir os códigos de ética e conduta profissional, os engenheiros de software se comprometem a garantir que seus produtos e serviços atendam aos padrões adequados de qualidade, eficiência, confiabilidade, segurança e legalidade. Isso implica em aplicar as melhores práticas, técnicas e ferramentas disponíveis para o desenvolvimento, teste e manutenção do software, bem como em realizar revisões, inspeções e auditorias periódicas para verificar o cumprimento dos requisitos e das normas. Um software de qualidade pode satisfazer as necessidades e expectativas dos clientes e usuários, reduzir os custos e os riscos associados ao seu uso, aumentar a sua competitividade e o seu valor agregado no mercado.
  • Fortalecimento da confiança e da reputação: ao seguir os códigos de ética e conduta profissional, os engenheiros de software se comportam de forma honesta, íntegra, competente, respeitosa e cooperativa no exercício da profissão. Isso implica em honrar os compromissos assumidos com os clientes, os usuários, os colegas, os empregadores, a sociedade e o meio ambiente, evitando conflitos de interesse, fraudes, corrupção, discriminação, abuso de poder e violação de normas. Um comportamento ético pode gerar confiança e credibilidade entre as partes envolvidas no processo de desenvolvimento do software, bem como melhorar a imagem e a reputação dos engenheiros de software e das organizações que eles trabalham perante o público.
  • Promoção do bem comum e do desenvolvimento sustentável: ao seguir os códigos de ética e conduta profissional, os engenheiros de software agem consistentemente com o interesse público. Isso implica em considerar os impactos sociais, econômicos, políticos, ambientais e humanos dos sistemas de software que eles criam ou participam da criação, buscando maximizar os benefícios e minimizar os malefícios para a sociedade. Um software que contribui para o bem comum pode melhorar a qualidade de vida e a saúde das pessoas, ampliar as oportunidades de trabalho, educação e lazer, promover a inclusão social e a participação cidadã, facilitar a comunicação e a colaboração, inovar e criar soluções para problemas globais.
  • Desenvolvimento profissional e pessoal: ao seguir os códigos de ética e conduta profissional, os engenheiros de software participam do aprendizado contínuo sobre a prática da sua profissão. Isso implica em buscar constantemente melhorar as suas habilidades técnicas e profissionais, atualizar-se sobre as novas demandas e tecnologias, compartilhar conhecimentos e experiências com seus colegas, aderir às normas

Consequências de não seguir os códigos de ética e conduta profissional na engenharia de software

Por outro lado, não seguir os códigos de ética e conduta profissional na engenharia de software pode trazer diversas consequências negativas para os engenheiros de software, para as organizações que eles trabalham e para a sociedade em geral. Algumas dessas consequências são:

  • Prejuízo da qualidade do software: ao não seguir os códigos de ética e conduta profissional, os engenheiros de software podem negligenciar ou comprometer os padrões de qualidade, eficiência, confiabilidade, segurança e legalidade dos seus produtos e serviços. Isso pode resultar em software defeituoso, ineficiente, inseguro, ilegal ou inadequado para as necessidades e expectativas dos clientes e usuários. Um software de baixa qualidade pode causar insatisfação, frustração, perda de tempo e dinheiro, danos materiais ou morais, riscos à saúde ou à vida das pessoas.
  • Perda da confiança e da reputação: ao não seguir os códigos de ética e conduta profissional, os engenheiros de software podem se comportar de forma desonesta, incompetente, irresponsável, desrespeitosa ou anticooperativa no exercício da profissão. Isso pode gerar desconfiança e descrédito entre as partes envolvidas no processo de desenvolvimento do software, bem como prejudicar a imagem e a reputação dos engenheiros de software e das organizações que eles trabalham perante o público.
  • Violação do bem comum e do desenvolvimento sustentável: ao não seguir os códigos de ética e conduta profissional, os engenheiros de software podem ignorar ou desconsiderar os impactos sociais, econômicos, políticos, ambientais e humanos dos sistemas de software que eles criam ou participam da criação. Isso pode resultar em software que prejudique a qualidade de vida e a saúde das pessoas, reduza as oportunidades de trabalho, educação e lazer, promova a exclusão social e a desinformação, dificulte a comunicação e a colaboração, gere problemas ou agravem problemas globais.
  • Sanções legais e disciplinares: ao não seguir os códigos de ética e conduta profissional, os engenheiros de software podem infringir as leis e regulamentações aplicáveis ao seu trabalho, bem como as normas e procedimentos estabelecidos pelas organizações que eles trabalham ou pelos órgãos reguladores da sua profissão. Isso pode resultar em sanções legais, como multas, indenizações, processos judiciais ou criminais. Também pode resultar em sanções disciplinares, como advertências, suspensões, demissões ou cassações do registro profissional.

Um exemplo prático das consequências de não seguir os códigos de ética e conduta profissional na engenharia de software é o caso do Theranos, que ocorreu entre 2003 e 2018, quando a empresa norte-americana prometia revolucionar o mercado de exames laboratoriais com uma tecnologia que permitia realizar testes sanguíneos com apenas algumas gotas de sangue coletadas por um dispositivo portátil chamado Edison. No entanto, a empresa fraudou investidores, clientes, parceiros e reguladores sobre a eficácia e a confiabilidade da sua tecnologia, que na verdade era falha, imprecisa e perigosa. Esse caso revelou uma grave falta de ética por parte dos engenheiros de software envolvidos, que colocaram em risco a saúde pública, o meio ambiente e a confiança dos consumidores. Além disso, a empresa teve que encerrar suas operações, devolver milhões de dólares aos investidores, enfrentar centenas de processos judiciais e criminais.

Desafios e dilemas éticos na engenharia de software

Os engenheiros de software podem enfrentar diversos desafios e dilemas éticos em seus projetos, que envolvem situações complexas, incertas ou controversas, nas quais não há uma resposta única ou óbvia sobre o que é certo ou errado. Esses desafios e dilemas podem surgir em diferentes fases do ciclo de vida do software, desde a análise de requisitos até a manutenção, e podem afetar diferentes aspectos do software, como a funcionalidade, a usabilidade, a confiabilidade, a segurança, a privacidade, a acessibilidade, a sustentabilidade, entre outros. Alguns exemplos de desafios e dilemas éticos na engenharia de software são:

Como resolver ou prevenir conflitos de interesse, fraudes, corrupção, discriminação, abuso de poder e violação de normas na engenharia de software

Os engenheiros de software podem enfrentar situações em seus projetos que envolvam conflitos de interesse, fraudes, corrupção, discriminação, abuso de poder e violação de normas, que podem comprometer a sua ética profissional e a qualidade do software. Essas situações podem ser causadas por fatores internos ou externos, como pressões econômicas, políticas ou sociais, interesses pessoais ou de terceiros, falta de transparência ou de fiscalização, entre outros. Para resolver ou prevenir essas situações, os engenheiros de software devem adotar algumas medidas e boas práticas, tais como:

Impactos Sociais da Tecnologia e Desenvolvimento Sustentável

Os impactos sociais da tecnologia se referem aos efeitos positivos ou negativos que os sistemas de software podem causar na sociedade, na cultura, na política, na economia, na educação, na saúde, na comunicação, na segurança e em outros aspectos da vida humana. Alguns exemplos de impactos sociais positivos são: a democratização do acesso à informação e ao conhecimento; a ampliação das oportunidades de trabalho, educação e lazer; a melhoria da qualidade de vida e da saúde; a promoção da inclusão social e da participação cidadã; a facilitação da comunicação e da colaboração; a inovação e a criatividade. Alguns exemplos de impactos sociais negativos são: a exclusão digital e social; a desigualdade e a discriminação; a perda de privacidade e de autonomia; a dependência e o vício; a alienação e o isolamento; a desinformação e a manipulação; a violência e o cyberbullying.

Ou seja, temos a Tecnologia como Agente de Mudança, onde softwares têm desempenhado um papel crucial em revoluções sociais, democratização da informação e na promoção de justiça social (Friedman & Nissenbaum, 1996).

O desenvolvimento sustentável é um conceito que busca conciliar o crescimento econômico com a preservação ambiental e a justiça social, atendendo às necessidades do presente sem comprometer as possibilidades das gerações futuras. A tecnologia pode contribuir para o desenvolvimento sustentável, por meio da criação de soluções inovadoras que reduzam os impactos ambientais, promovam o uso eficiente dos recursos naturais, melhorem as condições sociais e humanas, estimulem a educação ambiental e a conscientização cidadã, entre outros benefícios. Por outro lado, a tecnologia também pode gerar problemas para o desenvolvimento sustentável, por meio do consumo excessivo de energia e materiais, da geração de resíduos eletrônicos, da poluição sonora e visual, da degradação dos ecossistemas, da exploração dos trabalhadores, entre outros malefícios.

Ou seja, no Desenvolvimento Sustentável a engenharia de software pode contribuir, considerando aspectos ambientais, sociais e econômicos em suas práticas (Beckers et al., 2016).

Um exemplo prático dos impactos sociais da tecnologia e do desenvolvimento sustentável é o caso do aplicativo Waze, que é um sistema de navegação por GPS que permite aos usuários compartilhar informações sobre o trânsito em tempo real. Esse aplicativo pode ter impactos sociais positivos, como: facilitar o deslocamento dos motoristas; economizar tempo e combustível; evitar acidentes e congestionamentos; melhorar a mobilidade urbana; integrar as comunidades. Porém, também pode ter impactos sociais negativos, como: invadir a privacidade dos usuários; incentivar o uso do carro individual; desrespeitar as leis de trânsito; prejudicar os moradores das ruas afetadas; aumentar as emissões de gases poluentes. Portanto, é preciso avaliar os prós e os contras do uso dessa tecnologia para o desenvolvimento sustentável.

Critérios ou indicadores para avaliar os impactos sociais da tecnologia e o desenvolvimento sustentável

Avaliar os impactos sociais da tecnologia e o desenvolvimento sustentável é uma tarefa complexa e multidimensional, que envolve diferentes dimensões, atores, perspectivas e métodos. Os impactos sociais da tecnologia e o desenvolvimento sustentável podem ser entendidos como os efeitos positivos ou negativos que as tecnologias têm sobre a sociedade, a cultura, a política, a economia, a educação, a saúde, a comunicação, a segurança e outros aspectos da vida humana, em relação aos princípios e às metas do desenvolvimento sustentável. O desenvolvimento sustentável é definido como aquele que atende às necessidades do presente sem comprometer a capacidade das gerações futuras de atenderem às suas próprias necessidades, e é orientado pelos 17 Objetivos de Desenvolvimento Sustentável (ODS) da Agenda 2030 da ONU.

Para avaliar os impactos sociais da tecnologia e o desenvolvimento sustentável, é preciso estabelecer critérios ou indicadores que possam medir ou qualificar esses impactos de forma objetiva, sistemática e comparável. Os critérios ou indicadores são variáveis que representam ou aproximam os conceitos ou fenômenos que se quer avaliar. Os critérios ou indicadores podem ser quantitativos ou qualitativos, descritivos ou normativos, absolutos ou relativos, entre outras classificações. A escolha dos critérios ou indicadores depende dos objetivos, do contexto, dos recursos e das limitações da avaliação.

Existem diferentes fontes, modelos e propostas de critérios ou indicadores para avaliar os impactos sociais da tecnologia e o desenvolvimento sustentável. Alguns exemplos são:

  • Os indicadores dos ODS: são um conjunto de 232 indicadores globais que foram definidos pela ONU para monitorar o progresso dos 17 ODS e suas 169 metas. Esses indicadores abrangem diversas dimensões do desenvolvimento sustentável, como pobreza, fome, saúde, educação, igualdade de gênero, água, energia, trabalho, indústria, inovação, cidades, consumo, clima, biodiversidade, paz e justiça. Esses indicadores podem ser usados para avaliar como as tecnologias contribuem ou prejudicam o alcance dos ODS em diferentes níveis (global, regional, nacional ou local).
  • O Índice de Desenvolvimento Humano (IDH): é um indicador composto que mede o nível de desenvolvimento humano de um país ou região. O IDH combina três dimensões: a expectativa de vida ao nascer (como uma medida da saúde), a escolaridade média e esperada (como uma medida da educação) e a renda nacional bruta per capita (como uma medida do padrão de vida). O IDH pode ser usado para avaliar como as tecnologias afetam o bem-estar e as oportunidades das pessoas em diferentes contextos.
  • A Avaliação de Impacto Social (AIS): é um método que visa identificar e avaliar as consequências futuras de uma ação atual ou proposta que esteja relacionada aos indivíduos, às organizações e aos sistemas sociais. A AIS pode envolver diferentes etapas, como a definição do escopo e dos objetivos da avaliação, a identificação dos stakeholders e dos impactos potenciais, a coleta e análise de dados qualitativos ou quantitativos, a elaboração de recomendações ou planos de ação. A AIS pode ser usada para avaliar como as tecnologias geram impactos sociais positivos ou negativos em diferentes grupos ou setores da sociedade.

Vantagens e desvantagens de usar a tecnologia para o desenvolvimento sustentável

Usar a tecnologia para o desenvolvimento sustentável é uma estratégia que visa aproveitar os benefícios das inovações científicas e tecnológicas para promover soluções que atendam às necessidades do presente sem comprometer as capacidades das gerações futuras. A tecnologia pode contribuir para o desenvolvimento sustentável em diversas dimensões, como a social, a econômica, a ambiental e a institucional. No entanto, a tecnologia também pode gerar desafios e riscos para o desenvolvimento sustentável, dependendo de como é concebida, desenvolvida, implementada e utilizada. A seguir, apresentamos algumas vantagens e desvantagens de usar a tecnologia para o desenvolvimento sustentável.

Vantagens de usar a tecnologia para o desenvolvimento sustentável:

Desvantagens de usar a tecnologia para o desenvolvimento sustentável:

Algumas desvantagens de usar a tecnologia para o desenvolvimento sustentável são:

Portanto, é importante que os engenheiros de software considerem os impactos positivos e negativos da tecnologia para o desenvolvimento sustentável em seus projetos, buscando criar sistemas de software que sejam eficientes, inovadores e responsáveis.

Responsabilidades e desafios dos engenheiros de software para criar sistemas de software que promovam o desenvolvimento sustentável

Os engenheiros de software são profissionais que criam ou participam da criação de sistemas de software, que são conjuntos de programas, dados, documentos e procedimentos que realizam funções específicas em um determinado domínio ou contexto. Os sistemas de software podem ter impactos positivos ou negativos para o desenvolvimento sustentável, dependendo de como são concebidos, desenvolvidos, implementados e utilizados. O desenvolvimento sustentável é aquele que atende às necessidades do presente sem comprometer a capacidade das gerações futuras de atenderem às suas próprias necessidades, respeitando os princípios e as metas do desenvolvimento sustentável.

Os engenheiros de software têm responsabilidades e desafios para criar sistemas de software que promovam o desenvolvimento sustentável, tanto em relação aos aspectos técnicos quanto aos aspectos éticos, sociais e ambientais do seu trabalho. Algumas dessas responsabilidades e desafios são:

Recomendações ou orientações para os engenheiros de software seguirem os princípios e as metas do desenvolvimento sustentável

Seguir os princípios e as metas do desenvolvimento sustentável é um compromisso ético e social dos engenheiros de software, que devem buscar criar sistemas de software que contribuam para o bem-estar das gerações presentes e futuras, respeitando os limites e as potencialidades do planeta. Para seguir os princípios e as metas do desenvolvimento sustentável, os engenheiros de software podem adotar algumas recomendações ou orientações, tais como:

Privacidade, Segurança e Proteção de Dados

A privacidade se refere ao direito dos indivíduos de controlarem as informações pessoais que são coletadas, armazenadas, processadas e divulgadas por sistemas de software. A segurança se refere à proteção dos sistemas de software contra ameaças externas ou internas que possam comprometer sua integridade, confidencialidade e disponibilidade dos dados. A proteção de dados se refere ao respeito aos direitos dos titulares dos dados, que são as pessoas físicas a quem os dados se referem, garantindo que eles tenham acesso, controle, consentimento e transparência sobre o uso de suas informações pessoais.

A privacidade, a segurança e a proteção de dados são temas fundamentais na engenharia de software, pois os sistemas de software lidam com uma grande quantidade e variedade de dados, que podem ser sensíveis, confidenciais, estratégicos ou críticos para os indivíduos, as organizações ou a sociedade. Além disso, os sistemas de software estão expostos a diversas ameaças e riscos, que podem afetar a sua funcionalidade, integridade, confiabilidade e reputação. Por isso, os engenheiros de software devem adotar medidas e boas práticas para garantir a privacidade, a segurança e a proteção de dados em todas as fases do ciclo de vida do software, desde o planejamento, o desenvolvimento, o teste, a implantação, a operação e a manutenção.

Algumas das medidas e boas práticas para garantir a privacidade, a segurança e a proteção de dados na engenharia de software são:

  • Análise de requisitos: os engenheiros de software devem identificar e especificar os requisitos de privacidade, segurança e proteção de dados dos sistemas de software, considerando as necessidades e expectativas dos clientes, dos usuários e das partes interessadas. Esses requisitos devem estar alinhados com as leis e regulamentações aplicáveis, como a Lei Geral de Proteção de Dados (LGPD), que é a lei brasileira que regula o tratamento de dados pessoais no país.
  • Design: os engenheiros de software devem projetar os sistemas de software seguindo princípios e padrões de privacidade, segurança e proteção de dados, como o Privacy by Design (PbD), que consiste em incorporar a privacidade desde o início do projeto, o Security by Design (SbD), que consiste em incorporar a segurança desde o início do projeto, e o Data Protection by Design and by Default (DPbD), que consiste em incorporar a proteção de dados desde o início do projeto e por padrão.
  • Implementação: os engenheiros de software devem implementar os sistemas de software utilizando técnicas e ferramentas adequadas para garantir a privacidade, a segurança e a proteção de dados. Algumas dessas técnicas e ferramentas são: a criptografia, que consiste em codificar os dados para torná-los ilegíveis para terceiros não autorizados; a autenticação, que consiste em verificar a identidade dos usuários ou sistemas que acessam os dados; a autorização, que consiste em definir os níveis de acesso aos dados; o controle de acesso, que consiste em restringir o acesso aos dados conforme as regras definidas; a anonimização, que consiste em remover ou alterar os dados que possam identificar ou associar uma pessoa; a pseudonimização, que consiste em substituir os dados identificáveis por pseudônimos; entre outras.
  • Teste: os engenheiros de software devem testar os sistemas de software para verificar se eles atendem aos requisitos e aos padrões de privacidade, segurança e proteção de dados. Esses testes devem incluir testes funcionais, não funcionais, de penetração, de vulnerabilidade, entre outros. Os testes devem ser realizados em ambientes controlados e com dados fictícios ou anonimizados.
  • Implantação: os engenheiros de software devem implantar os sistemas de software em ambientes seguros e confiáveis, seguindo as normas e procedimentos estabelecidos. Os ambientes devem contar com mecanismos de proteção contra ataques, invasões, vírus, malwares, entre outros. Os ambientes devem ser monitorados e auditados periodicamente para garantir o seu funcionamento adequado e a detecção de eventuais problemas ou incidentes.
  • Operação: os engenheiros de software devem operar os sistemas de software de forma a garantir a privacidade, a segurança e a proteção de dados dos usuários e dos clientes. Isso envolve fornecer suporte, manutenção, atualização, backup, recuperação, entre outros serviços. Os engenheiros de software devem respeitar as políticas e os contratos estabelecidos com os usuários e os clientes, bem como as leis e regulamentações vigentes. Os engenheiros de software devem informar e comunicar aos usuários e aos clientes sobre o uso dos seus dados, os seus direitos e as suas responsabilidades.
  • Manutenção: os engenheiros de software devem manter os sistemas de software atualizados e compatíveis com as novas demandas e tecnologias, sem comprometer a privacidade, a segurança e a proteção de dados. Isso envolve realizar modificações, correções, melhorias, adaptações, entre outras ações. Os engenheiros de software devem documentar e registrar as alterações realizadas nos sistemas de software, bem como os seus impactos na privacidade, na segurança e na proteção de dados.

Um exemplo prático da importância da privacidade, da segurança e da proteção de dados na engenharia de software é o caso do Facebook-Cambridge Analytica, que ocorreu em 2018, quando foi revelado que a empresa britânica Cambridge Analytica obteve ilegalmente os dados pessoais de cerca de 87 milhões de usuários do Facebook, por meio de um aplicativo de teste psicológico que coletava as informações dos usuários e dos seus contatos. Esses dados foram usados para criar perfis psicográficos dos usuários e influenciar as suas opiniões políticas nas eleições presidenciais dos Estados Unidos em 2016 e no referendo do Brexit no Reino Unido em 2016. Esse caso mostrou uma grave violação da privacidade, da segurança e da proteção de dados por parte do Facebook e da Cambridge Analytica, que afetou a democracia, a confiança e os direitos dos usuários. Além disso, o Facebook teve que enfrentar multas milionárias, investigações judiciais, boicotes dos usuários e danos à sua reputação.

Leis e regulamentações aplicáveis à proteção de dados pessoais no Brasil e no mundo

A proteção de dados pessoais é um tema que tem ganhado cada vez mais relevância e atenção no cenário nacional e internacional, diante do aumento do uso e do compartilhamento de dados pessoais nas atividades econômicas, sociais e digitais. Os dados pessoais são informações relacionadas a uma pessoa natural identificada ou identificável, como nome, endereço, e-mail, telefone, CPF, entre outras. A proteção de dados pessoais visa garantir o respeito aos direitos fundamentais de privacidade, intimidade, liberdade, dignidade e autodeterminação informativa dos titulares dos dados.

Para regular a coleta, o tratamento, o armazenamento, o uso, o compartilhamento e a eliminação dos dados pessoais, existem diversas leis e regulamentações aplicáveis à proteção de dados pessoais no Brasil e no mundo. Essas leis e regulamentações estabelecem os princípios, os direitos, as obrigações, as sanções e as autoridades competentes para fiscalizar e aplicar as normas de proteção de dados pessoais. A seguir, apresentamos algumas das principais leis e regulamentações aplicáveis à proteção de dados pessoais no Brasil e no mundo.

No Brasil, a principal legislação relacionada à privacidade e à proteção de dados pessoais é a Lei Federal nº 13.709/2018, conhecida como Lei Geral de Proteção de Dados Pessoais ou LGPD. A LGPD é a primeira lei brasileira que aborda de forma abrangente e específica a proteção de dados pessoais em diversos setores e contextos. A LGPD foi influenciada pela Regulação Geral de Proteção de Dados da União Europeia (GDPR) e também ampliou sua abrangência em alguns aspectos em relação à GDPR. A LGPD entrou em vigor em 18 de setembro de 2020, mas as sanções administrativas previstas na lei só passaram a ser aplicáveis em 1º de agosto de 2021. A LGPD é composta por 65 artigos, que tratam dos conceitos, dos princípios, dos direitos dos titulares dos dados, das bases legais para o tratamento dos dados, das obrigações dos agentes de tratamento dos dados, das hipóteses de transferência internacional dos dados, das sanções administrativas, entre outros aspectos. A LGPD também criou a Autoridade Nacional de Proteção de Dados (ANPD), órgão federal responsável por editar normas e fiscalizar o cumprimento da lei.

No mundo, existem diversas leis e regulamentações aplicáveis à proteção de dados pessoais em diferentes países ou regiões. Algumas das mais conhecidas são:

  • A Regulação Geral de Proteção de Dados da União Europeia (GDPR): é uma regulamentação que entrou em vigor em 25 de maio de 2018 e que se aplica a todos os países membros da União Europeia. A GDPR é considerada uma das mais avançadas e rigorosas normas de proteção de dados pessoais do mundo, servindo como referência para outras legislações. A GDPR estabelece os princípios, os direitos, as obrigações, as sanções e as autoridades competentes para a proteção de dados pessoais na União Europeia. A GDPR também se aplica a organizações que não estão localizadas na União Europeia, mas que oferecem bens ou serviços ou monitoram o comportamento de indivíduos localizados na União Europeia.
  • A Lei de Privacidade do Consumidor da Califórnia (CCPA): é uma lei estadual que entrou em vigor em 1º de janeiro de 2020 e que se aplica a todas as empresas que fazem negócios na Califórnia ou que coletam ou vendem os dados pessoais dos residentes da Califórnia. A CCPA é considerada uma das mais abrangentes e inovadoras normas de proteção de dados pessoais nos Estados Unidos da América. A CCPA estabelece os direitos dos consumidores da Califórnia em relação aos seus dados pessoais, como o direito à informação, ao acesso, à exclusão, à portabilidade, à não discriminação e à recusa da venda de seus dados. A CCPA também impõe obrigações às empresas que tratam esses dados, como fornecer avisos claros e transparentes, implementar medidas de segurança adequadas, responder às solicitações dos consumidores e respeitar suas escolhas. A CCPA é fiscalizada pela Procuradoria Geral da Califórnia, que pode aplicar multas e sanções em caso de violação da lei. Além disso, a CCPA concede aos consumidores o direito de ajuizar ações coletivas contra as empresas em caso de violação de dados que causem danos.

Boas práticas e padrões técnicos para garantir a privacidade por design nos sistemas de software

Garantir a privacidade por design nos sistemas de software significa incorporar a proteção dos dados pessoais desde as fases iniciais do desenvolvimento até o final do ciclo de vida dos sistemas. Para isso, os engenheiros de software devem seguir algumas boas práticas e padrões técnicos que possam assegurar a conformidade com os princípios, os direitos e as obrigações da legislação aplicável à proteção de dados pessoais, bem como com as expectativas e as preferências dos usuários. Algumas dessas boas práticas e padrões técnicos são:

  • Realizar uma Avaliação de Impacto à Proteção de Dados Pessoais (AIPD): uma AIPD é um processo que visa identificar, avaliar e mitigar os riscos para a privacidade e a proteção dos dados pessoais que podem ser gerados por um sistema de software. Uma AIPD deve ser realizada antes do início do tratamento dos dados pessoais, envolvendo os stakeholders relevantes, como os titulares dos dados, os agentes de tratamento dos dados, as autoridades competentes, entre outros. Uma AIPD deve considerar os objetivos, o contexto, o escopo, as bases legais, as medidas de segurança, as garantias e os controles do sistema de software. Uma AIPD deve documentar os resultados da análise e as recomendações para a melhoria da privacidade por design.
  • Aplicar técnicas de anonimização ou pseudonimização dos dados pessoais: anonimização é uma técnica que visa modificar ou remover os dados pessoais de forma que não seja possível identificar ou reidentificar os titulares dos dados. Pseudonimização é uma técnica que visa substituir os dados pessoais por pseudônimos, que são identificadores não relacionados aos titulares dos dados. Essas técnicas podem reduzir os riscos para a privacidade e a proteção dos dados pessoais, bem como facilitar o cumprimento das bases legais para o tratamento dos dados. Essas técnicas devem ser aplicadas sempre que possível e adequado, levando em conta o propósito e o contexto do sistema de software.
  • Implementar mecanismos de consentimento, informação e transparência: consentimento é a manifestação livre, informada e inequívoca pela qual o titular dos dados concorda com o tratamento dos seus dados pessoais para uma finalidade determinada. Informação é o direito do titular dos dados de receber informações claras, precisas e completas sobre o tratamento dos seus dados pessoais. Transparência é o princípio pelo qual o tratamento dos dados pessoais deve ser realizado de forma aberta, acessível e compreensível para os titulares dos dados. Esses mecanismos devem ser implementados nos sistemas de software para garantir o respeito à autodeterminação informativa e à confiança dos usuários. Esses mecanismos devem ser fáceis de usar, configurar e revogar pelos usuários.

Riscos e consequências de violar a privacidade de dados dos usuários ou dos clientes

Violar a privacidade de dados dos usuários ou dos clientes significa desrespeitar o direito que eles têm de controlar como seus dados pessoais são coletados, compartilhados e usados pelos sistemas de software que os engenheiros de software criam ou participam da criação. Esses dados pessoais podem incluir informações como nome, endereço, e-mail, telefone, CPF, entre outras, que podem identificar ou tornar identificável uma pessoa natural. Violar a privacidade de dados dos usuários ou dos clientes pode gerar riscos e consequências negativas para os indivíduos, para as organizações e para a sociedade. Algumas dessas riscos e consequências são:

Portanto, é importante que os engenheiros de software respeitem a privacidade de dados dos usuários ou dos clientes em seus projetos, seguindo as leis e regulamentações aplicáveis à proteção de dados pessoais no Brasil e no mundo, bem como as boas práticas e os padrões técnicos para garantir a privacidade por design nos sistemas de software.

Exemplos de sistemas de software que respeitam ou desrespeitam a privacidade de dados

Os sistemas de software que respeitam ou desrespeitam a privacidade de dados são aqueles que seguem ou não seguem os princípios, os direitos e as obrigações da legislação aplicável à proteção de dados pessoais, bem como as boas práticas e os padrões técnicos para garantir a privacidade por design nos sistemas de software. Esses sistemas de software podem ter impactos positivos ou negativos para os usuários ou clientes que fornecem ou usam seus dados pessoais para os sistemas de software. A seguir, apresentamos alguns exemplos de sistemas de software que respeitam ou desrespeitam a privacidade de dados.

Exemplos de sistemas de software que respeitam a privacidade de dados:

  • Signal: é um aplicativo de mensagens instantâneas que utiliza criptografia de ponta a ponta para proteger a comunicação entre os usuários. O Signal não coleta, armazena ou compartilha nenhum dado pessoal dos usuários, como nome, número de telefone, endereço, localização, contatos, histórico de conversas, entre outros. O Signal também permite que os usuários configurem mensagens que se autodestroem após um período determinado. O Signal é considerado um dos aplicativos mais seguros e privados do mercado.
  • DuckDuckGo: é um mecanismo de busca na internet que não rastreia, armazena ou compartilha nenhum dado pessoal dos usuários, como endereço IP, histórico de pesquisa, localização, preferências, entre outros. O DuckDuckGo também não exibe anúncios personalizados com base nos dados dos usuários. O DuckDuckGo é considerado uma alternativa mais privada e ética aos mecanismos de busca tradicionais.
  • ProtonMail: é um serviço de e-mail que utiliza criptografia de ponta a ponta para proteger o conteúdo das mensagens entre os usuários. O ProtonMail não coleta, armazena ou compartilha nenhum dado pessoal dos usuários, como nome, endereço, senha, contatos, conteúdo das mensagens, entre outros. O ProtonMail também permite que os usuários configurem mensagens que se autodestroem após um período determinado. O ProtonMail é considerado um dos serviços de e-mail mais seguros e privados do mercado.

Exemplos de sistemas de software que desrespeitam a privacidade de dados:

  • Facebook: é uma rede social que coleta, armazena e compartilha uma grande quantidade e variedade de dados pessoais dos usuários, como nome, endereço, e-mail, telefone, localização, contatos, interesses, comportamento, entre outros. O Facebook utiliza esses dados para exibir anúncios personalizados aos usuários, bem como para fornecer esses dados a terceiros sem o consentimento ou o conhecimento dos usuários. O Facebook também tem sido alvo de diversas violações de dados e escândalos envolvendo o uso indevido dos dados dos usuários por empresas como a Cambridge Analytica.
  • Zoom: é um aplicativo de videoconferência que coleta, armazena e compartilha alguns dados pessoais dos usuários, como nome, e-mail, número de telefone, localização, duração das reuniões, conteúdo das conversas, entre outros. O Zoom utiliza esses dados para fins comerciais ou analíticos, bem como para fornecer esses dados a terceiros sem o consentimento ou o conhecimento dos usuários. O Zoom também tem sido alvo de diversas vulnerabilidades e incidentes envolvendo a invasão ou a exposição dos dados dos usuários por atacantes.
  • TikTok: é um aplicativo de compartilhamento de vídeos curtos que coleta, armazena e compartilha uma grande quantidade e variedade de dados pessoais dos usuários, como contatos, endereços de e-mail, localização geográfica, rosto, voz, hábitos de consumo, preferências e interesses. O TikTok também tem sido acusado de ter conexões com o governo chinês, que poderia usar os dados dos usuários para fins de espionagem, censura ou manipulação (leia aqui e aqui). Além disso, o TikTok tem sido criticado por violar a privacidade das crianças, permitindo que elas se cadastrem sem o consentimento dos pais e expondo-as a conteúdos impróprios ou perigosos (mais ). O TikTok representa, portanto, um risco para a privacidade e a segurança dos dados dos usuários, especialmente os mais jovens.

Conclusão

Neste artigo, abordamos alguns aspectos éticos e sociais relacionados à engenharia de software, tais como:

  • Responsabilidade profissional e ética na construção de software.
  • Impactos sociais da tecnologia e desenvolvimento sustentável.
  • Privacidade, segurança e proteção de dados.

Vimos que esses aspectos são relevantes para o trabalho dos engenheiros de software, pois eles envolvem responsabilidades mais amplas do que a simples aplicação de habilidades técnicas. Os sistemas de software que eles criam podem ter impactos significativos na sociedade, na economia, na política, no meio ambiente e na vida das pessoas. Por isso, os engenheiros de software devem se comportar de maneira responsável, ética e moral, para serem respeitados como profissionais e contribuírem para o bem comum.

Também vimos que existem códigos de ética e conduta profissional que orientam e regulam a responsabilidade profissional e ética na engenharia de software. Esses códigos estabelecem princípios gerais e específicos que devem ser seguidos pelos engenheiros de software em suas atividades profissionais. Além disso, existem leis e regulamentações que estabelecem as normas legais para o tratamento dos dados pessoais no país.

Finalmente, vimos alguns exemplos práticos da aplicação dos aspectos éticos e sociais na engenharia de software. Esses exemplos ilustram os benefícios ou os malefícios que os sistemas de software podem trazer para a sociedade e para os indivíduos. Esses exemplos também mostram as consequências que os engenheiros de software podem enfrentar por suas decisões e ações.

Esperamos que este artigo tenha sido útil e interessante para você. Esperamos também que ele possa estimular um debate entre os alunos sobre os aspectos éticos e sociais na engenharia de software, que são tão importantes quanto os aspectos técnicos e científicos. Agradecemos a sua atenção e convidamos você a continuar explorando esse tema com mais profundidade e reflexão.

Referências

Leave a Comment