Download PDF

Work experience

Jan 2008Present

Senior Software Developer


Madgex is the leading provider of job board software in the UK.  Since starting as a Senior Developer in January 2008, I have worked with the support team on fixes and enhancements, led 3 projects and assumed responsibility for CV Search & Match, a core component of their job board product.

I am a member of the Architecture Group which meets regularly to discuss improvements to the design of the Madgex Job Board software and to our development processes generally.  I am also a member of the Performance Steering Group.  In 2009 I won the best Hack Day Idea for a custom Crystal Reports reporting solution, and again in 2010 for automating deployments using WebDeploy.

Project: CV Search & Match (C# ASP.NET Developer)

The latest addition to the Madgex portfolio, CV Search & Match is a feature-rich CV database. Job seekers upload their CV which is parsed into structured data for storage in a database.  The data is then indexed by the third party Actonomy xMP search engine.  Recruiters can find candidates that exactly match their requirements by specifying search criteria or uploading a job description.  The application is built using an in-house ASP.NET MVC-like templating engine.

  • Architected and wrote many of the OO domain objects in the core C# libraries
  • Improved caching using the new .NET 4 System.Runtime.Caching library
  • Wrote the search code to interface with the Actonomy xMP web service
  • Dependency injection using IoC Windsor containers
  • LINQ to simplify retrieving and manipulating collections of objects

Technologies used: C# ASP.NET, VS.NET 2008/2010, SQL Server 2005, Eclipse, NHibernate, Web Services, Sovren, SynchFusion, Subversion, CruiseControl, LINQ, JQuery.

Project: Incisive Media (C# ASP.NET Developer)

Madgex won the contract to provide the software to power 7 of Incisive Media’s high profile recruitment sites including Computing Careers, Accountancy Age Jobs and Legal Week Jobs.

As lead developer I was responsible for architecting a solution whereby all sites could share a common code base yet retain presentational differences.  Working with a small team of developers, this was achieved by splitting the C# code into libraries which could be referenced from the website projects.

  • Daily conference call with client to report on progress
  • Allocation of work and bug fixes to team members
  • Scripted test data to facilitate alpha testing and UAT
  • Enhanced the standard web service used by recruiters to post jobs on the site

Technologies used: VS.NET 2005, C# ASP.NET, Web Services/soapUI, SQL Server 2005, SQLDelta.

Project: Job Board Data Migrator (Architect, C# ASP.NET Developer)

Traditionally, data migrations at Madgex involved writing bespoke applications for each project.  When I was given the task of migrating the data for the United Business Media sites (,, etc.) I wanted to produce something that could be re-used.

Using the ASP.NET Provider Model, I was able to abstract custom logic into a ‘Migration Data Provider’, which could be plugged into a data migration application simply by changing a configuration setting.  My application was been adopted throughout the organisation and used for all data migrations.

  • Providers can be written for any data source: to date there are several providers for SQL Server databases, one for Postgres and one for XML files.
  • For new migrations, developers need not write any code to save data to the target database; this is handled by the Migration Engine which provides rich logging and feedback on progress.

Technologies used: ASP.NET Provider Model, Microsoft AJAX Control Toolkit.

Sep 2005Dec 2007

IT Consultant

Darwin Consultants

As part of this small consultancy based in Brighton, the wide variety of projects that we took on meant it was essential that I could quickly learn new technologies and work unsupervised on my own initiative.

Project: St James Project Management System (VB ASP.NET Developer, Analyst, Designer)

St James Group Ltd use the bespoke PMS to organise their multi-million pound construction projects.  To make the system easier to deploy, the Commercial Director wanted to migrate from their existing Windows application to the web.  My involvement began at the initial ‘kick-off’ meeting, through the design, build, test and deployment phases.  Since the first release, I have specified, designed and built a number of enhancements to the system.

  • Fast, responsive and rich user experience achieved using AJAX controls, Yahoo! Interface Library, client-side JavaScript, multi-threading and data caching
  • Page sizes kept to a minimum by optimising images, careful use of viewstate and minimal mark-up
  • Exception handling and logging using the proven Microsoft Enterprise Library
  • Clever state management using a combination of session and custom XML settings file
  • Sophisticated data import and export using the Excel Interop library
  • Scalability enhanced by storing session state in a SQL Server database

Technologies used: VS.NET 2005, ASP.NET, SQL Server 2005, Microsoft ASP.NET AJAX Control Toolkit, Microsoft Pattern & Practices Enterprise Library, JavaScript, Yahoo! Interface Library.

Project: Youth Justice Board eAsset (C# ASP.NET Developer)

eAsset is the Youth Justice Board’s register of young offenders.Keymedia were chosen to redesign the application and, with the help of Darwin Consultants, produced the templates that would be used by their internal developers to build the application.

  • Translated the XHTML templates provided by Keymedia into ASP.NET masterpages
  • Produced custom skins for the Telerik Rad Tabstrip and Grid controls
  • Developed custom user controls to encapsulate common functionality and eliminate code duplication

Technologies used: VS.NET 2005, ASP.NET Masterpages, CSS, Telerik RadControls.

Project: Close Investments (DotNetNuke Developer, Web Server Administrator)

The website for Close Investments ( uses the powerful DotNetNuke open source content management system, administered via a bespoke user-friendly interface.

  • Converted page designs into DotNetNuke skins
  • Wrote custom modules for disclaimer pages, news stories and contact forms
  • Wrote custom navigation provider for main menu
  • Set up the web server on which this and other sites now run

Technologies used: DotNetNuke, IIS 6, VS.NET 2005, VB ASP.NET, SQL Server 2005.

Aug 2001Sep 2005

Data Analyst/Programmer

The Pensions Regulator

I joined The Pensions Regulator on a temporary basis when I returned from a year travelling in Australia. My initial role consisted of office admin, but I quickly progressed to application development. For my first major project, I modelled and developed a Microsoft Access database to store and summarise information about employers who had failed to pay their employee’s pension contributions. When this system was upgraded to use SQL Server 2000, I led a team of 3 developers from the design and modelling phase through to final implementation.

Dec 1998Jun 2000

Web Producer

Keymedia Design

Employed as a freelance Web Producer, I was involved in all stages of web production from conceptualisation, through the design phase to final HTML implementation and client training.


Sep 1989Jul 1992

2:1 BSc (Hons)

University of Sussex


SQL Server


  • Senior C#.NET/SQL Server developer with over 10 years commercial web experience
  • Thorough with an attention to detail and focused on delivering a quality product
  • Excellent communication skills


Cycling: I have been touring in many countries, most recently Poland and Iceland.  I ride regularly with the Brighton Mitre road cycling club and compete regularly in road and off-road events.

Photography: I like to combine travel with photography and have a large number of pictures online at