Criando Kubernetes Operators com o operator-sdk
Se você desenvolve APIs ou microsserviços, especialmente em ambientes de médio a grande porte, provavelmente você está usando Kubernetes. Kubernetes é um projeto criado pelo Google em meados de 2015 e que rapidamente se tornou o padrão para gerenciar a execução de containers. Você pode hospedar e gerenciar ele em suas máquinas ou usar alguma solução gerenciada por algum dos grandes players de cloud como AWS, Google e DigitalOcean. Se você quiser se aprofundar mais sobre Kubernetes, ou k8s para deixar mais curto, eu recomendo o livro e o curso do grande Lucas Santos....
20 anos!
Exatos 20 anos atrás este, na época jovem, programador escrevia o seu primeiro post neste site. Eu comecei o blog inspirado em sites de pessoas que eu admirava, a grande maioria desenvolvedores de projetos open source como Eric Raymond e Richard Stallman. A ideia sempre foi escrever sobre o que eu estava aprendendo e isso se manteve desde então, mas jamais imaginei que iria continuar fazendo isso por tanto tempo....
GDE em Go
Algum tempo atrás conheci um projeto bem interessante chamado Google Developer Experts. Segundo o site oficial, trata-se de um grupo de “especialistas em tecnologia, influenciadores e líderes de tecnologia experientes do Google” Eu fiquei sabendo do projeto pois várias pessoas que eu admiro fazem parte dele. Como eu venho usando Go como linguagem principal nos últimos anos, e contribuindo para a comunidade na forma de posts, palestras, eventos, etc, achei que valia a tentativa....
Developer productivity for fun and profit - Parte 2
Esta é a segunda parte de uma série de posts que escrevi sobre produtividade. Na primeira parte falei sobre como eu acredito que a pessoa desenvolvedora pode melhorar sua produtividade. Neste texto vou citar algumas formas com que a empresa/time pode melhorar o dia a dia das pessoas desenvolvedoras. Faça Onboarding Iniciar em uma nova empresa, time ou projeto é algo que pode ser estressante por si só. A ideia é que a pessoa comece a ser produtiva o quanto antes, o que acaba gerando uma boa dose de pressão....
[Go] Como trabalhar com datas em testes
Trabalhar com datas em qualquer linguagem de programação trás alguns desafios interessantes. Neste post vou mostrar uma forma de trabalhar com datas ao escrever testes unitários para uma aplicação em Go. ...
Por que escrever?
Em Setembro de 2023 este site completa 20 anos! É realmente algo que eu não esperava quando escrevi meu primeiro “hello world”, em uma página HTML no diretório do meu usuário no servidor Linux da universidade: Para comemorar esse feito nos próximos meses vou publicar alguns posts sobre assuntos relacionados. E neste primeiro eu gostaria de falar sobre os motivos que me fazem continuar a escrever todos os meses aqui (e em outros lugares)....
Como organizo minha semana
Em Maio/2023 completei meu primeiro ano trabalhando como Principal Software Engineer no PicPay. Neste post eu comentei sobre o que eu faço, inclusive como eu organizo minha agenda mas gostaria de detalhar um pouco mais este assunto. Posições “staff+”, como Principal, tem algumas características interessantes: eu estou alocado em uma área, que é formada por alguns times. Desta forma, eu “navego” entre os contextos dos times e vejo como eles se integram nos objetivos da área e da empresa; tenho bastante autonomia para organizar as minhas prioridades e tarefas....
Deveríamos parar de nos definir como devs backend ou frontend?
Este post é inspirado no texto escrito pela Michelle Lim em 2020. Vou traduzir alguns pontos que achei relevante e fazer meus comentários sobre. O eixo “Frontend/Backend” não mapeia bem as motivações dos engenheiros de software. Se você usar apenas esse eixo, pode acabar em projetos de que não gosta ou, pior ainda, desistir prematuramente da engenharia. Em vez disso, tente usar o eixo “Produto/Infraestrutura” como o primeiro eixo para entender sua preferência de carreira....
Melhorando o terminal
O terminal é provavelmente a ferramenta que eu mais uso no meu dia a dia. Com o passar dos anos eu criei uma série de atalhos, scripts e hábitos que me fazem ser mais produtivo na execução de várias das minhas tarefas. Neste post vou contar algumas das coisas que eu configurei e venho usando, com o objetivo de talvez inspirar alguém a dedicar um tempo para fazer o mesmo....
Escolhendo dependências usando deps.dev
Escolher as dependências de um projeto é algo que algumas vezes menosprezamos, mas que pode ter um impacto muito relevante. A imagem a seguir ilustra bem a ideia: Para facilitar esse processo recentemente o Google lançou um novo projeto, o deps.dev e seu slogan resume bem o seu objetivo: Understand your dependencies. A ferramenta tem suporte a algumas linguagens de programação como JavaScript, Rust, Go, Python e Java. Para mostrar as vantagens vamos imaginar um cenário: uma equipe está desenvolvendo uma API em Go e precisa escolher uma biblioteca para implementar o conceito de Circuit Breaker....