Engenharia de Software

Escrevendo bons testes
Artigo

Escrevendo bons testes

Aprenda a escrever testes eficazes superando as limitações do ambiente de testes. Entenda a diferença entre emular e simular, resolva dependências de frameworks, sistemas externos, SO, tempo e schema de banco. Descubra como usar Spring Boot, Quarkus, Testcontainers e criar DSLs para testes mais legíveis e confiáveis.

Evitando a complexidade através da Refatoração
Artigo

Evitando a complexidade através da Refatoração

Refatoração não é luxo, é sobrevivência. Entenda como o software envelhece naturalmente e por que a refatoração contínua é a única defesa contra o caos. Neste artigo, compartilho uma história real com o protocolo OBEX, explico os benefícios de Martin Fowler (design, bugs, velocidade) e detalho quando aplicar: preparatória, compreensão, coleta de lixo e code review. Transforme refatoração em hábito, não em evento.

Como identificar e controlar a complexidade através de abstrações eficientes?
Artigo

Como identificar e controlar a complexidade através de abstrações eficientes?

Eu já rejeitei PRs só porque o código estava "limpo" demais. Neste artigo, vou te mostrar que a verdadeira complexidade não está nas linhas, mas nas abstrações que você deixa de criar. Vamos falar sobre os sintomas que matam projetos (amplificação, carga cognitiva e os tais "desconhecidos desconhecidos") e como um simples buffer pode salvar seu sistema.

Por que escrever um bom código?
Artigo

Por que escrever um bom código?

Por que escrever um bom código? Não por estética, mas por estratégia. Neste artigo desmonto a subjetividade do termo "bom" para mostrar que a qualidade do código impacta diretamente nos custos, na evolução do projeto e até na satisfação do usuário. Com exemplos reais, de vazamentos de dados a bugs que derrubaram a nota de aplicativos, explico que escrever código claro e comunicativo é um investimento que evita retrabalho e salva negócios no médio e longo prazo.

Por que usar LLMs é um problema ético?
Artigo

Por que usar LLMs é um problema ético?

LLMs não são mágicas, nem inteligências. São máquinas probabilísticas treinadas com seu trabalho gratuito. Quero explorar os 8 maiores problemas éticos que o uso de IAs generativas trazem: da exploração de trabalhadores africanos ao consumo de energia suja, passando por vieses invisíveis e a homogeneização da cultura.

Porque usar LLMs para programar é uma péssima ideia?
Artigo

Porque usar LLMs para programar é uma péssima ideia?

Será que usar LLMs para programar é realmente uma péssima ideia? Entre a imposição do mercado, a perda do raciocínio crítico e os custos ocultos, a resposta não é tão simples quanto parece.