Home
Jabuka
Rakija
Gallery
CV
Gary Blog
Mare Blog
On this page you'll find items related to my CV.

I've been working with .NET/C# since 2000 (using the technology preview), and was one of the editors on one of the first to market books on C#, written against beta 1 whilst working for Wrox Press.
I've been using C# to create Winforms applications commercially since 2002, and I've worked for a number of world-leading high technology companies. I've been involved with XP/Agile processes such as pair programming, unit testing with NUnit, and Test-Driven Development since the start of my career, and have evangelised the use of these processes (where appropriate) throughout my career.

February 2006-Present.

Development of a hardware setup tool.

A highly-customisable WPF app, with an auto-generated UI.
C++/CLI code to communicate with a FTDI USB-serial device. Design and development of code to implement a serial protocol for communicating with hardware devices (peformant multi-threaded code, typical communication issues such as byte conversion, state machine for reading packets, endian conversion etc.)

Development of a high-performance real-time and offline Data Analysis application.

With application in the motorsports and aerospace industries. Implementing new code in both C++/COM and C#. Profiling and improving the prformance of a C# mathematical analysis library (allowing the user to write their own complex mathematics, via a parsed evaluation tree). Use of Visual Studio Team System (for Unit Testing, bug tracking etc.)

Development of C# SCADA/instrumentation and control software, with applications for wind tunnels.

Use of .NET 2.0, and SQL Server 2005. Design and implementation of winforms applications, for control and analysis of data, and customization. Use of XML throughout, schemas etc. A highly customizable multithreaded application, custom designers (DesignSurface). Design of relational database schema. Mathematics for 3D transformations. Use of Windbg for analysing crash dump files. Writing Wix (Windows Installer Xml) files. Debugging C# components for consumption by COM application. Mixed mode debugging. Use of tools such as LeakDiag.

November 2004-February 2006. Market Risk Developer in the Finance industry

New development being done in C#, but to operate within a MFC/COM application framework. Implemented new functionality in C#, C++, COM and MFC in a multi-million line application. Worked on C# component consumed as a COM object. Tracked down bugs highlighted in smoke tests and regression tests. Mixed mode debugging. Performed code reviews, ensuring that code followed best practices (especially important with C++/COM). Spread knowledge of unit testing thoroughout the team through demonstrations to the regional offices. Wrote an XML-driven framework for unit tests, created stub objects implementing COM interfaces. The tests gained importance as they were used on a strategically important project to map the representation of financial instruments to a new C# risk engine. Created NUnit tests from XML using XSLT to generate the C# code. Gained knowledge of pricing of financial derivatives, and calculation of market and credit risk (calculation of VaR).

Development of a Winforms app for the automation of cell growth and protein extraction.

Worked on C# layer of supervisors, sitting above machine control code, managing different threading models between machine control and scheduler component, and machine control error detection and recovery. Application was xml-driven for both the configuration, and for machine lifecycle scripts; making use of custom attribute decorated methods to drive from the XML. Services and remoting. Made heavy use of reflection, with dynamic assembly loading.Highly asynchronous/multithreaded environment. A quality-conscious engineering environment. Pair programmed with other team members to help spread C#/.NET knowledge. Spread NUnit testing knowledge and Agile/XP Process ideas throughout the team. Advanced SQL scripting. Some Managed C++. Use of log4net.

Development of a Winforms app for a high-technology coherence correlation interferometer for 3D surface profiling in the metrology industry.

Worked on C# Windows application, with custom look and feel using DotNetBar, and creation of user-drawn Custom Controls. Application interfaced with unmanaged control and analysis code via Managed C++. OO Design and UML, design patterns, refactoring. Working in a disciplined manner in a quality-conscious engineering environment. Following Agile/XP Process with an emphasis on communication. Create design and test specifications. Services and remoting. Application profiling, localisation, deployment. Constant integration - integrate unit tests into build.


I've got a few projects that I'm either working on, or are on the back-burner; they'll appear here once I've tidied them, they are:

Development of a NUnit 2.4 extension (using new extensibility features) to implement data-driven unit tests. Posts and code can be found here, here, and here.

My MSc dissertation: Artificial Immune Systems Applied to System Identification.
MSc coursework: Self-tuning and Adaptive Control.
My third year Physics project (Temperature Driven Flow in the Quantum Hall Effect) - QHE_Final.doc. More information on the Quantum Hall Effect can be found on my old project tutor's page here.



MSc Informatics and Control. Coventry University, pass with Merit. The MSc modules studied:
BSc Physics (hons). University of Warwick. The Physics modules studied:
First year modules: Second year modules: Third year modules:
Mathematics for Scientists Electromagnetic Theory Electromagnetic Waves
Quantum Phenomena Introduction to Fluids Relativistic Cosmology
Relativity Hamiltonian Mechanics Introduction to Synergetics
Electricity and Magnetism Quantum Mechanics Plasma Physics
Thermal Physics Thermal Physics II Elementary Particles and Nuclei
Astronomy Galaxies Quantum Physics I
Waves Stars Statistical Physics
Mechanics A Mathematical Methods I and II Solid State Physics I
Matter Optics Magnetic Properties of Solids
Physics Laboratory Fortran Programming Nuclear Magnetic Resonance
Physics Problems Introduction to Business Studies General Problems
Physics Essay Writing Skills
Experimental Techniques A Physics Project
Experimental Techniques B