September 8, 2023

Creating Kubernetes Operators with operator-sdk

If you develop APIs or microservices, especially in medium to large environments, you probably use Kubernetes. Kubernetes is a project created by Google in mid-2015 that quickly became the standard for managing container execution. You can host it on your machines or use a solution delivered by one of the big cloud players like AWS, Google, and DigitalOcean. In this post, I want to talk about another functionality: the possibility of extending it to create new capabilities....

August 23, 2023

GDE in Go

I came across an exciting project called Google Developer Experts. According to the official website, this is a group of “experienced Google technology experts, influencers, and thought leaders.” I learned about the project because several people I admire are part of it. I’ve been using Go as my primary language for the last few years and contributing to the community through posts, talks, and events. So, it was worth a try....

August 1, 2023

Developer productivity for fun and profit - Part 2

This text is the second part of a series of posts about productivity. In the first part, I discussed how developers can improve their productivity. In this text, I will mention some ways in which the company or team can improve the daily lives of developers. Do Onboarding Starting a new company, team, or project is stressful in itself. The idea is for the person to start being productive as soon as possible, generating much pressure....

June 30, 2023

[Go] How to work with dates in tests

Working with dates in any programming language presents some challenges. In this post, I will show how to work with dates when writing unit tests for a Go application. ...

May 16, 2023

Improving the terminal

The terminal is the tool I use the most in my day-to-day work. Over the years, I’ve created a series of shortcuts, scripts, and habits that make me more productive in performing many of my tasks. In this post, I will tell you some of the things I’ve set up and been using to inspire someone else to take the time to do the same. The shell The shell is the interface we interact with when we open a terminal session....

April 19, 2023

Choosing dependencies using deps.dev

Choosing a project’s dependencies is something we sometimes overlook, but it can have a very relevant impact. The following image illustrates the idea: To facilitate this process, Google recently launched a new project, deps.dev. Its slogan summarizes its objective: Understand your dependencies. The tool supports programming languages such as JavaScript, Rust, Go, Python, and Java. To show the advantages, imagine a scenario: a team is developing an API in Go and needs to choose a library to implement the Circuit Breaker pattern....

March 27, 2023

Why I like Go's error handling

One of the most controversial issues in the Go language is how we handle errors. I remember when I started working with the language, in mid-2015, after having used PHP for a few years, and I was surprised that it didn’t use the famous try/catch. After the first impact passed, I tried to understand why and the official answer was, “in Go, errors are first-class citizens.” Therefore, you are responsible for handling them explicitly....

January 25, 2023

Developer productivity for fun and profit - Part 1

Whether in scenarios of accelerated growth or even in the unfortunate moment of layoffs that we are going through, developer hours are one of the most expensive and valuable resources for companies. In this way, productivity and efficiency become significant advantages for professionals and teams. But what is the difference between productivity and efficiency? I liked the definition I found in this post: While productivity aims at more results with the same effort, efficiency aims at less effort, maintaining the same result....

January 10, 2023

Go Cloud Development Kit

In this post, I will talk about an exciting project maintained by the team that develops the Go language: the Go Cloud Development Kit, also known as the Go CDK. The Go CDK provides a series of abstractions for many features often used in applications that run in the cloud, such as databases, storage, messaging, secrets, etc. The project’s primary goal in creating these abstractions is to make the code cloud-vendor independent....

November 8, 2022

Introduction to Cuelang

I bet that at that moment, you are thinking: “Another programming language”? Calm down, calm down, come with me, and it will make sense :) Unlike other languages like Go or Rust, which are “general-purpose languages,” CUE has some particular objectives. Its name is actually an acronym that stands for “Configure Unify Execute,” and according to the official documentation: Although the language is not a general-purpose programming language, it has many applications, such as data validation, data templating, configuration, querying, code generation, and even scripting....

page 1 of 4

>>