Alvaro Videla and his RabbitMQ In Action book

Alright-o, let’s start. Who are you, Alvaro? What is your main occupation? And most importantly, why do you change your family name so often on Twitter?

My name is Alvaro Videla, I go online as @old_sound on Twitter and videlalvaro on Github. I work as a Developer Advocate for RabbitMQ. While most people would think that I’m just another marketing guy, my actual occupation is about making RabbitMQ easier to use. That might be from writing a blog post about a particular feature, to improve an existing AMQP client so users have a happier path to adopting RabbitMQ. I also commit stuff from time to time to the core parts of the broker. You can also find me giving talks at several conferences around the world. My goal is to make RabbitMQ well known at different developer communities, showing the different things that can be done with RabbitMQ. My twitter name changes usually reflect situations that I’ve found funny/interesting and that I want to mock. Videlustig was a "funny" one.

What has motivated your career changes (leaving Uruguay…​)?

With my wife we wanted to travel the world. Moving to China, the antipode of Uruguay seemed like a good place to start, so I searched for a job in Shanghai. After I’ve got the job, we quit our jobs in Uruguay, packed our things, and moved to Shanghai. After three years we moved to Switzerland. It was already enough time in China and we wanted to see what this Europe thing was all about. Little did we know that Switzerland is not part of Europe, but some Island in the middle of the Alps! Still, it pretty much looks like Europe so we are happy with our decision to move here.

How does working full-time for a worldwide company on an open source product differ from your previous experiences?

The main difference would be that here we are not working under the pressure of delivering feature after feature as would happen with a web agency for example. Here we can stop an try to build the things the best as possible. That means I could go and get up to date with the research say in data structures for fast routing, because at the end, if I add a new routing algorithm to RabbitMQ, it has to be as fast as possible. So getting this advantage means we get to learn a lot, to experiment a lot which results in shipping good software. Of course we are not going to spend one year reading about routing algorithms, there has to be a balance where we actually ship working code. Another interesting thing is that we have the pressure to deliver a product with as less bugs as possible, since many people is using RabbitMQ in mission critical scenarios. This means our code review protocols are quite strict, we give a lot of feedback to each others, and we don’t rush to merge things until they are ready. Also since the broker supports so many programming languages and environments, you get to learn a lot about different technologies.

Lately, you seem to have focused a lot on books related to mathematics and Comput(er|ing) Science. Can you tell us a bit more?

Since I started to study some algorithms, I kept seeing here and there that the algorithms were "proved to work" with something the author was calling "maths". So I decided to start learning. I already had TAOCP at home, so it was time to take on the Knuth and learn what this computer science was all about. One thing led to the next and I ended up quite interested about Number Theory and Computation, specifically the ideas behind Computational Group Theory (CGT) and Prime Numbers and Computation. I’ve planned to write about it on my blog here: If someone’s interested, I recommend these two books on the topic: This one is written by former Apple’s chief cryptographer and Mr. Pomerance, who’s an authority in Number Theory: Prime Numbers: A Computational Perspective: Then this one is about Group Theory: Handbook of Computational Group Theory: The good thing about these two topics is that they are related to Cryptography, so if you want to learn the maths behind, say AES or RSA, then these books are great. Also, you are learning an area of maths that have direct application in day to day computing.

Before you leave, write something in French. (And no cheating please!)

"liberté, égalité, fraternité, diversité" or much better "La Suisse est la partie du France où il est dit nonante".