Práticas de engenharia de Software no Google

O artigo Software Engineering at Google, feito por Fergus Henderson apresenta as práticas de engenharia de software adotadas pelo Google, ele apresenta o conhecimento que a empresa obteve após seus erros e acertos durante muitos anos de mercado e diversos produtos desenvolvidos. O artigo separa as práticas em três grupos, desenvolvimento de software, gerenciamento de projeto e gerenciamento de pessoas.

Desenvolvimento de software

Repositórios de código fonte:

  • A maior parte dos códigos fonte dos produtos e ferramentas do google ficam em um único repositório, com exceção do chrome, android e códigos com grande valor ou que necessitam de segurança, além disso, todos os engenheiros têm permissão para corrigir problemas que encontrar e saber resolver. 
  • O desenvolvimento é feito a partir da branch principal do projeto, tirando a necessidade de fazer merges e facilitando a implantação.
  • Qualquer alteração no código passa por testes automatizados, que notificam o responsável e o revisor das alterações para qualquer problema encontrado nos testes.
  • Alguns diretórios nos repositórios possuem um arquivo que indica quem são os responsáveis pelos códigos daquele diretório, qualquer engenheiro pode fazer alterações, porém, apenas os responsáveis podem aceitar, visto que quem fez os códigos entende mais sobre o mesmo.

Build dos projetos:

O Google possui uma ferramenta chamada Blaze que consegue compilar e fazer testes de qualquer repositório de projetos do Google com apenas alguns comandos, facilitando a configuração dos ambientes de todos os projetos. Além disso, por se tratar de um sistema distribuído, essa ferramenta consegue compilar e rodar testes de forma mais rápida por usar múltiplas máquinas para realizar essas operações, outra característica interessante é que o  Blaze consegue deixar as compilações em cache, otimizando ainda mais o tempo de build dos projetos. o vídeo abaixo explica o funcionamento do Blaze, também conhecido como Bazel.

Revisão de código:

  • O Google possui ferramentas para auxiliar na revisão do código, elas notificam um revisor quando uma solicitação de revisão é criada e o autor do código dos pontos levantados e testes.
  • Toda alteração na branch principal deve ser revisada por pelo menos um engenheiro, e, caso o autor das alterações não é o criador do código, um dos criadores deve revisar.
  • O Google tem uma ferramenta que sugere possíveis revisores de código de acordo com diversos fatores.
  • Discussões a respeito de revisões são enviadas automaticamente por email para os envolvidos, além disso, em caso de bugs, as alterações que geraram esses bugs são enviadas para os autores, para eles se atentarem aos erros feitos.
  • Existe uma branch feita exclusivamente para experimentos, mesmo que a branch principal seja a branch recomendada para desenvolvimento, onde não é necessária a revisão de código.
  • É recomendado que as alterações sejam feitas em pequenas partes, facilitando a revisão, visto que grandes alterações requerem mais tempo de revisão

Testes:

  • Testes unitários são utilizados e devem ser acompanhados de qualquer mudança no código, qualquer alteração que vá para o ambiente de produção deve ter testes, além disso, novas funcionalidades devem ter seus testes desenvolvidos.
  • Mocking é utilizado nos testes quando necessário trabalhar com bibliotecas e dependências.
  • Testes de regressão e integração também são utilizados
  • O Google possui ferramentas que verificam a cobertura dos testes, quais linhas do código desenvolvido são checadas pelos testes.
  • Métricas devem ser geradas a partir dos testes e verificadas antes que as alterações sejam implantadas.

Detecção de Bugs:

O Google utiliza uma ferramenta chamada Buganizer para detectar problemas, bugs e reclamações de clientes. Após detectados, esses problemas são categorizados e posteriormente designados para algum engenheiro resolver. Alguns times possuem engenheiros responsáveis por solucionar esses bugs e outros solucionam eles durante reuniões. A categorização dos bugs é constantemente utilizada para ajudar na organização para a posterior solução.

Linguagens de Programação:

  • No Google são utilizadas 5 linguagens de programação, sem considerar as linguagens especializadas para situações específicas ,são elas o Java, C++, Python, Go, Javascript
  • Existe um guia para que todo o código desenvolvido siga um mesmo padrão de escrita
  • Existe um curso para ensinar os engenheiros a escreverem códigos de fácil leitura e entendimento.
  • O google utiliza protocol buffers para fazer a comunicação entre diversos objetos de diferentes linguagens de programação, visto que os projetos são muito diversificados.

Debugging em produção:

Os servidores do Google estão integrados com bibliotecas de monitoramento, em caso de encontro de problemas, são gerados logs. Além disso, existem interfaces de monitoramento online para requisições e respostas e outras métricas.

Lançamentos:

  • Os lançamentos são geralmente semanais, quinzenais ou diários
  • Existem times que possuem engenheiros responsáveis por fazer apenas os lançamentos, porém, qualquer engenheiro pode fazer lançamentos
  • O google automatiza os lançamentos, tirando a necessidade dos engenheiros fazerem tarefas relacionadas ao mesmo
  • As alterações dos lançamentos passam por testes e só podem ir para ambiente de produção após esses testes serem bem sucedidos
  • Antes de ir para todos os servidores, as alterações passam por um servidor de staging, onde as alterações são testadas geralmente por desenvolvedores, após isso, as alterações entram em alguns servidores que recebem requisições de usuários, finalmente, após essa etapa, as alterações entram em ambiente de produção

Aprovação de Lançamentos

Antes de um lançamento entrar em produção, mesmo depois de pronto, ele deve ser aprovado por pessoas fora do time de engenharia, que vão analisar se as alterações cumprem uma vasta gama de requisitos. Pessoas de certa importância são notificadas das alterações que entraram em produção. O Google possui ferramentas que ajudam na aprovação dos lançamentos.

Post-mortem:

Quando ocorre qualquer interrupção em sistemas em produção, os responsáveis devem escrever um documento que descreve o incidente, a causa, o que solucionou e o que não solucionou. O documento visa entender o problema e como evitar ele no futuro.

Reescrita frequente:

A maioria dos software do Google é reescrito depois de alguns anos, visto que os requisitos, as tecnologias mudam constantemente, assim revelando a necessidade de reescrever o código, além disso, isso ajuda a dar autoria de código a novos engenheiros, que tendem a trabalhar melhor em códigos que eles criaram.

Gerenciamento de projeto

20% do tempo:

Os engenheiros podem utilizar até 20% do tempo deles em qualquer projeto do Google que eles tenham interesse, sem precisar da aprovação dos seus supervisores ou gerentes. Isso ajuda a melhorar a motivação dos engenheiros, o que melhora ainda mais a performance deles nos outros projetos.

OKR`s:

Objectives key results é a forma com a qual o Google cria suas metas para os projetos, todo time deve documentar seus objetivos de forma que seja possível ver o progresso. Esses objetivos são tri mensais ou anuais e são medidos de 0 a 1. Geralmente a boa média de conclusão é de 65% e quando os times atingem a média ou mais eles são encorajados a aumentar os objetivos, caso contrário, são aconselhados a pegar objetivos de forma consciente.

Reorganizações:

Quando projetos são cancelados, os envolvidos do time do projeto são realocados para outros projetos, isso ocorre com frequência visto que os requisitos e tecnologia estão sempre mudando, em algumas situações, os envolvidos podem escolher para que time e posição eles serão realocados.

Gerenciamento de pessoas

Papéis:

O Google divide as carreiras de engenharia de software em desenvolvimento e gerenciamento

  • Engineering Manager: gerenciam outros engenheiros
  • Software Engineer: são os desenvolvedores de software
  • Research Scientist: são engenheiros de software mais voltados para a academia e para a área de pesquisa
  • Site Reliability Engineer: são os engenheiros de software voltados para a área de devops
  • Product Manager: gerenciamento de produtos
  • Program Manager / Technical Program Manager: gerenciam projetos, processos e operações

Estrutura

O Google é bastante famoso devido às estruturas físicas da empresa em diversos locais do mundo, geralmente um ambiente que é visto como divertido pelas pessoas e com uma grande quantidade de benefícios para os empregados.

Treinamento

Todos os novos funcionários passam por diversos treinamentos, engenheiros de software e pesquisadores começam estudando tecnologias e fazendo exercícios

Diversidade de Gênero em Engenharia de Software

A diversidade vem sendo cada vez mais apontada como um fator positivo em diversas áreas da sociedade, na área de desenvolvimento de software é visto uma grande discrepância nos números da representativididade de minorias e de mulheres.

A participação de mulheres e outras minorias na área de desenvolvimento de software

Na área de desenvolvimento de software, mulheres e minorias não tem uma grande representatividade, expondo um problema da indústria e da academia, visto que a grande maioria dos profissionais e estudantes da área de TI são homens. Comparando com as engenharias, o campo de ciência da computação ainda se sobressai a respeito da participação feminina, porém na indústria de desenvolvimento elas representam apenas 33,1 e 30,8, na área de ciência de dados e desenvolvimento de software respectivamente, relacionando a participação das mulheres e outras minorias, o cenário é bem parecido, a exemplo, apenas 2 em 10 profissionais são pretos ou pardos e esse número é ainda menor quando vamos observar os dados sobre pessoas pertencentes a minorias em cargos de gerência ou liderança.

O acesso de mulheres e minorias a cargos de gerência

Cargos de gerência são de extrema importância para medir a presença de minorias e mulheres na área de desenvolvimento de software, para pessoas pretas ou pardas, por exemplo, apenas 13% dos profissionais ocupam cargos de gerência ou de alta remuneração. O acesso de mulheres e minorias a cargo de gerência é um fator muito importante para a representatividade, pois assim, assumindo cargos de chefia esse grupo pode combater as desigualdades  existentes na indústria e criar um ambiente de trabalho essencial para todos. Segundo dados da Folha de São Paulo os números de mulheres em cargos de chefia crescem desde 2003 , além disso mudanças em regras de remuneração que “punem”, metas de percentual feminino em cargos de gestão, exigência de mulheres entre os candidatos de processos seletivos, licença-maternidade maior e conversas abertas sobre preconceito, são posturas adotadas pelas empresas que melhoram a participação feminina em cargos de chefia e combatem as dificuldades encontradas pelas mulheres na área da TI na sociedade.

Atitudes de discriminação de minorias na área de desenvolvimento de software

As atitudes que são mais recorrentes são:

–  a falta de reconhecimento das competências técnicas,

– a falta de respeito e reconhecimento por colegas, superiores e subordinados 

– diferença salarial devido ao gênero

– poucas oportunidades para demonstrar habilidades técnicas

– Atribuição de tarefas menos importantes

– Preconceitos

– Falta de respeito no ambiente de trabalho ou nos meios de comunicação

Iniciativas a serem tomadas por empresas, pela sociedade, e pelo governo

Para reverter esse quadro e melhorar o quadro da diversidade na área de desenvolvimento de software é vista a necessidade da criação de meios para combater esse preconceito de gênero e contra minorias dentro do âmbito empresarial,  uma maior punição para esse tipo de comportamento, uma maior propaganda por parte da empresa com vídeos, cartazes espalhados e discussões entre funcionários sobre esse assunto, a equiparação dos salários entre gêneros, a quebra do machismo estrutural na sociedade, mais debates sobre esse assunto em escolas, universidades e empresas, a criação de políticas empresariais de diversidade, essas ações podem ajudar a acabar com esse comportamento ofensivo nas empresas.

Saindo do cenário empresarial é necessário por parte do Estado uma melhor propaganda contra o preconceito sobre mulheres na TI, uma campanha contra o assédio dentro das empresas, a diminuição da mulher no ambiente de trabalho. Uma maior punição contra homens que têm esse comportamento também é de grande importância. Outro fator importante é a participação das minorias na área de tecnologia, por isso é de extrema importância o incentivo desde a infância pelo interesse em tecnologia , partindo do estado a criação de políticas voltadas para o ensino da tecnologia e criação de oportunidades excluisivamente voltadas para o público das minorias e feminino.

OpenStack Gender Diversity Report

No artigo da OpenStack é evidenciado um grande problema para a comunidade de código aberto, de acordo com uma pesquisa realizada pela Intel e pela Biterge, foi notada uma baixa diversidade de gênero nas colaborações em projetos open source da OpenStack, um número muito baixo de mulheres em cargos de gêrencia e poucas colaborações em coisas não relaciodadas a código. Isso evidencia um problema na área de desenvolvimento e na área do software livre, visto que, a diversidade ajuda em muitos fatores tanto no desenvolvimento de software. Visto isso é necessário um incentivo a uma maior diversidade na área de desenvolvimento de software e ações que promovam a comunidade de software livre para as minorias e o público feminino

Referências

1.https://lider.inc/noticias/desenvolvimento/mulheres-ainda-sao-minoria-em-areas-que-envolvem-tecnologia

2.https://capitaldigital.com.br/dois-em-cada-10-profissionais-sao-negros-e-mulheres-ainda-sao-minoria-em-dados-e-desenvolvimento-de-software/

3.https://www.geledes.org.br/828-das-profissionais-de-ti-ja-sofreram-preconceito-no-ambiente-de-trabalho/

4.https://olhardigital.com.br/2017/10/13/pro/como-as-empresas-de-tecnologia-estao-investindo-em-diversidade-e-inclusao/

Sentimentos e emoções em engenharia de software

A relação entre os sentimentos e emoções, com a área de desenvolvimento de software mostra como esses dois fatores influenciam positivamente e negativamente o desenvolvedor de software e como isso impacta as empresas e as equipes de desenvolvimento.

O impacto das emoções dos desenvolvedores na produtividade e qualidade do código

O artigo What happens when software developers are (un)happy  fez uma pesquisa  com um grupo largo grupo de desenvolvedores, onde os participantes responderam perguntas sobre eventos que eles presenciaram enquanto desenvolviam e o que eles sentiam após esse eventos  e com as suas respostas obtidas ficou claro que as emoções têm um papel muito importante no desenvolvimento de software.

Quando um desenvolvedor está feliz ele apresenta uma alta performance cognitiva a mais foco durante o desenvolvimento, maior capacidade de resolver problemas, mais energia mental, melhora nas habilidadesfacilidade no aprendizado, mais motivação, maior sentimento de realização, maior engajamento com o trabalho, mais criatividade, mais confiança em si mesmo.

Depois de todos esses fatores fica claro como um desenvolvedor feliz impacta positivamente na produtividade e qualidade do código, pois todos os fatores estão ligados a uma alta produtividade e qualidade de código. Porém, o contrario tambem impacta de forma inversa.

O impacto das emoções negativas no desenvolvimento de software

Ainda utilizando das resposta obtidas no artigo ele citacita como os maiores impactos negativos no desenvolvimento de software:

Baixa performance cognitiva: nas respostas foi comum que os participantes respondessem que tinham notado uma baixa no foco enquanto desenvolviam, fatiga mental, queda nas habilidades cognitivas.

Mal-estar mental ou distúrbio: esses impactos estão relacionados a causas que afetam a saúde mental, então, os desenvolvedores geralmente apresentavam ansiedade, depressão, frustração, falta de confiança, dúvida sobre suas habilidades.

Baixa motivação: a motivação é um fator muito importante no desenvolvimento pois leva o desenvolvedor a ter mais características mentais que os ajudam, como consequência de uma baixa motivação os relatos mostravam que os devs não eram participativos, eram mais lentos no desenvolvimento e não eram comprometidos com o trabalho

Desistência: esse impacto é atrelado a desistência do desenvolvedor com tarefas, trabalhos, ou até mesmo a área de desenvolvimento de software.
Baixa produtividade: a baixa produtividade pode ser notada nas respostas dos desenvolvedores onde era comum fatores como, trabalhar mais lentamente, demora no desenvolvimento de soluções ou boas soluções

A síndrome de Burnout no desenvolvimento de software

A síndrome de burnout é um distúrbio psíquico caracterizado pelo estado de tensão emocional e estresse provocados por condições de trabalho desgastantes. O Burnout é um problema muito comum e sério na indústria de TI e os desenvolvedores se encontram trabalhando muito por longos períodos em projetos, sejam eles pessoais ou nas suas empresas. 

Os sintomas mais comuns da síndrome de burnout na área de desenvolvimento de software são a falta de motivação e paixão pela programação, fatiga mental ou física, sentimento de solidão, falta de realização, sentimento de ineficácia, senso de dúvida, sentimentos de ansiedade e depressão, cansaço constante e insônia.

Já as causas do burnout no mundo do desenvolvimento são a sobrecarga de tarefas, falta de descanso, desenvolvimento de tarefas repetitivas, isolamento de outras pessoas, falta de exercícios físicos, sono ou uma alimentação ruim, uma cultura de aprendizado fraca nas empresas, onde um código mal escrito gera um problema urgente no futuro, levando os desenvolvedores a entrar nas causas do burnout.

A análise das comunicações e emoções  podem demonstrar a discriminação dde gênero em equipes de desenvolvimento?

Acredito que as comunicações podem relevar não apenas discriminação de gênero,  mas uma gama de outros problemas  em equipes de desenvolvimento, essa análise deve ser sempre ser feita para criar uma melhor equipe de desenvolvimento e consequentemente fazer com que as emoções dos desenvolvedores sejam positivas.

Sobre a discriminação de gênero a edição do IEEE SOFTWARE Sentiment and Emotion in Software Engineering mostra como empresas que incorporam equipes com diversidade de gênero, tendem a ter um clima melhor que empresas que possuem equipes compostas apenas de homems.

Desenvolvendo uma nova consciência social para os sentimentos e emoções na engenharia de software

É importante ser criada uma consciência social para os sentimentos e emoções dos desenvolvedores de software pois esses fatores fazem uma grande diferença no desenvolvimento, para melhorar o cenário atual é de extrema importância levar em consideração o que faz com que esse fatores sejam negativos e evitar que eles aconteçam.

As empresas de software devem trabalhar para evitar que eventos que deixem os desenvolvedores infelizes  aconteçam, fazendo pesquisas de satisfação e escutando o que os desenvolvedores e as equipes tem a falar, além disso, a criação de equipes diversas deve ser feita, é preciso também estudar as causas da síndrome de burnout e fazer uma cultura na empresa que evite situações que levem a esse problema.

Links e referências

https://www.sciencedirect.com/science/article/pii/S0164121218300323

https://ieeexplore.ieee.org/document/8802324

Computação quântica

Os computadores quânticos são o futuro da computação e já são uma realidade nos dias de hoje, mesmo que sejam poucos, suas características mostram um grande potencial tecnológico e um salto no processamento de dados em relação aos computadores convencionais

Diferença entre o Computador quântico e o convencional

Os computadores que utilizamos no dia a dia se baseiam em um sistema binário, 0 ou 1, sim ou não, ligado ou desligado, sendo que esses sinais são enviados por uma corrente elétrica que ao passar pelos transistores emulam os bits 1 ou 0, os bits podem assumir somente os valores 0 ou 1. Já os computadores quânticos utilizam das características da física quântica para emular os bits, chamados de qubits (Quantum Bits), sua principal diferença se dá pelo fato de que os qubits, diferentemente dos bits, podem assumir os valores de 0 e 1 ao mesmo tempo, essa diferença, cresce imensamente a capacidade de processamento dos computadores quânticos em relação aos convencionais.

Uma vez que cada qubit equivale a 2 bits clássicos um computador quântico que opera com 64 bits equivale a um computador clássico equipado com 264 bits (cerca de 1,8.1019 bits).

(computador quântico, fonte Google imagens).

Vantagens da Computação quântica

Por ter uma capacidade de processamento nunca vista antes, os computadores quânticos podem realizar operações que são de extrema importância para diversas áreas. Na microbiologia e pesquisa farmacêutica isso seria uma grande mão na roda já que muitos problemas que essas industrias enfrentam hoje em dia poderiam ser solucionadas com mais facilidade. Por exemplo, a simulação de grandes moléculas é um problema que até mesmo os supercomputadores da atualidade têm dificuldade ou não conseguem resolver, já um computador quântico teria mais facilidade por tem uma capacidade computacional maior e pelo fato das moléculas também seguirem os mesmos princípios da mecânica quântica. Outra área que receberia uma grande ajuda seria a de banco de dados já que os computadores quânticos possuírem um processamento melhor, buscas em banco de dados muito grandes seriam uma problema fácil, inclusive algoritmos de busca, para computadores quânticos já foram desenvolvidos muito tempo atrás, um deles é o de busca de banco de dados de Grover, desenvolvido pelo cientista informático Lov Grover.

(Algoritmo de Grover, fonte Google imagens).

Problemas dos computadores quânticos

Os maiores problemas relacionados aos computadores quânticos podem ser relacionados a estrutura em que ele é desenvolvido, dificilmente veremos gabinetes ou notebooks com um sistema quântico funcionando na atualidade, apenas em questões de anos, os algoritmos e programas que usamos no dia a dia também não possuem seus cálculos acelerados por computadores quânticos, apenas, como citado anteriormente, os sistemas quânticos como a simulação de grandes moléculas. Além disso o computador quântico da atualidade tem uma grande necessidade de manter o sistema em temperaturas muito baixas ou no zero absoluto.

(Computador quântico, fonte UOL)

Computadores quânticos e criptografia

Uma das questões mais polemicas relacionadas aos computadores quânticos é o fato da facilidade que essa tecnologia tem para quebrar chaves de acesso de criptografias complexas, o RSA, sistema de criptografia geralmente utilizado em bancos online, que se baseia na decomposição de um número grande em dois fatores, que nos dias atuais não é quebrada por computadores convencionais, teria um grande problema com os computadores quânticos, já que nos computadores quânticos diversas possibilidades podem ser testadas simultaneamente . No entanto ainda existem sistemas de criptografia que ainda são de extrema dificuldade para a resolução com os computadores quânticos, e no futuro sistemas de criptografia feitos para computadores quânticos já poderão existir.

Principais empresas nesse ramo da tecnologia

Entre as empresas que estão investindo nessa tecnologia podemos citar o Google, a Microsoft e a IBM. A IBM inclusive planeja ter um computador quântico com 1000 qubits até 2023

Referencias e videos interessantes

[1] https://www.youtube.com/watch?v=fLN1zQOPT2E&t=419s

[2] https://brasilescola.uol.com.br/o-que-e/fisica/o-que-e-computacao-quantica.htm#:~:text=Computa%C3%A7%C3%A3o%20qu%C3%A2ntica%20%C3%A9%20a%20ci%C3%AAncia,%C3%A1tomos%2C%20f%C3%B3tons%20ou%20part%C3%ADculas%20subat%C3%B4micas.

[3] https://www.youtube.com/watch?v=kq25_qI1_sI

[4] https://www.uol.com.br/tilt/reportagens-especiais/como-o-google-alcancou-a-supremacia-quantica/#page9

[5] https://exame.com/inovacao/computador-quantico-da-ibm-deve-ter-avanco-inedito-nos-proximos-3-anos/

Regulamentação de profissionais de TI

Resultado de imagem para tirinhas de ti regulamentação

A tecnologia hoje em dia é de grande importância em todas os âmbitos, sendo assim, os profissionais de TI são imprescindíveis para a construção deste cenário tecnológico, todavia a regulamentação para esses profissionais não existe em diversos países e a mesma traz vantagens e desvantagens do ponto de vista das empresas e dos empregados.

Cenário atual:

No Brasil como descrito acima as profissões de TI não são regulamentadas, porém há um projeto de lei que visa regulamentar o exercício da profissão no país, veja abaixo uma parte do projeto de lei 5101/2016:

Art. 1º É livre, em todo o território nacional, o exercício das atividades de análise de sistemas e demais atividades relacionadas com a Informática, observadas as disposições desta Lei.

Art. 2º Poderão exercer a profissão de Analista de Sistemas no País:

I – Os possuidores de diploma de nível superior em Análise de Sistemas, Ciência da Computação ou Processamento de Dados, expedido por escolas oficiais ou reconhecidas;

II – Os diplomados por escolas estrangeiras reconhecidas pelas leis de seu País e que revalidarem seus diplomas de acordo com a legislação em vigor;

 III – os que, na data de entrada em vigor desta Lei, tenham exercido, comprovadamente, durante o período de, no mínimo quatro anos, a função de Analista de Sistemas – os portadores de diploma de ensino médio ou equivalente, de Curso Técnico de Informática ou de Programação de Computadores, expedido por escolas oficiais ou reconhecidas;

Art. 3º Poderão exercer a profissão de Técnico de Informática:

I – Os portadores de diploma de ensino médio ou equivalente, de Curso Técnico de Informática ou de Programação de Computadores, expedido por escolas oficiais ou reconhecidas;

 II – Os que, na data de entrada em vigor desta Lei, tenham exercido, comprovadamente, durante o período de, no mínimo 2 anos, a função de Técnico de Informática;

Opiniões :

Algumas instituições brasileiras relacionadas ao campo da computação deram suas opiniões sobre o assunto:

– A Sociedade Brasileira de Computação (SBC) declara que é contra a determinação de uma reserva de mercado de trabalho, que normalmente é estabelecida por meio da criação de conselhos de profissão nos padrões tradicionais.

Como já acontece em outras áreas do mercado de trabalho, isso pode levar a uma supervalorização do diploma em detrimento do conhecimento, que é o preparo que deveria ser considerado.

Entretanto, a SBC afirma ser a favor da liberdade do exercício profissional, sendo que o conhecimento técnico-científico e social — os quais geralmente são obtidos por meio de curso de nível superior de qualidade — é a grande singularidade da competência profissional.

 – A Associação das Empresas Brasileiras de Tecnologia da Informação (ASSESPRO), o Projeto de Lei do Senado nº 607/2007, que busca a regulamentação da profissão de analista de sistemas, tornando indispensável o diploma de nível superior para que se possa trabalhar na área, vai contra uma conhecida necessidade do segmento de TI: a conquista de novos profissionais para o setor.

O que quem é favorável diz :

• os serviços prestados seriam de melhor qualidade;
• formandos qualificados teriam emprego garantido;
• a ética profissional seria mais bem estabelecida;
• trabalhadores anti-profissionais ou anti-éticos não teriam vez no mercado;
• um conjunto de normas técnicas seria criado;
• unificação das variadas profissões da área e nomenclatura apropriada;
• fim da separação entre os profissionais de computação e demais profissões regulamentadas;
• criação de um conselho de classe específico com normas mais cabíveis para a área.

O que quem não é favorável diz :

  • os serviços não serão necessariamente melhores por causa do empregado ter um diploma
  • Perca da competitividade global devida as barreiras impostas pela regulamentação
  • Dificuldade para pequenos empreendedores criarem empresas
  • A reserva de mercado corroboraria com a mão de obra desqualificada

Meu ponto de vista:

Do meu ponto de vista a regulamentação não traz tantos pontos positivos, um dos argumentos dado pelas instituições a favor da regulamentação é de que ela fará com que os profissionais sejam mais competentes no âmbito da profissão, gerando assim, como a SBC diz, a supervalorização do diploma, porém, muitas vezes o mesmo não faz com que o profissional formado seja mais competente que um sem diploma, afinal na maioria dos casos o exercício da profissão dá mais conhecimento do que o obtido em instituições de ensino. Este também é um dos argumentos da Association of Computing Machinery (ACM) que na tentativa do governo Norte Americano de regulamentar a profissão, foi contra.

Referências:

[1] /https://www.profissionaisti.com.br/2013/06/14-motivos-para-voce-ser-contra-a-regulamentacao-dos-profissionais-de-ti/

[2] https://blog.hdstore.com.br/regulamentacoes-em-ti-no-brasil/

[3]https://www.profissionaisti.com.br/2013/06/14-motivos-para-voce-ser-contra-a-regulamentacao-dos-profissionais-de-ti/

[4]https://canaltech.com.br/governo/regulamentacao-de-profissoes-em-ti-encontra-rejeicao-no-senado-149435/

Inclusão Digital dos Idosos

       

Imagem relacionada

A tecnologia se tornou uma ferramenta bastante participativa na vida de todas as pessoas e hoje em dia é visto um grande desenvolvimento tecnológico em um curto intervalo de tempo, sendo esse desenvolvimento algo positivo para a sociedade em geral, entretanto essas céleres mudanças tecnológicas acabam por excluir o público da terceira idade de sua participação no mundo digital.

Participação dos idosos no uso da tecnologia:

O interesse das pessoas com mais de 60 anos pelo mundo virtual está crescendo em ritmo acelerado, conforme uma pesquisa do Instituto Locomotiva, que mostra que enquanto o número de brasileiros conectados na internet cresceu mais de 100% nos últimos oito anos, o aumento para os internautas da terceira idade foi de quase 1000%.

No entanto, apesar desses ganhos, muitos idosos permanecem em grande parte desconectados da inclusão digital. A Pew Research Center relata que um terço dos americanos adultos de 65 anos ou mais dizem que nunca usam a internet, e aproximadamente metade (49%) dizem que não possuem serviços de banda larga em casa. Enquanto isso, mesmo com os ganhos recentes, a proporção de pessoas idosas que dizem que possuem smartphones é 42% menor do que as idades 18 a 64. No Brasil, dos mais de mais de cinco milhões de idosos que estão conectados à internet, a maioria está na região Sudeste (60%), e pertencem às classes A e B.

As estatísticas mostram como a inclusão dos idosos no mundo digital vem aumentando, porém, o uso de certas tecnologias como a internet ou os smartphones e a desigualdade social também se tornam dificuldades no uso das tecnologias pelos idosos.

Idosos de destaque na área de TI:

https://abrilexame.files.wordpress.com/2017/03/gettyimages-625137408-e1490022536452.jpg

Bill Gates

Além de ser um dos fundadores da Microsoft, Gates ainda trabalha no ramo da tecnologia, como visto na minissérie documentária “O código Bill Gates”, em vários projetos, seja para o desenvolvimento de energias limpas ou na ajuda com os problemas sanitários na África.

Resultado de imagem para Ginni Rometty

Ginni Rometty

Atual CEO da IBM e primeira mulher a se tornar líder da companhia.

Resultado de imagem para Ursula Burns

Ursula M. Burns

Atual CEO da XEROX e primeira mulher a proceder a liderança feminina na empresa.

Iniciativas que facilitariam o acesso dos idosos a tecnologia:

O fácil acesso à tecnologia é um dos caminhos para a inclusão digital dos idosos por isso algumas iniciativas são essenciais para fazer esta ponte, por exemplo:

  •  A criação de primeiros passos mais simples na hora de configurar aparelhos e sistemas operacionais.
  • Menus com conteúdo de fácil visualização.
  • Facilitar o acesso à internet e a smartphones.
  • A criação de ferramentas que auxiliem os idosos a depender de suas necessidades.

Como o estado poderia contribuir na inclusão digital dos idosos:

Assim como as iniciativas, o estado tem um papel fundamental para melhorar esta situação: a criação de cursos noturnos de informática de graça em escolas públicas poderia favorecer o aprendizado dos idosos e criar vagas de empregos para professores, a criação de campanhas e oficinas de ensino a tecnologias essenciais para o dia de hoje. Outro fator importante é o ensino do uso da internet como pode ser visto pelo Programa Melhor Idade, o programa é uma ação social do governo do Estado do Espírito Santo, por intermédio do PRODEST (Instituto de Tecnologia da Informação e Comunicação do Estado do Espírito Santo), e tem por finalidade promover gratuitamente o acesso às potencialidades da Internet às pessoas da terceira idade. Desde a implantação até abril de 2011, já foram beneficiadas aproximadamente 4 mil pessoas e o programa prioriza o aprendizado e a utilização da Web, o acesso gratuito aos serviços, às informações e às facilidades da Internet, orientado por profissionais treinados, quebrando as barreiras digitais que existem para muitas pessoas.

Como a tecnologia pode melhorar a vida dos idosos:

Como pode ser visto atualmente a tecnologia já tem um grande papel na sociedade, logo, o seu uso é quase essencial no mundo contemporâneo. Para os idosos o uso da tecnologia pode ajudar em muitos aspectos, por exemplo: muitos problemas que eram burocráticos antigamente hoje em dia são facilmente resolvidos pelos celulares e computadores, outro exemplo é como o Japão consegue usar a tecnologia para melhorar a vida de idosos, lá idosos com problemas de memória e demência usam QR Codes nas unhas que contém seus dados, como endereço e telefones de emergência, para que em caso de acidentes os problemas não sejam tão grandes. Além disso o uso da internet é uma ótima forma de lazer com fácil acesso, afinal de contas a diversão é muito importante na terceira idade.  

Código QR em Iruma

Como combater o preconceito contra os idosos e o uso de tecnologias:

A melhor resposta é a criação de uma melhor educação e interação entre os idosos e as novas gerações, já que criando uma geração menos preconceituosa no futuro o esse problema diminuirá, a criação de campanhas contra o preconceito aos idosos pelo governo também pode ajudar a conscientizar a população. Já o uso de tecnologias o preconceito vem justamente do público mais velho que cresceu em uma realidade diferente da vivida hoje, é visto hoje em dia, por exemplo, idosos com medo de utilizar tecnologias, logo, a conscientização que a tecnologia é uma aliada é de grande importância.

Referências:

Google

https://www.bbc.com/portuguese/internacional-38431831
https://www.happycodeschool.com/blog/importancia-da-inclusao-digital-na-terceira-idade/
https://prodest.es.gov.br/programa-melhor-idade

Mulheres em TI

Mulheres em TI

As mulheres, desde o inicio da era computacional estiveram ligadas a programação de computadores, seja com Augusta Ada King, a criadora do primeiro algoritmo da história, ou com a programação do computador projetado para guerra, o ENIAC, onde as mulheres eram as responsáveis pela programação.

Resultado de imagem para ada lovelace
A Condessa de Lovelace
Resultado de imagem para programação do eniac
Programação do ENIAC
Ilustração: Jordana Andrade
As programadoras do ENIAC( The Computers, como eram chamadas)

Hoje Podemos ver como uma mulher de sucesso na TI a atual CEO do youtube, Susan Wojcicki, que anteriormente ajudou a desenvolver ferramentas para o Google imagens e o Google Books.

Resultado de imagem para Susan Wojcicki
Susan Wojcicki, atual CEO do Youtube

Na área da TI, a participação de mulheres é essencial, pois cria um ambiente de trabalho mais diversificado, assim estimulando atividades cooperativas e tornando o ambiente mais acolhedor, além disso é importante a presença de mulheres em áreas que tem uma maior participação masculina para a criação de uma maior representatividade feminina, assim, quando as alunas de um curso, desmotivadas, que olham a sala e não veem uma representação feminina consigam se sentir mais confiantes quando verem o mercado de trabalho.

O acesso de mulheres em cargo de gerência é também um fator muito importante para a representatividade feminina, assim, assumindo cargos de chefia as mulheres podem combater a desigualdade de gênero existente nas empresas e criarem um ambiente de trabalho essência para todos os gêneros. Segundo dados da Folha de São Paulo os números de mulheres em cargos de chefia crescem desde 2003 , além disso mudanças em regras de remuneração que “punem”, metas de percentual feminino em cargos de gestão, exigência de mulheres entre os candidatos de processos seletivos, licença-maternidade maior e conversas abertas sobre preconceito, são posturas adotadas pelas empresas que melhoram a participação feminina em cargos de chefia e combatem as dificuldades encontradas pelas mulheres na área da TI na sociedade.

mulheres na tecnologia

É de conhecimento geral que muitos homens no ambiente de trabalho fazem piadas machistas e duvidam das capacidades de mulheres colegas de trabalho, porém esse comportamento causa bastante problemas para a performance da empresa. Com isso é vista a necessidade da criação de meios para combater esse preconceito de gênero dentro do âmbito empresarial, talvez uma maior punição para esse tipo de comportamento, ou uma maior propaganda por parte da empresa com vídeos, cartazes espalhados e discussões entre funcionários sobre esse assunto podem ajudar a acabar com esse comportamento ofensivo nas empresas.

Saindo do cenário empresarial é necessário por parte do Estado uma melhor propaganda contra o preconceito sobre mulheres na TI, uma campanha contra o assédio dentro das empresas, contra piadinhas e a diminuição da mulher no ambiente de trabalho. Uma maior punição contra homens que tem esse comportamento também é de grande importância.

Resultado de imagem para code like a girl

Referencias

https://www1.folha.uol.com.br/mercado/2019/03/aumenta-a-participacao-de-mulheres-em-cargos-de-chefia.shtml

http://www.revistacapitolina.com.br/eniac-e-pioneiras-esquecidas-da-programacao/

https://netsupport.com.br/blog/os-desafios-para-mulheres-na-ti/

https://www.siteware.com.br/lideranca/mulheres-na-tecnologia/

Lixo eletrônico

O lixo eletrônico pode ser considerado um dos mais preocupantes problemas ambientais da atualidade, visto que o grande desenvolvimento da tecnologia em um curto espaço de tempo gera uma quantidade de resíduos tecnológicos de forma exponencial em um círculo vicioso que afeta toda a população mundial.

O que é o Lixo eletrônico?

O lixo eletrônico é todo o lixo resultante de materiais eletrônicos, por exemplo: TVs, celulares, tablets, carregadores, baterias, pilhas, computadores e notebooks, periféricos, eletrodomésticos, câmeras e aparelhos e som. Pode-se dizer que a maior culpa do crescimento desse lixo dá-se por conta da obsolescência programada, em que todo os produtos eletrônicos que são vendidos, por trás já trazem uma data de validade que não é nada mais do que o tempo que ele tem até se tornar obsoleto. Outra possível causa pode ser a Lei de Moore que prevê que o poder de processamento dos computadores dobra a cada 18 meses, um ano e meio, contribuindo para a obsolescência programada e pela visão do lucro de grandes empresas que geralmente detém uma tecnologia nova, mas lança um produto sem essa para lançar o novo num pequeno intervalo de tempo.

Resultado de imagem para lixo eletronico"

.

            Foto retirada do Google imagens.

Destino do lixo eletrônico

Resultado de imagem para guiyu china"
Resultado de imagem para guiyu china"

fotos retiradas do Google imagens.

As imagens acima mostram um dos mais preocupantes destinos do lixo eletrônico mundial, a cidade de Guiyu na China que é conhecida globalmente por receber lixo eletrônico.

O vídeo acima é uma reportagem de uma rede norte americana de televisão, a CBS, que mostra Guiyu e como o lixo eletrônico é tratado.
A população que trabalha nestes depósitos de lixo quebram os eletrônicos em busca de partes com metais valiosos e as outras partes eles queimam, assim soltando gases poluentes e correndo o perigo de pegarem doenças relacionadas aos metais pesados que estão presentes nos eletrônicos. A maioria do lixo eletrônico tem como destinos Países da Ásia, Oriente médio e África, como por exemplo: Índia, China e Nigéria.

Impacto ambiental do lixo eletrônico

O vídeo acima dá outra visão da mesma reportagem da CBS, mostrando desta vez um rio de cinzas geradas a partir da queima do material e o descarte dela no rio. O lixo eletrônico é gerado a partir de matérias de origem inorgânico, eles podem comprometer o meio ambiente já que são compostos muito poluentes, podendo alcançar lençóis freáticos e comprometer a vida de humanos e animais.

O que está sendo feito e o Tratamento

Atualmente as empresas estão criando meios para o descarte, armazenamento e reciclagem de materiais eletrônicos e criando leis para este tipo de lixo como por exemplo a Lei Estadual nº 13.576, de 6 de julho de 2009, que institui normas e procedimentos para a reciclagem, gerenciamento e destinação final de lixo tecnológico. Além disso as empresas que vendem e as que fabricam tem agora politicas de retorno de aparelhos, ou seja, se você quer se desfazer do produto você pode levar as empresas para o descarte ou dar a algumas e ganhar dinheiro para comprar os novos, empresas como a Amazon, Dell e Apple já trabalham com estes métodos.

No âmbito dos países desenvolvidos

Antes, países como os Estados Unidos simplesmente mandavam seu lixo para países como Guiyu ou países em desenvolvimento, por ser mais conveniente tanto para o país tanto para os donos das empresas, porém como citado antes as empresas estão tentando criar iniciativas mais sustentáveis para a produção tanto descarte de materiais eletrônicos, simplesmente banir o envio de remessas pode não ser a melhor solução, já que, as mesmas podem criar empregos na área de reciclagem de materiais e melhorar a economia de países em desenvolvimento, contanto que isso seja feito de forma segura e que não ponha a população desses países em risco, como visto em Guiyu.

Criando uma consciência social

O lixo eletrônico é um grande problema e vivemos em uma sociedade em que a tecnologia é fluida e rápida, diferentemente das crianças de 20 anos atrás, a tecnologia já anda lado a lado com as de hoje, ensina-las sobre como descartar e as consequências do mau gerenciamento deste lixo pode melhorar a situação. Além disso, frente a desigualdade que vemos dia a dia, talvez aquele aparelho antigo para alguns seja uma nova tecnologia incrível para outros, a doação de aparelhos antigos pode ajudar. Outro ponto importante é o incentivo para as tecnologia sustentáveis que quando descartadas não tenham um impacto tão grande no ambiente.

Referencias

https://www.todamateria.com.br/lixo-eletronico/

https://www.tecmundo.com.br/curiosidade/701-o-que-e-a-lei-de-moore-.htm

https://www.bbc.com/portuguese/noticias/2013/01/130118_lixo_eletronico_bg.shtml

Crie um site como este com o WordPress.com
Comece agora