Home > English, Erlang > An interview with Roberto Aloi (@robertoaloi)

An interview with Roberto Aloi (@robertoaloi)


In this post we will go on with the series of interviews I had to chance to have with my favourite erlangers. Today you will read Roberto Aloi’s answers. Roberto is an Italian erlang developer working at Erlang Solutions Ltd, he is also the author of tryerlang.org.

roberto ! {paolo, Question}, paolo ! {roberto, Answer}

Paolo – Hi Roberto, thanks for making yourself available for this interview. How would you like to introduce yourself to our readers?
Roberto – I’m Roberto Aloi. Google will tell you everything that you always wanted to know about me, but you were afraid to ask. To save you some time, just think about me as a computer engineer who fled from Sicily to follow the Erlang route. Currently, I’m based in London, where I work for University of Kent and Erlang Solutions. In the Erlang community, I’m mostly known as the author of tryerlang.org, an interactive shell that allows you to try Erlang directly in your browser. If you fancy, follow my Erlang (and not) thoughts on Twitter (@robertoaloi) or – if they’re longer than 140 characters – on my blog (http://aloiroberto.wordpress.com). If you love photography as much as I do, take a look to my flickr account (http://www.flickr.com/photos/roberto-aloi/).

Paolo – When and why did you start using Erlang?
Roberto – I have to thank my mentor Corrado Santoro (http://www.diit.unict.it/~csanto/) for this. It was Corrado who introduced me to the language many years ago, when I was still a student at the University of Catania. Corrado was the team leader of an enthusiastic lot of students who took part to an annual International robotics competition (named Eurobot), using Erlang for their little creature. After following an introductory course about Erlang which really excited me, I became part of the team.
Paolo – How did you find your first Erlang related job?

Roberto – As soon as I graduated (or even a couple of weeks before) I’ve started looking for Erlang related jobs. Erlang Solutions – at that time known as Erlang Training and Consulting – happened to sponsor our robot for the past few years and they were looking for new employees. I’ve applied for the job, had a couple of interviews and everything went well. If you’re looking for an Erlang job, I would suggest you to have a look to totally-erlang.com or to http://www.erlang-solutions.com/jobs.

Paolo – What do you like most about Erlang as a programming language?

Roberto – Its concurrency model, the pattern matching mechanism, the fact it allows you to decompose your problem into really small chunks, the “testability” of the code you write through it, its community.

Paolo – How would you describe the Erlang developers community?

Roberto – It’s a relatively small but very active community. It’s a very helpful and enthusiastic group of developers. There is no distinction between gurus and newbies. If you dig into the mailing list you will discover people like Joe Armstrong, Robert Virding or Ulf Wiger helping developers who are still struggling with their first Erlang programs. It’s – no doubt – one of the best communities I have ever been involved into. And the so-called Erlang Factories and Erlang User Groups are contributing a lot to enlarge the Community.

Paolo – How do you see Erlang in the future?

Roberto – The language is growing. I can’t tell if it is going to become part of the mainstream. Maybe not, but some of its main features are constantly being imported into other languages. Look at the concurrency proposals for Java 8, where you have closures, lightweight processes and so on. People are slowly (re)discovering functional programming. Look at the recent popularity of Node.js. People need distribution and Erlang is helping them in finding a new way of coding for distribution. I’m looking forward to the day Erlang will enter very difficult markets (such as the Italian one) from the IT point of view.

Paolo – Now, I would like to ask you some advices for our readers: what books, sites, or blogs, would you recommend to Erlang developers (also about not Erlang related topics, e.g. self improvement)?

Roberto – Erlang has got a very good official documentation. Unfortunately, it is intended to be used by people who already know about Erlang and more or less know what they’re looking for. If you’re encountering Erlang for the first time, have a look to http://learnyousomeerlang.com. If you have a bit of money to invest, buy a copy of http://www.erlangprogramming.org/. If you already know something about Erlang and you want to get into OTP, instead, buy “Erlang and OTP in Action”. There are also many interesting Erlang related blogs around the web. If you’re interested in testing, Gianfranco Alongi’s blog is worth to be mentioned (http://erlcode.wordpress.com). The official Erlang mailing list is obviously one of the best way to stay up to date with what’s happening in the Erlang community and to get general Erlang support, but I’d also point you to www.stackoverflow.com, where the information is much more structured and easy to find. Oh, and of course don’t forget to have a look to www.tryerlang.org😉

Paolo – What are your favourite tools when dealing with Erlang? Can you suggest a good combination of operating system, editor and so on?

Roberto – Personally, I develop my software on Mac, but Linux works fine as well. Emacs is my editor of choice. Having the flymake-mode enabled on your .erl files will save you hours during development. Also, have a look to Basho’s rebar project (http://alancastro.org/2010/05/01/erlang-application-management-with-rebar.html) as a build and packaging tool for Erlang. If you use Eclipse, search for “ErlIDE”.

Paolo – What is the advice you would give to an Erlang beginner who wants to become a good programmer?

Roberto – Start simple, then profile and optimize. Be curious. Most of Erlang itself is implemented in Erlang and the source code of it is available. When in doubt, always look at the source code. I will site Joe here: “Make it work, then make it beautiful, then if you really, really have to, make it fast. 90 percent of the time, if you make it beautiful, it will already be fast. So really, just make it
beautiful!”

Paolo – Many companies ask during the job interview, examples of Erlang programs written. What advice would you give to Erlang beginners without any projects ready to  show?

Roberto – Put the stress on the Erlang stress – i.e. cuncurrency and distribution -. Discuss its distribution model and the message passing mechanism. Create a ring of processes, exchanging a token. It’s a very simple exercise which requires about 10 lines of code and it shows some of the most intriguing features of the language. Profile it, using the timer:tc/3 function. Show them how many million of processes you can spawn in a couple of seconds on your three years old laptop and how fast they exchange messages! I’ve also seen an example of a (benevolent) virus written in Erlang which will “infect” distributed,
connected nodes.

Paolo –  Thanks again Roberto, you have been really helpful!

Roberto – Thank you for helping people to know more about Erlang.

Categories: English, Erlang Tags: , ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: