Rob Hague

Technical Skills & Experience Summary

Employment

Cydar Ltd

Principal Engineer

June 2014 - Present

Involved in all aspects of the planning, architecture and implementation of a cloud medical image processing application based on a proven research prototype.

Cadence Design Systems Inc

Principle Product Engineer

January 2013 - May 2014

Working on the Encounter Digital Implementation System, a leading EDA tool, with responsibility for shepherding features from initial requirements, through specification and implementation, to release and maintenance. Specifically, I have been involved in numerous improvements to the Tcl scripting interface of the product.

In addition to product engineering, worked extensively on prototyping and implementing new product features and development process infrastructure, using a wide range of technologies including C++, Tcl and JavaScript.

Member of Consulting Staff

July 2011 - January 2013

Following the acquisition of Azuro by Cadence, worked on integrating the Azuro codebase into EDI. This included the reimplementation of key functionality, most notably the clock tree visualisation. Provided ongoing maintenance and support for both the standalone and integrated functionality.

Azuro (UK) Ltd

Lead Engineer

February 2011 - July 2011

Team Lead of the Core team, covering the areas of user scripting, cross-platform GUI, and core data infrastructure. Responsible for day-to-day supervision of two to three other developers, management of bugs and enhancements, and involvement in planning for future releases.

Senior Engineer

January 2007 - February 2011

Responsible for design and implementation of new features in various areas of the product, most notably visualisations and scripting infrastructure. Contributed to ongoing maintenance, including both bug fixing and customer support.

In May 2010, took on leadership of the Core team.

Engineer

June 2004 - January 2007

Member of the R&D team for a growing provider of EDA (Electronics Design Automation) software tools, working on cross-platform GUI, user scripting support and core infrastructure in a combination of C++, Java and Tcl. Additionally, implemented and maintained build and other development tools in Python and other languages.

University of Cambridge

Supervisor, Computer Science

September 2000 - June 2004

Small group teaching of undergraduates for a range of courses from the BA and Diploma in Computer Science, and supervision of final year individual projects.

Fitzwilliam College, University of Cambridge

Supervisor of Studies for Computer Science

September 2002 - September 2003

Assisted Director of Studies with interviewing and selection of undergraduate candidates.

IBM Research Zurich

Intern

January 2003 - April 2003

Working as part of the E-Business Solutions group, prototyped an interface for the selection and invocation of Web Services, using vision-based tracking of physical markers.

Advanced C++ Course

Instructor

April 2001

Presented short lectures and assisted with practical exercises on a three-day course in advanced C++ techniques for professional programmers at Sony Computer Entertainment, Europe.

AT&T Laboratories Cambridge Limited

Member of Technical Staff

September 1999 - September 2000

Part of a research team working on software for the Sentient Computing project, centred on exploiting a fine-grained location system to create context-aware applications. To support such applications, the project also created a distributed architecture, based on CORBA objects and using a relational database for persistent storage. Most applications were implemented in C++ using a variety of libraries developed within the project. A small number were implemented in Python.

SCO Inc.

Intern

June 1998 - August 1998

Research and initial implementation of various technologies for inclusion in a subsequent version of Tarantella, a remote desktop product. This involved integration of C++ and Java, on a variety of Unix platforms.

Education

University of Cambridge

PhD in Computer Science

September 2000 - June 2004

Research degree, investigating the use of end-user programming in a domestic ubiquitous computing setting. The work combines theoretical aspects such as programming language design and cognitive psychology with the implementation of practical systems.

BA in Computer Science (1st class)

October 1996 - June 1999

Taught degree, including courses in all areas of Computer Science, a group project (using Java) and an individual software engineering project (using C++ and Open GL).

The Dronfield School

September 1990 - June 1996

A-Levels in Biology, Chemistry, Maths with Mechanics, and Physics (Grade A), STEP papers in Maths and Physics (Grades 1 and 2), and S-Level in Biology (Grade 2). 9 GCSES (4 A*, 3 A, 2 B) including Maths and English Language at A*.

Publications

Additional Information

References available on request