Disasters I've seen in a microservices world

When Martin Fowler’s post about microservices came out in 2014, the teams where I worked were already building service-oriented architectures. That post and the subsequent hype made their way into almost every software team in the world. The “Netflix OSS stack” was the coolest thing back then, allowing engineers worldwide to leverage Netflix’s lessons in distributed systems. More than six years later, if we look into software engineering jobs right now, most of them talk about a microservices’ architecture. ...

April 2, 2021

Go big, or go home! Or... the leadership paradox

We live in a World of change. Not only that, but due to technology’s improvements, the pace of innovation increased dramatically in the last 50 years. For instance, before, we had a significant software version every year or two. Now, most software pieces update daily. Some of them, consumed as a service (SaaS), constantly get updates and test different features with different customer sets. The same is true for companies. In a globalized market, where people share best practices, lessons learned and leverage more, better or cheaper technology, the pace of change can get hard to handle. ...

March 26, 2021

Dear CTO, remote will change your company forever

It’s the new cool kid on the block. Everyone is talking about it. Everyone wants it, at least partially. Before COVID-19, all of us had some friends working remotely. Some of them were contractors. Others were working from all around the world for big Australian/American/Canadian companies. It seems that candidates are demanding this option more and more, and companies are reacting to that, trying to be competitive in this wild West. ...

March 19, 2021

No one will negotiate for you!

When you’re in the final phase of a recruiting process, you enter the negotiation phase. I’m not writing this post to talk about negotiations per se, but rather to demystify something I’ve heard a lot: It’s in the interest of recruiters to push for higher salaries for the offers they’re managing. They get a chunk — usually 13-20% — out of it, so if I make more money, so do they. ...

March 10, 2021

¡Que vivan los marketplaces de nicho!

Muchas veces pienso en online marketplaces y en sus dinámicas. En alguna de esas fantasías, se me ha ocurrido que Adevinta - en España poseen distintas marcas: InfoJobs, Fotocasa, Milanuncios y otros - debería (intentar) comprar a Joppy y a CodelyTV. ¿Qué carajo me estás contando? ¡También quiero fumar de eso! Admito que es una reacción normal a esta idea. Intentaré resumir el razonamiento en este post. Los primeros online marketplaces globales nacieron en 1995, en Estados Unidos: Amazon y eBay. Cada uno de ellos tenía un foco distinto: el primero quería transformar la forma de vender libros mientras el segundo empezó como un mercado de subastas. Con el crecimiento de Internet, estas y muchas otras empresas consiguieron crecer, crear nuevos modelos de negocio y entrar en la lista de 500 empresas del mundo con más ingresos. Algunas de ellas, como el gigante comandado por Jeff Bezos, están muy arriba en la lista. ...

April 19, 2020

You probably don't need a CTO

Around the world, there are quite a few job offers for Chief Technology Officer (CTO), Vice-President (VP) of Engineering and other similar titles. For the sake of the argument, I won’t differentiate between these, although there are differences, even across organizations. Albeit the high number of job offers, those roles seem to be quite difficult to fill and there seems to be a misalignment of what some companies want versus what they’re offering these candidates. There are some clear examples of this, in the job offers: ...

April 10, 2020

About code reviews

Code reviews are - or they should be - an important part of any software creation process. They allow people get to know better the different code bases within their companies. Also, they learn from others and try to understand the reasoning, trade-offs and solutions about a somewhat complex problem. Moreover, people strive to improve each others’ code: “Hey, we should add some tests here”, “Shouldn’t we use a functional interface here? It would make the code more readable”, and a lot more comments like these are common in such process. ...

December 17, 2016

The casino paradox

It’s 2:37am and you already lost 3000$ in the casino. “Just put 1000$ more in this blackjack round” - said no one, ever. This is the same feeling I have many times in software engineering projects. I mean, yeah, I get it, 2 years ago you needed to spent the minimum amount of time possible to get the work done. That’s fine. You delivered, you got customers, everything went well. ...

February 23, 2016

There are no free meals

Bob: “Hey, what will we use to communicate with X in this project?” Ted: “We’re using library Y, of course! 5k stars at Github. Looks solid!” (5 months later…) Bob: “Ted, we have a problem. We need to update X and library Y does not have support for it.” Ted: “Hmmm… We could just monkey-patch Y and then create our own in-house version. Problem solved!” (and then it begins…) Dear CTO/VP of Engineering / Head of Development, please do not allow your team to do these kind of things. They are bad. They are bad for your software, for software, in general, and they will hurt your company, sooner or later. Why? You may think that this is the quickest way to solve the above stated problem, but let’s talk about what could happen: ...

February 20, 2016

Towards Continuous Deployment

Hi! This is my first post in this blog. Although it’s meant to be a tech blog, this post is the first part of a series where I mix software engineering, its practices and methodologies with a business background and why do software companies need to move towards continuous deployment. Stay tunned! Background and Motivation The world has changed a lot in the last 100 years. But if we stop to think about it, did it change more from 1900 until 1970 or from 1970 until now? Perhaps we could define the world evolution as an exponential function. Everyday we use the technology we know and innovate, creating new technology based upon the old one. This evolution pace is becoming faster and faster. It’s like the Moore’s Law applied in real life. Crazy. Given this, every (decent) businessman knows that his company needs to adapt fast to market changes. If you cannot deliver, your competitor in Australia, China, India, etc will do. If you cannot change fast enough, your competitors will eat you. ...

October 14, 2015