Saturday, April 12, 2025

Visualizando Hard Skills: Estratégicos e em Alta Demanda

Há alguns dias eu vi uma apresentação sobre skills, mais precisamente sobre "Hot Skills necessários e estratégicos".

Embora o tema seja extremamente interessante e relevante, a forma que os dados foram apresentados foi confusa.

Não tenho os dados originais da apresentação, mas tentei reproduzir com dados que pedi ao Copilot (IA Generativa da Microsoft) gerar.

Fiz esta pergunta ao Copilot:

Gostaria que você gerasse 2 listas:
- A Lista 1 deve ter Hard Skills Estratégicos no Mercado Atual.
- A Lista 2 deve ter Hard Skills Necessários / Demandados no Mercado Atual.

Cada lista deve ter aprox. 36 skills, sendo:
- Hard Skill / Tecnologia
- % demanda (ou seja, em 100 empresas, % que estão procurando estes skills - por ser porcentagem, a somatória deste campo precisa ser 100%).

O Copilot gerou duas listas, mas precisei refiná-las por meio de algumas interações, já que, inicialmente, ele tratou 'Cloud Computing' e 'Computação em Nuvem' como habilidades distintas.

Mas, no final, consegui minhas listas, de forma satisfatória, e com referências de sites reais, suportando a veracidade das informações.

Desta lista, criei este primeiro gráfico, similar ao que vi na apresentação que assisti:

Hard Skills / Tecnologias Estratégicas e em Demanda no Mercado Atual 
(fonte dos dados: Copilot, 10-Abr-2025 / imagem: Adriana Weingart com Excel)


Antes de entrar na "boa-e-velha discussão" Gráfico de Pizza vs não Gráfico de Pizza, vou listar alguns pontos que observei:

1 - Logo de cara, eu parei e fiquei tentando ler as letrinhas da legenda e tentando achar a cor equivalente no gráfico. 

  • O primeiro desafio foi: ler as letrinhas pequenas (sim: estou ciente do uso da hipérbole nesta expressão). 
  • O segundo desafio foi achar a cor relacionada da legenda no gráfico - e aqui tem um ponto negativo a mais: naquele tamanho de letrinha da legenda, o verde claro, verde médio, verde musgo, verde palmeiras (eca! #VaiCorinthians) e qualquer outro verde é só isso: verde.
  • Esse segundo desafio me incomodou por mais um ponto: comecei a assumir algumas coisas, como: assumi que o primeiro skill listado na legenda é o skill com maior "fatia". Mas... E se quem criou o gráfico mexeu nisso. Eu não deveria precisar fazer suposições para ler o gráfico.
2 - Passando a fase de tentar ler (print na tela, zoom in e voilà) e achar a equivalência (suposições), comecei a tentar a avaliar os skills listados, e me deparei com mais pontos de atenção:

  • Os skills estratégicos (futuros) aparecem antes dos skills em demanda (presente) - isso pode ser tanto pensado para ser assim (querendo dar ênfase no futuro), mas não seria mais interessante "garantir" o presente primeiro? E neste caso, os skills em demanda deveriam aparecer à esquerda (já que no Brasil lemos da esquerda para a direita).
  • Não há uma correlação de cores para os mesmos skills que aparecem em estratégicos e em demanda. O que seria interessante para avaliar os skills e sua importância ou relevância.
3 - Agora sim, entrando na discussão da pizza...
  • As fatias, enquanto bonitinhas, dificultam o entendimento dos dados. O quanto "Inteligência Artificial e Machine Learning" é listado como mais estratégico que "Cibersegurança"? As fatias pequenas representam quais dados e com qual relevância? Apesar do gráfico de pizza ser simples e intuitivo e muito útil para visualização da participação relativa de cada categoria no total, ela só funciona assim para poucas categorias. Quando há muitas categorias, e as porcentagens forem parecidas, o gráfico fica confuso e passa sensação de imprecisão ao tornar difícil identificar a diferença entre elas.
  • A projeção 3D do gráfico, apesar de ser visualmente impactante e muitas vezes passar uma sensação de sofisticação, o efeito 3D pode distorcer o tamanho das fatias - fazendo-as parecer maiores ou menores em algumas situações. Esse efeito também pode dificultar a comparação precisa entre os segmentos, diminuindo a legibilidade.
4 - Um ponto positivo do gráfico (pelo menos este que gerei) foi que ele "passou no teste" do Coblis - Color Blindness Simulator. Coloquei a imagem lá, e ainda conseguia perceber (com as dificuldades já listadas acima) cores diferentes.


Com estas considerações em mente, montei outros gráficos e o slide correspondente:

Hard Skills / Tecnologias Estratégicas e em Demanda no Mercado Atual 
(fonte dos dados: Copilot, 10-Abr-2025 / imagem: Adriana Weingart com Excel e PowerPoint)


Apesar deste novo "slide" ter mais texto, e ainda poder receber algumas melhorias, ele me parece mais informativo e claro, contando a história dos dados que o alimentaram.


E este ponto me fez começar a refletir em outras coisas, no tópico de Visualização de Dados e Criação de Apresentações:

  • Que história meu dado está contando / quer contar?
  • Que história o slide está dizendo para quem o visualiza?

 

Não é apenas sobre colocar os dados no Excel e criar um gráfico bonitinho, que passa uma sensação agradável impactante. É sobre a narrativa construída, a história que os dados e a apresentação contam, e o impacto que ela gera nas pessoas e nos negócios, no contexto em que está inserida.


Acho que ainda é válido mencionar que não é apenas sobre fazer o gráfico no Excel, copiar e colar no slide do PowerPoint e é isso.  É pensar nos dados, pensar na história, pensar na apresentação e como ela ficará - design, contexto, cores. É montar um quebra-cabeças, e no final, observar se o resultado conta a história do dado (como um todo, e cada pedaço).


O que você achou desta transformação? Há algum ponto que poderia ser acrescentado / tirado para melhorar a história na 2a imagem? Você tem alguma dica para apresentação e visualização de dados? Compartilhe aqui...


#DataViz #VisualizaçãoDeDados #DataAnalysis #Skills #HardSkills #Learning #Carreira #TechnicalCareer


Postagems relacionadas:

- Uma proposta de visualização...

- A mágica por trás da imagem

Wednesday, April 9, 2025

Redes de Computadores e sua segurança

Logo que terminei a faculdade de Engenharia Civil, não consegui emprego na área. Então, iniciei uma Especialização em Análise de Sistemas.

Por que estou mencionando este fato? Por que estou lembrando que tive na especialização uma matéria chamada "Redes", que, como em várias outras situações semelhantes em que me encontrei não sabendo de nada do assunto, minha mente resolveu imitar a mente do Bobby. 

("O fantástico mundo de Bobby" / "Bobby's World", de 1990).

Então... nestes 2 últimos dias, tive um "déjà vu". Trabalhando com outros colegas em uma solução de redes, lembrei daquelas aulas (há muitos anos), e percebi o quão pouco eu evolui em redes (preferindo focar em SAP, e mais recentemente em Dados e IA).

Resolvi "relembrar" algumas coisas, e registrar aqui.

Conceitualmente, as redes de TI seguem o Modelo OSI (Open Systems Interconnection), que divide a comunicação em 7 camadas, cada uma com funções específicas. 

Mas, enquanto o Modelo OSI é mais teórico e usado aprendizado, desenvolvimento de padrões e análise de redes, há o Modelo TCP/IP (Transmission Control Protocol / Internet Protocol) que foi criado para permitir a comunicação entre sistemas diferentes na internet, sendo mais prático e diretamente implementado nos protocolos de rede, sendo a base da conectividade global.

O Modelo TCP/IP também é dividido em camadas, mas apenas em 4 camadas.

Comparação entre os modelos OSI e TCP/IP

Há uma correspondência entre as camadas dos 2 modelos:

Correspondência entre as camadas dos modelos OSI e TCP/IP


E segurança?

Todas as camadas (de ambos os modelos) desempenham um papel importante na comunicação de redes, mas algumas são consideradas mais críticas por que lidam diretamente com a transmissão dos dados na internet, e devido à sua exposição a ataques e impactos na seguranca e desempenho.

No modelo TCP/IP:

A - Camada de Internet (equivalente à Camada 3 / Rede, do Modelo OSI)

  • Responsável pelo roteamento e endereçamento IP.
  • Ataques comuns: IP spoofing, ataques de roteamento, DDoS baseado em ICMP.
  • Proteção: Firewalls, VPNs, lista de controle de acesso (ACLs).
B - Camada de Transporte (equivalente à Camada 4 / Transporte, do Modelo OSI)
  • Gerencia a entrega dos pacotes TCP e UDP entre dispositivos.
  • Ataques comuns: TCP SYN Flood, UDP Flooding, manipulação de conexões.
  • Proteção: Rate limiting, inspeção profunda de pacotes (DPI), mecanismos de controle de sessão.
C - Camada de Aplicação (equivalente às Camadas 5 / Sessão, 6 / Apresentação e 7 / Aplicação, do Modelo OSI)
  • Interage com aplicativos e usuários, sendo a camada mais exposta.
  • Ataques comuns: SQL Injection, XSS, phishing, DDoS HTTP Flood.
  • Proteção: WAFs (Web Application Firewalls), autenticação multifator, validação de entrada de dados.
Considerando o Modelo OSI, a camada 1 (Física) também é crítica do ponto de vista da infraestrutura, pois ataques físicos podem comprometer completamente um sistema.

Manter defesas robustas nessas camadas é essencial para proteger sistemas contra ataques cada vez mais sofisticados.


E, com este estudo e post, percebo que há muito mais para se estudar em termos de redes e segurança. Mas isso ficará para próximos estudos e posts.

Será que redes está finalmente deixando de ser aquele pedaço de pano que colocamos entre duas árvores para deitar e dormir?



#Network #RedesDeComputadores #NetworkSecurity #ModeloOSI #ModeloTCPIP #CyberSecurity

Monday, March 3, 2025

Reflexões sobre IA...

 Esta semana, a Ana Paula Appel compartilhou em seu perfil no Instagram "Crazy for Data", um texto bem interessante sobre IA (Inteligência Artificial) que gostei muito, e vou reproduzir aqui.


A IA vê apenas...

O passado e não o futuro.
O padrão e não o propósito.
Conformidade e não comprometimento.
Dados e não história humana.
Correspondência de palavras e não compreensão.
A escrita e não o pensamento.
Tempo de resposta e não amizade.
O que foi implementado, não o que foi considerado.
Seus eventos de calendário, não o que eles significam para você.
A decisão final, não os momentos de inspiração.
O que funcionou antes, não o que funcionará a seguir.
O que você fez, não por que você fez.
Sua sombra digital, não o verdadeiro você.


A Inteligência Artificial é muito útil e inegavelmente, uma realidade hoje. Mas ela não substitui o ser humano em toda sua complexidade, sua criatividade, suas emoções e realizações.

Usar a IA, sim! Depender da IA, não! A IA é para nos ajudar a irmos além, a nos permitir explorar novos caminhos e possibilidades.

Joanna Maciejewska expressou muito bem um bom caminho para a IA:

Joanna Maciejewska, sobre IA

"I want AI to do my laundry and dishes so that I can do art and writing, not for AI to do my art and writing so that I can do my laundry and dishes."
“Quero que a IA lave minha roupa e minha louça para que eu possa fazer arte e escrever, não que a IA faça minha arte e minha escrita para que eu possa lavar minha roupa e minha louça.”

E ela ainda vai mais longe, em seu perfil no X (antigo Twitter), explicando que: 

"This post isn't about wanting an actual laundry robots. It's about wishing that AI focused on taking away those tasks we hate (doing taxes, anyone?) and don't enjoy instead of trying to take away what we love to do and what makes us human."
"Este post não é exatamente sobre querer robôs para lavar a roupa. É sobre desejar que a IA se concentre em tirar aquelas tarefas que odiamos (fazer Imposto de Renda, alguém?) e não gostamos, em vez de tentar tirar o que amamos fazer e o que nos torna humanos."


Ha cerca de 2 anos, o ChatGPT apareceu (e com ela, várias outras IAs Generativas), tornando o acesso a recursos de Inteligência Artificial mais simples e populares. E cada vez mais, vemos os usos se expandindo, se diversificando - e também, o medo de ser substituido/a por ela.

Enquanto o ser humano mantiver sua capacidade de criação, de ser criativo, de ir além, de compreensão, de entender o porquê e seu senso crítico, mantiver as emoções e sua humanidade, e entender que a IA é uma ferramenta, um suporte, e não o objetivo, teremos possibilidade de fazer nossa arte, buscar inspiração, enfim, sermos nós mesmos, mas melhores.

Mas, estamos prontos para essa conversa?

Deixo o questionamento e a reflexão...


#IA #AI #ArtificialIntelligence #InteligênciaArtificial #GenAI #PoV #PontoDeVista #PointOfView

Tuesday, January 14, 2025

Python: .iloc e .loc

Ainda na série "Vivendo e Aprendendo", agora foi em Python.

Faz um bom tempo que faço confusão com os métodos .iloc e .loc do Pandas. E hoje, resolvi estudar um pouco mais e entendê-los.

Vou compartilhar minhas anotações aqui na esperança que ajude outras pessoas a entenderem também...

Começando do básico, .iloc e .loc são métodos do Pandas, uma poderosa biblioteca do Python utilizada para manipulação e análise de dados. Eles são usados especificamente para indexação e seleção de dados de dataframes.


- Método .iloc

Usado para indexação baseada na posição dos índices. Funciona com números inteiros e permite selecionar linhas e colunas pelo índice de suas posições.

(Lembrando que, quando criamos um dataframe no Pandas sem especificar índices personalizados, eles são atribuidos automaticamente: índices inteiros sequenciais começando do 0 - ou seja, a primeira linha / coluna terá índice 0, a segunda linha / coluna terá índice 1 e assim por diante. Há maneira de redefini-los, personalizá-los, mas isso é papo para outro post.)


- Método .loc

Usado para indexação baseada no rótulo dos índices. Funciona com os nomes dos índices e permite selecionar linhas e colunas pelos rótulos que forma atribuídos a eles.


Apesar do foco dos métodos serem diferentes (.iloc: índices | .loc: rótulos), a sintaxe deles é semelhante:

dataframe.método[linha, coluna]

df.iloc[linha, coluna] OU df.loc[linha, coluna]


E daí, refinando, por exemplo, o .iloc:


df.iloc[:, coluna] --> Seleciona todas (símbolo :) as linhas da coluna indicada do dataframe df

Exemplo:

df.iloc[:, 1] --> Seleciona todas as linhas da coluna de índice 1, ou seja, a 2a coluna.


df.iloc[linha, :] --> Seleciona todas (símbolo :) as colunas da linha indicada do dataframe df

Exemplo:

df.iloc[2, :] --> Seleciona todas as colunas da linhas de índice 2, ou seja, a 3a linha.

Observação: este cenário (selecionar todas as colunas) para linhas específicas pode ser escrita de forma simplificada: df.iloc[linha]. Assim, o comando df.iloc[2] retornaria o mesmo resultado que df.iloc[2, :].


Selecionando intervalos de linhas ou colunas:

df.iloc[linhas_início:linhas_fim]

df.iloc[:, colunas_início:colunas_fim]


E, para seleção de múltiplas linhas e colunas:

df.iloc[linhas_início:linhas_fim, colunas_início:colunas_fim]


E, para o .loc funciona da mesma forma, mas usando o rótulo das linhas e colunas.


#LearnerMidset #VivendoEAprendendo #AWTechBits

Monday, January 13, 2025

Você sabia que a palavra "people" é plural?

Não importa há quanto tempo você fala inglês, ou o seu nível de fluência, sempre há algo novo para aprender. E isso vale para qualquer língua – até mesmo para aquelas que somos nativos!

Hoje, descobri que "people" é plural. Pois é, é plural.

O correto é usá-lo com o verbo no plural: "People are..." Por exemplo: "People are waiting for us" ou "There are people waiting for us."

(O singular seria "person" – "There is a person waiting for us.")

Há exceções? Claro, sempre há! Em contextos específicos, "people" pode ser considerado singular, mas essas situações são raras e geralmente ocorrem em textos técnicos, especializados ou mais antigos, onde "people" se refere a uma entidade singular, como uma nação ou grupo étnico.

Exemplos:

  • "The people is sovereign."
  • "The People's Choice Award is given annually."
  • "The People's Republic of China is..."

Outra exceção interessante é o uso da palavra "persons" – uma forma mais formal e arcaica de dizer "people" em contextos legais ou técnicos, e é tratada como plural: "Five persons were found alive." A forma mais atual seria "Five people were found alive."

Vivendo e aprendendo... #LearnerMidset 

Se você também teve uma descoberta interessante sobre inglês, outra língua ou outro assunto de tecnologia, compartilhe nos comentários! Vamos aprender juntos!