An interview with Francesco Cesarini (@FrancescoC)
A couple of weeks ago an idea came to my mind: to propose an interview to some of the people I most admire in the Erlang world.
Ask and answer!
Paolo - Would you like to introduce yourself to our readers?
Francesco – I’m Francesco, an Erlang enthusiast who considers him lucky to be able to work with the language on a daily basis.
Paolo - When and why did you start using Erlang?
Francesco – I started using it in 1994, when I had to implement a simulated world populated by wolves, rabbits and carrots. Wolves ran around in packs eating rabbits, rabbits ate carrots, and when anyone had very high energy levels as a result of eating, they would split in two. The world had to be balanced, so no food meant a species died. The goal was to create a balanced environment.
Paolo - What do you like most about Erlang as a programming language?
Francesco – The ease of doing so much with so little. The low cost of ownership of Erlang systems, and the increased programmer productivity. Looking at it from a technical angle, it is the declarative aspects, the concurrency and error handling, scalability on multicore, and finally, Erlang behaviours integrated in OTP. Concurrent programming without semaphores and deadlocks, all scaling on multi-core without the need for programmer awareness is pretty cool.
Paolo - One of the strengths of Erlang is the vitality of its community, how would you describe it?
Francesco – Down to earth, open, approachable and positive. I think it boils down to Erlang’s Swedish roots and influence, where no one boasts about their achievements, and instead try to share their knowledge and help others. I am still looking for an Erlang Prima Donna…. And I think I will have to keep on looking for quite a while.
Paolo - How did you find your first Erlang related job?
Francesco – Errr…. I picked up the phone and called the Ericsson switch and asked to be put through to Joe Armstrong. Two weeks later, I visited the Computer Science Lab for an interview and have never looked back. It was April 1995.
Paolo - Erlang was released as open source in 1998, do you think this was a fundamental step for its diffusion? How do you see it in the future?
Francesco – Yes, of course. But as it was released as open source with very little marketing budget, uptake was really slow. What started speeding adoption were blogs, followed by multicore and Joe Armstrong’s book. At that point, we had a spike we kept on fueling with the Erlang Factory conferences, O’Reilly’s Erlang Programming and visibility at other conferences all over the world. Open source projects also played their role, including Ejabberd, CouchDB, Riak, RabbitMQ and the Disco project… All of this was backed up by an amazing community.
I see a very bright future, with increased adoption, both within the community and within corporate environments alike. We also managed to put commercial support in place, backed by Ericsson, which had a major hurdle in the adoption within major blue chip companies, and more specifically, the banking and finance sectors.
Paolo – You are one of the authors of “Erlang Programming”, why did you decide to write this book?
Francesco – I taught my first Erlang course to a class of students in Research Triangle Park (NC, USA) in 1998. I still remember them all, it was a great (but demanding) class. I really enjoyed the experience and sense of satisfaction when they all reached their ah ha moment. As a result, I started teaching on a regular basis, as often as I could. I moved on to develop my own training material, started teaching University courses and conference tutorials. I decided to document the approach I used in teaching, and the result is Erlang Programming. I am also really happy to have had the opportunity to work with Simon Thompson. He provided an alternative view, had two previous books under his belt, and an excellent co-author. Working in two did not mean we got the book finished twice as fast, however, but it resulted in a much better book.
Paolo – Can you suggest other good books, blogs or or web sites to Erlang developers?
Francesco – All of the Erlang books out there are excellent, and they all complement each other very well. Joe Armstrong’s Programming Erlang is an overview of why you should use Erlang, and a great high level introduction to the language. Simon and I went into the Erlang language in detail, looking at tools and libraries. Finally, Richard Carlson, Eric Merritt and Martin Logan did a fantastic job at describing OTP in Manning’s OTP in Action.
For websites, I would recommend Learn You Some Erlang for great good (http://learnyousomeerlang.com/), Try Erlang (http://www.tryerlang.org/) and for lots of videos on interesting talks, the Erlang Factory website (http://www.erlang-factory.com/)
Paolo – What advice would you give to a new Erlang developer?
Francesco – Find the right approach, design by prototyping. Make your mistakes on a small scale, not a production project. It is not good enough to have ideas, you need to make sure they work. These are not my words, however, this is the advice Mike Williams, one of the co-inventors of Erlang gave me. From my end, I would like to ensure you pick the right tool for the job, don’t try to fit a square peg in a round hole.
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?
Francesco – There are lots of open source projects out there, all looking for a helping hand. Get active and start contributing. If you are unsure of where to look, try the open source Erlang project crawler http://projects.trapexit.org/web/ Start helping others on forums such as trapexit and stackoverflow or even the Erlang Questions mailing list. Blog about your experiences. You might not think the subjects might be relevant… Your future employer might.
Paolo - Thanks for you time Francesco!