Résumé

Personal details

Name: Ciaran McHale
Nationality, age, status:     Irish, 38 years old, married with no children
Location: Reading, England
Work email: Ciaran.McHale@iona.com
Personal email: Ciaran@CiaranMcHale.com
Mobile/cell phone:     +44-(0)-7866-416-134
Fax: +44-(0)-118-954-6767

Primary talent

The details in the Work Experience section of this résumé list various technical skills. However, my primary talent is the ability to digest complex ideas and re-explain them in simpler ways. When I get frustrated at unnecessary complexity in computer-related technologies, I often respond by writing utility software, documentation or training material that cuts through the unnecessary complexity.

Work experience

After completing my Ph.D. thesis in 1994, I spent 9 months as a research assistant in university. Then, in September 1995, I joined IONA Technologies, which is a company that specializes in standards-based middleware, such as CORBA and Web Services. I am a principal consultant and IONA's longest serving consultant.

During my 11 years with IONA, my consultancy work has been varied, and has included architectural design, programming, code reviews, mentoring, low-level bug hunting and planning upgrades. I have consulted with customers in many industries, including Finance, Telecommunications, Aerospace, Publishing, Manufacturing and Healthcare.

Aside from consultancy, my job also involves writing and delivering training courses focussed on IONA's products. I have written 6 of IONA's developer-oriented training courses that cover C++ and Java versions of both Orbix and Orbacus (IONA's two CORBA product families), and also TAO and omniORB (open-source CORBA implementations). In addition, I wrote an Orbix administration training course, thus making 7 courses in total. In writing so many training courses, I have pioneered techniques for writing modular material that can be reused in multiple courses. Other colleagues in IONA have adopted these techniques. The resulting modularity and reusability of courseware material has increased course quality and decreased the time—and hence the cost—required to write and maintain training courses.

My experience with so many CORBA products has enabled me to develop simple-yet-effective techniques for writing code that is portable across multiple CORBA products. For example, the C++ exercise system used in the CORBA courses is portable across Orbix, Orbacus, TAO and omniORB. Likewise, the Java exercise system is portable to the two Java products (Orbix and Orbacus) covered by the training courses.

I have written a book about CORBA called CORBA Explained Simply and also the CORBA Utilities, which is a collection of (mainly) C++ and Java utilities that simplify the development and deployment of CORBA applications. Both of these are available free-of-charge by following the links from the main page of my web site.

Soon after joining IONA, I realized that many CORBA applications contain a lot of repetitive code. This lead me to design and implement the Orbix Code Generation Toolkit (also known as idlgen), which IONA ships as part of the Orbix product range. I have routinely used this toolkit on many customer- and IONA-internal projects to help me generate varied types of code, including starting point code for new applications, data-type conversion functions, correctness test suites, performance test suites, load-balancers and gateways. I have used it to generate as little as a few hundred lines of code, and as much as half a million lines of code.

Computer technologies I am experienced with include CORBA (Orbix, Orbacus, TAO and omniORB), multi-threading, fault tolerance, load balancing C++, Java, Tcl, UNIX/Linux and Windows.

Education

1989–1994: Ph.D. in Computer Science, Trinity College, Dublin.
Title: Synchronisation in Concurrent, Object-oriented Programming Languages: Expressive Power, Genericity and Inheritance. My web site provides an abstract and a downloadable PDF version of my thesis.
 
1985–1989:    BA(mod.) in Computer Science, Trinity College, Dublin.