Archive

In 2011 I interviewed Francesco Cesarini for my blog. That was my second interview, a giant leap for my blogging experience. Today I am talking again with Francesco, mostly about his 2012 and an upcoming event organized by Erlang Solutions for all the erlanger in the USA: the Evening School of Erlang.

A 2013 full of Erlang!

Paolo – Hi Francesco! It’s good to have you here once again talking about Erlang. How was your Erlang year?

Francesco – 2012 has been a really good year. I spent a good part of it in the US, visiting companies using or looking to adopt Erlang to better understand their problems and needs. I taught the Concurrency Oriented Programming course at Oxford University both in the spring and the fall, alongside celebrating the 10th anniversary teaching at the IT University of Gothenburg. 600 served and counting. The best thing is seeing those who chose to work with Erlang after they graduated. Two EU funded research projects, Release and Paraphrase are sharing in excess of seven million euro. They have made excellent progress improving Erlang’s viability on multi-core architectures (we are talking tens of thousands of cores). A third project got funding in March and started in November. It is the Prowess project, taking property based testing to the next level. And Erlang Solutions is also doing very well. We expanded the offices in Krakow, moved to larger offices in London. There has been a huge interest for MongooseIM (our IM platform), our Erlang Management Console alongside lots of interesting courses and projects, all topped up and managed by great and dedicated staff. Record numbers at the San Francisco Erlang Factory and the Erlang User Conference, a lot more Erlang Factory Lites compared to 2011. It is clear that the adoption of Erlang is growing faster than ever before. I can’t wait for 2013.

Paolo – During the year many Erlang related events are held all around the world. In your opinion is this the best way to spread the Erlang word? How can we all help?

Francesco – The whole community is doing a fantastic job, so more of everything which builds the community is probably the right answer. We need more bloggers sharing their experiences, more people speaking at conferences and writing articles about their experiences. We need people to run user groups, self study circles, coding dojos and katas. We need better tools catering for the 21st century. Think cloud, embedded, massive scalability, with tens of thousands of nodes all interacting with each other. We need more research, more universities using Erlang as a tool to teach aspects of computer science such as distribution, concurrency and multi-core programming. And most important, we need to start speaking (and learn how to speak) to the CXO level. They are the decision makers who sit on the budgets and have a say on how and if Erlang is used out there. It is a very different language than that spoken by engineers. Instead of talking about cool debugging techniques or getting embroiled in the frames debate, we should be taking about financial benefits Erlang brings. How one reduces development, operations and hardware costs, making the software future proof towards future multi-core architectures.

Paolo – If you ask around you may find that many companies are afraid about using Erlang, mostly because they have a lot of know-how only about mainstream languages and fear the switch. How can we tackle this problem?

Francesco –I recently sat in a meeting where they were about to start a project with 100 Java developers. We suggested running a project in parallel, where we said we could do the work in half the time with 10 Erlang developers. It was a switching problem which had to handle peaks of traffic; Erlang was the perfect fit. The answer we got was, “If you are right, what do we do with our Java team”! This is fear, not common sense.

One has to introduce Erlang (or any emerging technology) starting small. Do a prototype or a proof of concept, show the advantages, and build on success. Mike Williams, co inventor of Erlang, include design by prototyping: In is not good enough to have ideas, you must be able to implement them and show they work. And make mistakes on a small scale, not in a full production project. When moving away from mainstream, at least in large companies, the conservative naysayers will be circling over you like vultures, waiting for the slightest hint of trouble. If you are 10% above budget, it does not matter if your budget is 1/10 of similar projects using mainstream languages. You are still over budget! Don’t give them the opportunity. But I am not answering your question, am I? My advise is to find your Erlang champion within the organization, make sure you are using the right tool for the job, get management buy in and start small.

Paolo – As many other Erlang developers, I am a member of the Erlang Questions mailing list; lately I spotted there a message from Erlang Solutions about an event called “Evening School of Erlang”. Can you tell us something more about it (e.g. locations and prices)?

Francesco –One of the biggest hurdles to adoption is lack of programmers. That was a clear concern when visiting companies on the US West coast. There are few experienced Erlang programmers commanding extremely high salaries and often changing jobs when new opportunities arise. To jump start the Erlang job ecosystem in the US, we decided to try out the Evening School of Erlang. Two nights a week, for four weeks, local trainers will be giving Erlang classes to developers looking for a career change. A few weeks after the course, those attending will be offered to take the certification exam. These classes will be heavily subsidized by corporate sponsors looking at recruiting/placing Erlang developers and will cost 199 USD. In exchange, your contact details will be shared with these sponsors.

In the new year, we are starting the courses on the 8th of Jan in San Francisco, close to Union Square, followed by Pasadena (Feb 19th) and San Jose (Feb 20th). Mountain View and Santa Monica will be announced soon. The goal for 2013 is to train 400 developers while expanding the network to cover Chicago, Seattle, Boston, New York, DC, and any other city where companies recruiting are willing to sponsor.

For those not interested in changing jobs but interested in learning Erlang, there is a corporate rate available which reflects the actual cost of the class. In this case, the details of the attendee will not be shared.

Paolo – Who may want to attend this kind of Erlang course? What are the topics and what is the Erlang level one must have in order to fully grasp them?

Francesco – Everyone who is interested in a career change and believes Erlang is the way forward. While we are hoping to attract experienced developers, students are just as welcome. Topics include:

Introduction

Basic Erlang

Sequential Programming

Concurrent Programming

Process Design Patterns

Process Error Handling

Code Updating

Records and Funs

ETS tables

Distributed Programming

Advanced Constructs

Ports and Sockets

Style and Efficiency

Paolo – In the aforesaid Erlang mailing list message, there was some reference to a “Certification Exam”. Can you tell our readers what it is? Will the exam price be included in the course price? I guess Erlang Solutions will the entity that grants the certification, am I right?

Francesco –The Certification in Erlang provides validation of Erlang/OTP knowledge. We provide two exams, one for Erlang and one for OTP. At a corporate level this validation is important both for employer and employee. It allows for employers to identify potential employees who are suitably skilled, and provides an on-going upgrade path to suit an organisation’s staff development plans and career aspirations.

It is possible to sit the examination for certification directly following the class, but we recommend that candidates undertake some self-study and obtain work in addition to the course, prior to sitting the exam. It is not easy to pass.

The Exam for the San Francisco class will take place in conjunction with the Erlang Factory in late March. The cost is included in the cost of the class and is subsidized by the sponsors.

Paolo – Do you think this kind of course may be helpful in order to get an Erlang related job? How can one developer attending to course to get in touch with these companies?

Francesco – The Evening School of Erlang is being sponsored by companies looking to recruit Erlang developers. At the end of every class, sponsors will give a 5 minute presentation on what they do with Erlang and pay for a round of drinks. These companies will get in touch with you.

Paolo – How can company become a supporter for this kind of event? How to get more information about it?

Francesco – For this and other classes, we are looking for support in the following areas:

Help in spreading the word to friends, colleagues and communities you believe might be interested in attending

Sponsors interested in recruiting Erlang developers willing to help out cover the costs of the trainer and material

Trainers interested in teaching the course

Companies with training facilities all across the US seating 10 – 20 delegates

You are welcome to contact me via our website, where you can also find more information and register:

Paolo – What about European Erlang developers? As far as I know you already started some courses in Krakow. How long should we wait for something like this to happen all around the Europe (maybe Italy :D)?

Francesco –This is entirely driven by market needs. Europe has been teaching Erlang in its universities for over 20 years! Thousands of developers have been trained, so the situation is not as acute as in the US. But if companies come to us and say they are having a hard time recruiting, we will certainly consider it.

You mention Krakow, where Erlang Solutions had to recruit. We tried out the evening school of Erlang back in 2008. The first time, 7 people registered. The second time, the number went up to 20, and the following year, we had 70 applicants. Word got around. The universities there started teaching it. They started doing research. And the yearly Erlang Factory Lite has for the last three years attracted in excess of a hundred attendees.

Paolo – I do believe 2012 was a good year for Erlang: a lot of events, courses and some new good book. Our world proved to be fault-tolerant to 21st december 2012, so What should be expect from 2013?

Francesco – Massive concurrent expansion of the language adoption. Lots of books are being written. I am co-authoring the follow up of “Erlang Programming”, tentatively called “Designing for Scalability with Erlang/OTP”. It will be published by O’Reilly. Joe Armstrong is working on the second edition of his book. On top of that, there are four other books in the writing which I am aware of but am unsure if I am allowed to speak about. My wish of having a whole bookshelf with books on Erlang will be realized this year. We are planing at least an Erlang Factory Lite per month, break the previous attendance records at the Erlang Factory in San Francisco and Stockholm and continue our work on educating and helping people. We will soon be launching a new community site aimed at replacing Trapexit. On top of that, Erlang Solutions will continue its international expansion and help grow the community. So all in all, if 2012 was an excellent year, we are really looking forward to working with the community in making 2013 an even better one!

Ask and answer!

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.

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 crawlerhttp://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.