Usando as interfaces da stdlib de Go
Neste post vou mostrar como usar duas das features mais interessantes da linguagem Go: sua biblioteca padrão (a stdlib do título) e interfaces. Go é famosa por prover uma grande quantidade de funcionalidades nativamente, graças a sua biblioteca padrão poderosa. Cobrindo desde conversões de texto e json até bancos de dados e servidores HTTP, podemos desenvolver aplicações complexas sem a necessidade de importar pacotes de terceiros. Outra característica importante da linguagem é o poder das suas interfaces....
Reflexões sobre Design de Software
Fiz uma série de pequenos vídeos falando sobre um assunto que tem me interessado bastante: Design de Software. Neles eu falo sobre o assunto na visão do professor John Ousterhout, autor do livro A Philosophy of Software Design. Os vídeos estão no meu canal no YouTube
Dica de carreira: crie um brag document
Se você está no mercado de trabalho provavelmente já passou por um cenário parecido com os seguintes: A empresa onde você trabalha possui um processo formal de avaliação para promoções, o tal do “Performance Review”. ou Você vai direto conversar com sua liderança em busca de uma promoção ou aumento de salário. Em ambos os casos é um momento onde você precisa exercitar sua capacidade de negociação, precisa mostrar para a empresa o quanto você tem evoluido e gerado de valor....
Testando o Generics do Go
Finalmente está (quase) entre nós! Depois de anos ouvindo aquela piadinha “e o Generics?” esta aguardada funcionalidade vai estar disponível na versão 1.18 da linguagem, prevista para lançamento em Março de 2022. Neste post eu vou fazer um exemplo usando Generics e um pequeno benchmark para conferir se existem diferenças de performance entre uma função “normal” e outra usando esta nova funcionalidade. Para isso eu me inspirei na biblioteca lo, uma das primeiras que usa Generics e que ganhou destaque recentemente por implementar várias funcionalidades úiteis para slices e maps....
Liderança técnica: acompanhamento X autonomia
Ao olhar para minha carreira eu posso dizer que tenho mais experiência e bagagem teórica em assuntos relacionados a tecnologia, em especial na área de desenvolvimento de software. Isso devido a ter feito uma graduação e pós-graduação em Ciência da Computação, bem como ter lido uma boa quantidade de livros e muitos posts, além de ter colocado um grande número de produtos em produção. Digo isso pois, apesar de vir liderando times técnicos a pouco mais de uma década e lido bons livros e posts, eu me sinto mais seguro em escrever sobre tecnologia do que sobre liderança....
Uma introdução a especificação AsyncAPI
Se você desenvolve ou consome APIs REST provavelmente já se deparou com alguma documentação escrita segundo a especificação OpenAPI. Ela é o padrão do mercado, apesar de eu preferir documentar usando o API Blueprint :) Mas o assunto deste post é outra especificação, a AsyncAPI. Inspirada na OpenAPI, a AsyncAPI tem como propósito documentar aplicações que usam a arquitetura baseada em eventos (Event-Driven Architectures ou EDA). Na imagem a seguir podemos ver uma comparação entre os dois padrões:...
Infraestrutura como Código na AWS usando Go e Pulumi
Quando falamos de Infraestrutura como Código (Infrastructure as Code, ou IaC), a principal ferramenta que nos vem a mente é o Terraform. A ferramenta criada pela HashiCorp tornou-se o padrão para a documentação e gerenciamento de infraestrutura, mas sua linguagem declarativa, a HCL (HashiCorp Configuration Language) tem algumas limitações. A principal delas é exatamente não ser uma linguagem de programação, e sim de configuração. Para suprir essa necessidade, algumas alternativas vem surgindo, como:...
Eu sou um AWS Community Builder
Comecei a usar as ferramentas da AWS em meados de 2008, quando um provedor de nuvem nacional deixou a startup em que eu era CTO (a saudosa Drimio) fora do ar por mais de 24 horas. Desde então a AWS sempre foi minha primeira opção como fornecedor de soluções na nuvem. Era a indicação para hospedar os servidores dos clientes da Coderockr. Na Codenation fizemos uso intenso de EC2, S3, RDS, CloudFront, Route53 e lambda functions....
Acessando o Postgres via REST usando o pRest
Neste post vou falar sobre uma ferramenta Open Source bem útil chamada pRest. Com o pRest é possível criar uma API RESTFul para acessar o conteúdo de um banco de dados Postgres de uma maneira simples e rápida. O projeto, escrito em Go e com grande participação de desenvolvedores brasileiros, pode ser encontrado no seu site oficial, bem como no Github. Segundo a documentação, existem diversas formas de se instalar o pRest....
Carreira em Y
Provavelmente você conhece a fábula da pessoa que era desenvolvedora sênior e foi “promovida” a gerente e não se saiu tão bem no novo cargo. Talvez você já tenha trabalhado com alguém assim, ou isso já tenha acontecido com você. Até alguns anos atrás o curso natural da carreira de desenvolvimento de software era depois de sênior você se tornar gerente, líder técnico, ou outro título similar. Felizmente isso tem mudado, graças a famosa carreira em Y....