Trustlessness, Erlang and the Blockchain Revolution: An Interview with Robert Virding

Without further ado, we are proud to announce one of the latest additions to the æternity team, Robert Virding!

Robert represents a major addition to our team, having worked for the past seven years as a Senior Systems Architect with Erlang Solutions Ltd. As co-inventor of the Erlang language and one of the original members of the Ericsson Computer Science Lab, Robert has a rich history of being at the forefront of cutting edge technology and research. His impressive body of work extends to his eight years as a Systems Engineer at the Swedish Defense Materiel Administration (FMV) Modeling and Simulations Group. He is the co-author of the book ‘Concurrent Programming in Erlang’ and is a regular contributor to the academic world, delivering presentations and commentary worldwide.

Recently we asked Robert to share with us his insights about Erlang, his predictions about the future of blockchain and why he decided to join the æternity team.

Why did you decide to join the æternity team?

The idea of blockchain has always been interesting and this gave me a chance to work on developing a new system together with other highly qualified people.

What interests you most about Blockchain?

I find the trustless nature of blockchains interesting because it is so very different from how other distributed systems work.

Even with other distributed systems such as Paxos, which can handle non-reliable systems where the network can fail, nodes can come and go and the nodes can lose sync; there is an underlying assumption that you can trust everyone in the system. Blockchains are built around the assumption that you can’t and are adapted to handle that.

Do you think that blockchain has the potential to change the world?

I don’t know yet. It very much depends on the type of applications that are developed based on it.

Applications are what will make blockchain truly revolutionary and not just a fascinating parenthesis.

What is the main challenge with Erlang?

Erlang has the problem that most of its uses are in infrastructure and tools like RabbitMQ where you don’t “see” it so people don’t realize how much it is actually used. Often you hear people ask why they should bother to learn Erlang as it is seldom used. Another issue is that it is quite old and some people see this as a bad thing.

But you like Erlang. Why?

I like Erlang because it is (and please excuse the buzzwords!) massively concurrent, truly fault-tolerant, and scalable.

Also, I very much like that we managed to keep the language and the base primitives very simple and avoid complexity at that level. Yes, you can, of course, build complex systems but at the base level, it’s quite simple. I am a great believer in simplicity and agree with what Dijkstra wrote: “Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.”

Outside of work, what are you passionate about/interested in?

I am actually a passionate programmer and enjoy implementing languages, so I also do this in my free time. I am fortunate in being able to work in an area that I think is fun and which I consider my hobby. We also have a house on the island of Gotland where we go during the summer and spending time there is very satisfying and gives me great pleasure. Aside from this, there are, of course, the standard things that everybody enjoys like books and movies.

What advice would you give to a younger developer just starting out?

I would tell them that there are many different programming languages with different ways of viewing the world and no single language is good at everything, not even Erlang (though Lisp comes the closest). Be prepared for this by learning different languages and accept that real systems have parts with different requirements and the best solution is often to make a polyglot system.