1. William Impey
6 Mays Way, Cambridge CB4 1UB.
Telephone: 07545585687 (mobile)
Email: william.impey@gmail.com
Software Developer with a strong technical background – a Masters degree in Mechatronics and 16 years commercial development
experience, primarily C#/C++ on Windows platforms. Enjoys a challenging software development role, is passionate about creating
products that have a great user experience, in a progressive environment with opportunities to further his technical career. Has excellent
problem solving skills, good team worker, self motivated, methodical, good communicator.
KEY SKILLS AND TECHNOLOGIES:
Languages
C# 4.0
WPF/XAML
CC++
SQL
VB6
Databases
SQLLite
SQL Server 7/2000
Operating Systems
Windows
Methodologies
Scrum
UX
TDD
MVVM
OOAOOD
GOF Design
Patterns
UML
Miscellaneous
NUnit
Rhino Mocks
GTest
SVN Perforce
MSI Installers
EMPLOYMENT HISTORY:
LEICA MICROSYSTEMS (Aug 2007 – Present)
Leica Cambridge provides microscope imaging software for life sciences and industrial
sectors.
Image Viewer
Utilising WPF and MVVP produce image viewer for the LASX application.
Renders large multichannel images using IPP.
Image rendering on background thread to maintain responsive UI.
Render live image frames up to 90fps.
Decoupled from application behaviour.
Smooth zoom and pan image navigation.
Decoupled image overlay decoration.
Unit tested.
Image Processing Lib
Helped extend image processing library to service image analysis
applications using C++11, IPP and Google Test.
Steel Inclusion Rating
Using MVVM and Microsoft Prism Library create a new steel inclusion rating
application.
Cleanliness Classification
Using MVVM and Microsoft Prism Library create a new steel inclusion rating
application.
Real time image acquisition processing rating.
Use of SQLlite to query large datasets.
Also helped write test complete automation scripts.
Leica Application Suite
Delivered WPF front end to a Live Image Builder application.
Maintenance of the application, adding new features to various
workflows.
NEXTGEN SCIENCES LTD (Oct 2005 – June 2007)
NextGen Sciences Ltd is a provider of expert systems, services focussed on the understanding of the role of, proteins in diagnosis and
drug discovery. The company’s advanced automation products, simplify complex research techniques, saving time and resources,
improving results and accelerating discovery.
Robotic Job Management Software
A C# winforms application that allows an xml described biological process to be queued, validated and executed on a SIAS
based liquid handling robotic platform.
Implemented a new version of the job management software reducing platform specific code, maintenance and testing
overhead. This was achieved by:
Utilising the MVC pattern to push all business logic from the UI layer to the Model layer which allowed two old
applications to be merged in to one unified application that can be configured to act as a platform specific application.
Using the GOF Factory method pattern, to allow common and platform specific code to be implemented in separate
classes instead of using conditional logic to execute platform specific code.
Using the GOF Adapter pattern, used to standardise device interfaces into a single simple interface for use by the
Controller/View application layers.
Redesigned the GUI to simplify and improve usability of the application. The view layer (GUI) was split into platform specific
views and common views to maximise code reuse.
2. CURRICULUM VITAE OF WILLIAM IMPEY
MVC pattern also allowed automated regression testing of all the molecular biology processes that the robotics platform
executes, by allowing access to the model layer through a test controller.
Produced a MSI installer that includes custom actions that run updates on databases and configuration files and conditional
platform specific options.
Maintained and developed automated biological processes such as PCR, Cell Harvest, and Gateway etc.
Implemented automatic fault reporting. The fault report or system state report is automatically sent to the customer support
team email whenever a system fault occurs. This helps the support team diagnose and resolve customer issues efficiently.
Provided technical support via phone and email, releasing software fixes to customers.
Automated Product Release Tool
A C# winforms application which builds a software product from a subversion branch, updates the version numbers on all the
assemblies and updates the MSI product version number.
Allows the user to set off a release build in seconds and get on with other tasks as the release is being created.
Thermocycler Device Integration
Implemented a C# device interface class for a Whatman Biometra T Robot thermocycler.
Interface built upon the T Robot RS232 protocol to allow integration in to robotic job management software.
Automated Build and Regression Testing
Extended the Draco service to run nunit regression tests after automated builds. Checks subversion every hour for
modifications and if there are any, builds and tests the product producing a HTML based email with the results. Used XSL to
transform XML reports into HTML reports.
3. CURRICULUM VITAE OF WILLIAM IMPEY
SKIPTON BUILDING SOCIETY CAMBRIDGE DEVELOPMENT CENTRE (May 2000 – May 2005)
Skipton Cambridge Development Centre (CDC) provides a Microsoft centre of excellence to the Skipton Group. Skipton CDC has been
responsible for providing technical IT solutions to start-up companies within the Group such as Callcredit plc (credit referencing agency)
and Baseline Capital Ltd (BASEL II compliance service that allows mortgage lenders to achieve advanced IRB status which allows them
to lend more money).
File and Query Descriptor GUI Application
Allows Data Analysts to transfer data from file into consistent database for BASEL II processing.
Implemented in C# window forms classes and ADO.net classes.
Model view controller pattern used to separate data access and presentation code to allow multiple types of presentation layers
(Web, API).
Heavy use of Datatable, Datagrid, DataViews, DataReader and Databinding classes.
Implemented several SQL server 2000 stored procedures to collate data for C# data classes.
Credit Report Generation
Responsible for designing and implementing a high performance VC7++ ATL7.0 component architecture for caching and
summarising SQL Server 2000 datasets.
STL vectors and binary search algorithms used to cache and retrieve data structures.
OLEDB consumer templates heavily used to retrieve datasets from database utilising connection pooling.
XML DOM heavily used to pass data between business layer and APIPresentation layer of the Credit Report System.
SQL Sever 2000 used to write stored procedures to return datasets to the OLEDB consumers.
Have used STL templates and inheritance to enable a generic approach to code writing.
Data Matching
Have done considerable work on data matching and are familiar with several data matching algorithms.
Created a high performance Multi Threaded key generator in ATL3.0 for data matching name and address data.
VC6++ profiler to optimise the code for performance.
XP (extended stored procedure) to allow access to key generator COM object from SQL Server 2000.
VB6 to create test harnesses.
Log Shipping
Implemented a log shipping system to push data through to the live databases.
Implemented using SQL Server 2000 stored procedures.
SQL Server XP(extended procedure) written to FTP database transaction logs to a remote database server.
Linked server’s setup to allow Stored Procedures to be called on remote servers.
GRIFFIN ELDER & CO LTD (Feb 1998 – Apr 2000)
Agricultural electronics firm specialising in weigh systems.
I was given a great deal of responsibility with dealing direct with customers and developing MFC Visual C++ and Database Projects. I now
have a number of commercial products under my belt. Some of these I have seen right through, from design, to product support.
Development of Various GUI Computer Weigh System software (a total of 6 applications)
VC6 MFC GUI applications to interface with various weigh machines.
Data logged to an Access databases via DAO.
RS485232 communications heavily used to control and receive data from various weigh systems.
Customer technical support, onsite and remote.
Electrical Engineering
AutoCAD R14 used to design electrical component layouts and circuit diagrams.
Designed and built a three phase electrical system used to control 27kW fans that cool crops stores.
Designed an interface to allow a PIC to automatically control the fans depending on humidity and temperature.
Mechanical Engineering
Heavily used AutoCAD R14 to 3D model mechanical components for a lawn mower project.
From the 3D modelling engineering drawing were drafted using AutoCAD.
Liaised with component manufactures to ensure components were manufactured to correct specification.
4. CURRICULUM VITAE OF WILLIAM IMPEY
ANVILTECH LTD (Feb 1997 – Jan 1998)
Agricultural engineering firm specialising in the manufacture of sprayer booms. My role was to produce engineering drawings of new
sprayer boom designs.
CAD Drafting
Use of AutoCAD R14 to create a 3D model of sprayer boom components.
Producing engineering drawings for manufacture of sprayer booms.
QUALIFICATIONS:
2002
MICROSOFT CERTIFIED PROFESSIONAL (MCP)
HULL UNIVERSITY 1993 – 1997
MENG. (HONS) MECHATRONICS – Robot Engineering, Knowledge-Based Engineering, Materials Selection, Advanced Engineering
Materials, Control of Manufacturing Operations, Integrated Robotics, Flexible Automation, Design for Manufacture and Quality.
Final year project - Design and build softwarehardware that allowed a robot to automatically calibrate itself to its assembly workspace at switch
on even if the workspace had been re-orientated. This was achieved by using a vision system to detect 3 LED beacons fixed to the robots
workspace.
ANGLIA POLYTECHNIC UNIVERSITY 1991 – 1993
BTEC NATIONAL DIPLOMA - ENGINEERING
CAMBRIDGE REGIONAL COLLEGE 1990 – 1991
BTEC FIRST DIPLOMA - ENGINEERING
SAWSTON VILLIAGE COLLEGE 1990 – 1991
GCSE: Combined Science, Mathematics, English, English Language, Design and Technology, Geography
PERSONAL:
PROFESSIONAL DEVELOPMENT COURSES
Developmentor .NET Architecture and Design: Building Distributed Applications with .NET ( 2005 ).
Developmentor Guerilla .NET course( 2001 ).
HOBBIES
Motor Boats
Motor Cycles
References
Available on request.