DominicWilliams.net / CV


Dominic Williams

Objectives

I have been developing software for 15 years, mostly in telecommunications, railways signalling and oceanography. I am interested, and have some level of experience, in everything from programming to running a business. My principal areas of expertise are eXtreme Programming, high-availability distributed systems and Erlang. I want to have fun building great products with smart, respectful partners.

Work experience

10/2007 to the present

R&D Manager, Esmertec Mobile Operator Solutions (ex-Cellicium).

Management of a department (budget, hiring, managing 15 developers including four in China) and its products (roadmap, architecture, methodology, innovation). eXtreme Programming. USSD browsing, SMS, IM. TCP/IP and SS7 networks. Erlang, mnesia, MySQL, Corba, Web services, Linux.

03/2006 to 09/2007

Product technical lead, Cellicium.

Erlang development of high-availability real-time servers for GSM networks. Responsible for an SS7 firewall/router for SMS. USSD browsing, SMS, IM. TCP/IP and SS7 networks. Erlang, mnesia, MySQL, Corba, Web services, Linux.

05/2004 to 03/2006

Senior Developer, Peregrine Systems.

Transitioning to agile methodologies.

Development of the Web Client for Asset Center. Java, JSF, Tomcat.

Development and maintenance of Asset Center server and a cross-product framework. C++, XML, cross-platform, cross-RDBMS.

11/1998 to 05/2004

Software lead, CSEE Transport.

In charge of two successive projects: the traffic control centre of the Newcastle (England) metro, and the control and command system for the new high speed railway line between Madrid and Barcelona (Spain). Both projects used the Extreme Programming (XP) methodology, with teams of up to ten programmers and testers. CORBA, Ilog Views, Ilog Server, C++, Python, XML, Windows 2000, Access, Ethernet.

Design and prototype of a method and tools for semi-formal specification and automated acceptance testing of realtime control and command systems. Erlang, C++, Windows, FreeBSD.

Founder and facilitator of a weekly special interest group in object-oriented and distributed programming (technical presentations, workshops and experience reports on design patterns, methodologies, programming languages, tools, C++ coding standards...).

Active in starting a company-wide software process improvement project, based on the CMM model:  presentations, training in CMM evaluation, performing an evaluation, leading a work group.

Technical coordinator for the Hong Kong agency, during a 10-month expatriate assignment for the supply of the traffic control centre of the Mass Transit Railway's 3 urban lines. I coordinated development activities in France with test and commissionning on site, as well as developping the telecommunications (direct line calls) module and training the client's maintenance staff. RT-Works, C/C++, DEC/OSF, FDDI network.

Responsible for defining and supervising internships, including a project to evaluate the Java platform for realtime control system GUIs, and development tools developed in Python and Eiffel.

03/1995 to 12/1996

Software engineer, then project leader, Steria.

Traffic supervision system for Luxemburg's motorways: management of customer relations, contractual and financial matters, management of a team of eight engineers, as well as the design and development of the GUI and Internet modules. RT-Works, Ilog Views, C++, HTML, Netscape server, Oracle, Solaris, ATM network.

For the SNCF (French National Railways) R&D department: development of a software tool to optimise the railway infrastructure for tilting high-speed trains. Ilog Views, C++, Windows 95.

03/1995 to 12/1996

Software engineer, Bureau Veritas

Specification, design and developpement of a computer-aided quality management tool, used to automate ISO9001 procedures while performing certification of oil rigs. C++, X-Designer, X11/Motif, AIX.

Development on a finite element software system. Fortran, C, AIX.

03/1993 to 12/1994

Assistant researcher, Geological and Mining Institute of Portugal.

Remote sensing study of a sedimentary plume. Use and development of image analysis and statistical software. C, Sun/OS, Hypercard/Macintosh.

Publications

L'eXtreme Programming, Avec deux études de cas, J.-L. Bénard, L. Bossavit, R. Médina et D. Williams, Eyrolles, 2002.

Diplomas

1989
Part IA Natural Sciences, Cambridge University
1993
Diploma in Oceanography, Open University
1994
Diploma in Statistics and Probability, Open University

Training

Technical training : CORBA, Testing object-oriented software, design and administration of a Web server, Ilog Views, Ilog Rules, relational database management systems.

General training : project management, communication, CMMI evaluation, quality assurance, teamwork

Languages

Bilingual English/French.

Fluent Portuguese (2 years spent in Portugal).

Italian and Dutch: school basics.

Personal details

Age 38. Two children. Dual British and Australian citizenships, resident of France.


Updated: 24/06/2008.
Copyright (C) Dominic Williams. Contact.