Startups usually experience big growth after receiving investments. Many people think that the challenge is to find the candidates in a city as competitive as London, but that’s the easy part. I will share what I learned from being part of an engineering department that multiplied its size in just a few months Introduction How…
One of the challenges of using microservices is the lack of transactions in operations that span multiple services. We will see how to solve it using a standard pattern. What are transactions? What is the challenge with microservices? Let’s see an example How can we handle the errors in this example? How to implement it…
It is becoming more frequent to work with remote teams as companies are opening offices in other countries and outsourcing. And many developers are working remotely so they can live close to their families. I will share what I have learnt working with remote teams. Use online collaboration tools Multiple communication channels Document everything Multiple…
One of the challenges of the microservices architecture is that the data is managed by different services, which makes it difficult to do queries across multiple domains. Let’s see a few approaches and the advantages and drawbacks of each of them. Introduction Building a macroservice Including an entity from another domain Duplicating data from other…
One of our tasks as leaders is to identify and grow the next generation that will lead the technical decisions of the company. This is not easy for new managers who still try to do everything themselves or only focus on the technical side without thinking about the people they work with. Identify new leaders…
Performance is key as companies may lose customers and even have to close if their applications are slower than their competitors’. We will see some strategies to improve it using caching in microservices architectures Introduction What is caching? In-memory cache Distributed cache Per-request cache Indexed searches Conclusion Introduction We all know the experience. We want…
We should design and build systems in a way that ensures any change can be easily reverted, even if the people who have worked on it are not available. This post covers some best practices to achieve it.
As applications grow, it is normal to break them down into smaller pieces that are easy to combine and maintain. The challenge comes in the integration between these pieces, as a small change in one of them may break the communication with the others, and we may not notice it until we get user complaints.…
Organisations cannot work on their own as they need to integrate with customers and suppliers. I will explain some of the integration types I have worked on until now. REST SOAP Connectors SFTP Alternative solutions Summary REST This is the standard and what all systems should use nowadays. It is simple, clear, and easy to…
There are many debates about which type of database is better. I will focus on how to use them for a specific case and how to evolve the design as needed. SQL vs NoSQL The case to consider 1) The basic scenario 2) Adding flexibility per customer 3) Total flexibility using a SQL database 4)…