25/01/2023

Developer productivity for fun and profit - Parte 1

Seja em cenários de crescimento acelerado ou mesmo no infeliz momento de layoffs que estamos passando, horas de desenvolvimento são um dos recursos mais caros e valiosos para as empresas. Desta forma, a produtividade e eficiência tornam-se diferenciais importantes para profissionais e times. Mas qual é a diferença entre produtividade e eficiência? Gostei bastante da definição que encontrei neste post: Enquanto a produtividade visa mais resultados com o mesmo esforço, a eficiência visa menos esforço, mantendo o mesmo resultado....

18/01/2023

Programação pessimista

Alguns anos atrás Sam Newman publicou o livro Building Microservices que se tornou uma grande referência quando falamos em microsserviços. Em um dos capítulos, entitulado Microservices at scale, e que está público neste link, ele faz algumas afirmações interessantes (tradução minha): As falhas estão em toda parte Partir da suposição de que tudo pode e irá falhar leva você a pensar de forma diferente sobre como resolver problemas....

10/01/2023

Go Cloud Development Kit

Neste post vou falar sobre um projeto bem interessante que é mantido pelo time que desenvolve a linguagem Go. Trata-se do Go Cloud Development Kit, também conhecido como ‌Go CDK. O Go CDK fornece uma série de abstrações para um bom número de features bastante usadas em aplicações que rodam na nuvem, como banco de dados, armazenamento, mensageria, segredos, etc. O objetivo principal do projeto em criar estas abstrações é tornar o código independente de fornecedor de nuvem....

10/12/2022

Aqueles que mantém o mundo girando

Em 2012 Scott Hanselman escreveu um post que ganhou certa popularidade: Dark Matter Developers: The Unseen 99%. Ele começa o seu texto definindo o que seria ‌Matéria escura: Na astronomia e na cosmologia, a matéria escura é um tipo atualmente indeterminado de matéria que responde por uma grande parte da massa do universo, mas que não emite nem espalha luz ou outra radiação eletromagnética e, portanto, não pode ser vista diretamente com telescópios....

25/11/2022

Dicas de livros sobre complexidade

Eu sempre tive a impressão de que um dos maiores males do desenvolvimento de software moderno é a complexidade. Não me refiro a complexidade dos problemas que são resolvidos atualmente, pois esses são realmente maiores do que décadas atrás. Machine learning, carros autônomos, microsserviços, etc, esses cenários possuem uma complexidade inerente e pouco podemos fazer para mitigar isso. Eu me refiro a complexidade que incutimos aos nossos códigos. Já vi aplicações que eram pouco mais do que CRUDs com várias camadas e frameworks que só tornavam o desenvolvimento e manutenção tarefas hercúleas....

08/11/2022

Introdução a Cuelang

Aposto que nesse momento uma frase paira na sua cabeça: “Mais uma linguagem de programação”? Calma, calma, vem comigo que vai fazer sentido :) Diferente de outras linguagens como Go ou Rust, que são de “propósito geral”, a CUE possui alguns propósitos bem específicos. O seu nome na verdade é uma sigla que significa “Configure Unify Execute” e segundo a documentação oficial: Embora a linguagem não seja uma linguagem de programação de uso geral, ela possui muitas aplicações, como validação e modelagem de dados, configuração, consulta, geração de código e até script....

04/11/2022

CUPID x SOLID

Se você desenvolve software profissionalmente é bem provável que já ouviu falar sobre os princípios SOLID pois eles se tornaram praticamente um padrão no mercado. Se não está famialirizado com o termo recomendo a leitura deste post. Agora que estamos todos na mesma página, vamos continuar… Como diria o grande Nelson Rodrigues: Toda unanimidade é burra Pensando nisso, quero trazer outro acrônimo interessante, o CUPID. Cada uma das letras significa uma propriedade que um determinado software deveria ter....

22/10/2022

Criando uma API usando Go e sqlc

Ao escrever uma aplicação Go que trata dados em um banco de dados (neste post vou me concentrar em bancos de dados relacionais) temos algumas opções: escrever as consultas SQL usando alguma lib que implemente as interfaces da stdlib usar alguma lib que facilite a geração de SQL como a Squirrel apesar de não ser tão difundido como em outras linguagens, existem alguns ORMs que podem ser usados como os listados aqui usar uma ferramenta para gerar código a partir de consultas SQL É nesta última categoria que se encaixa a ferramenta que vou apresentar neste post, o sqlc....

19/10/2022

A volta da newsletter sobre Go

Quem acompanha meu site ou as redes sociais onde eu publico textos sabe que eu mantive por bastante tempo uma newsletter sobre Go, a A Semana Go. Em 2020 eu decidi parar de publicar a newsletter por motivos que expliquei neste post. Mas depois de algumas mudanças na minha carreira, que comecei a definir na época deste post e culminou na minha ida para o PicPay como Principal Software Engineer, eu decidi voltar a publicar a newsletter....

31/08/2022

Acelere seu ambiente de desenvolvimento local com o Tilt

Passamos horas e horas desenvolvendo aplicações nas nossas máquinas, cada vez com mais requisitos e complexidade. Qualquer aplicação moderna facilmente conta com vários containers, microsserviços, deploys em diferentes ambientes, diversas stacks, etc. Então qualquer ferramenta que possa tornar nosso fluxo mais ágil é de grande utilidade. Neste post quero apresentar uma ferramenta muito poderosa, que pode fazê-lo economizar bastante tempo no seu processo de desenvolvimento. Trata-se do Tilt, que recentemente foi adquirida pela Docker....

página 1 de 63

>>