Mike Williams

Erlang Co-Inventor

After leaving school in Wales, Milke worked as a school teacher in Malawi. He wasn’t a very good teacher, so he returned to Cambridge where he completed an engineering degree. He moved to Stockholm (with his Swedish wife) where he got a job working for Ericsson, the telecommunications giant. He had many jobs at Ericsson, starting as a hardware developer making him one of the few people who to design and implemented a computer from basic chips! Having developed a computer, the next stage was to program it, so he slipped into software development, eventually co-founding the Ericsson Computer Science laboratory. His principle achievement as co-inventor of Erlang was the implementation of the first Erlang virtual machine and the error handling constructs in Erlang's concurrency model. From applied research, he slipped into management of both small and large business units which developed and maintained software, both in Erlang and other technologies. Building and managing good teams for software development is, perhaps, the most important aspect for any non trivial development. It is what he is going to speak about.

Mike Williams's talk:

The winning team

The Erlang ecosystem enables rapid prototyping, you can quickly try out different approaches to hard problems and architectures. Every software project is different and it is vital to iron out the difficulties, performance bottle-necks and architectural issues as early as possible Are you starting from scratch or have you done something like this before? Who do you have who can do the work? What experience do they have with the programming tools? Do you have too many or too few developers? Are at least some of them knowledgeable about the domain you are working in? Is there a firm specification or are you designing through prototyping? Starting with a small team, how are you going to let it grow while maintaining a consistent architecture and design philosophy.

This talk will focus on the the human aspects of introducing the Erlang ecosystem in product development teams. Getting a good team together working with an architecture and development philosophy they all accept is essential, and probably the biggest challenge you will face. With that in place, everything else will follow.