6.13.2024

Uma empresa sem SOFTWARE ?

O que representa um SOFTWARE bem implementado para sua vida e sua empresa??? Pense !  Software hoje é parte do negócio MESMO. Qualquer empresa, de qualquer setor, depende em maior ou menor grau dos seus softwares para funcionar. Um BANCO sem software não faz nada, uma empresa de SERVIÇOS GERAIS sem SOFTWARE não é NADA ! Mas, existem sombras pairando sobre as empresas. É a chamada dívida técnica, um conceito de desenvolvimento de software que surgiu por volta do início dos anos 90. O termo vem de uma metáfora inspirada no conceito de dívida existente na área de finanças e negócios, aplicada ao campo de software. Um software desatualizado incorre em custos futuros, como em cartões de crédito: juros, a serem reembolsados na forma de tempo adicional de manutenção e correção de bugs cada vez mais frequentes. A dívida técnica deve ser paga rapidamente para evitar o acúmulo de juros, daí a analogia com o conceito de dívida financeira, existe para TECNOLOGIA a divida TECNOLOGICA.


Daí que muitas empresas olham com ansiedade e otimismo o uso da IA generativa como o Copilot e o chatGPT e outros, para mitigar o problema. E claro, os superotimistas acreditam que em até dez anos não precisaremos mais de desenvolvedores. Bem, para mim afirmativas nesse sentido não tem base científica. A IA generativa não é milagrosa, mas pode ser sim, um tool kit para aumentar a produtividade, não substituir os desenvolvedores.

Há muito mais na engenharia de software do que apenas gerar código, como obter requisitos do usuário até depuração e teste. Um dos skills de programação mais fundamentais continua sendo domínio dos humanos : resolução de problemas. Analisar um problema e encontrar uma solução elegante para ele ainda é uma experiência de programação que está ainda muito longe de ser feita pelos algoritmos atuais. 

O aspecto criativo as habilidades de abordar um problema são mais importantes do que a linguagem ou as ferramentas. Não caia na armadilha de se comparar à IA, que é uma saída estatística de um grande modelo. Isso seria subestimar a capacidade humana da atividade de criação de software. Existem grandes diferenças entre o que um desenvolvedor humano faz e o que um modelo probabilístico gera: ser um desenvolvedor é mais do que apenas escrever linhas arbitrárias de código. A raiz do problema: temos a tendência de antropomorfizar a IA e por isso chamamos uma ferramenta de IA de colega de trabalho. Isso é equiparar sua produção ao trabalho humano. O conceito de que as métricas de uma ferramenta de IA sejam diretamente comparadas às dos trabalhadores humanos é, na melhor das hipóteses, inadequada.

Portanto, a engenharia de software é muito mais do que vencer concursos de programação. Boas práticas de engenharia de software estão se mostrando ainda mais valiosas do que antes. Essas práticas incluem o planejamento do design do sistema e da arquitetura do software, que serve como um bom contexto para que ferramentas baseadas em IA sejam usadas para prever com mais eficiência qual código você precisa gerar. Portanto, a geração de código por essas ferramentas é apenas um complemento da atividade humana da engenharia de software.

A programação e a engenharia de software, define a sociedade sua vital importância e a formação de programadores que buscam conhecer e entender e não decorar somente frameworks.



No comments:

SOFTWARE Where ? Without software ! Hmmm

What does a well-implemented SOFTWARE represent for your life and your company??? Think !  Software today is part of the SAME business. Any ...