Jan 2004 - Present
Senior Software Developer
October 2018 – Present
Senior Software Developer
October 2013 - September 2018
- Created Product Explorer, an application for exploring the Thomson Reuters product and entitlement hierarchy. Scheduled jobs written in C# collect data from a number of sources, including FTP sites and web services. The data is stored in a SQL Server database and presented via a web front end written in HTML, AngularJS and C# / Web API 2.
- Worked on Product Studio, a Business Process Management (BPM) portal for the Product Creation and Maintenance group. The portal, written in C# / ASP.NET MVC 4, allows users to launch business processes, allocate and complete tasks, run reports and administer permissions. The C# code talks to an Activiti BPM backend using RESTful web services.
Senior Software Developer
October 2012 - September 2013
- Worked on i-Balancer, an enterprise-scale futures and options reconciliations platform for identifying, capturing and resolving imbalances in trades, positions and prices between exchanges, brokers and internal systems.
- Designed and developed framework for collecting and importing data from global exchanges, brokers and clearing houses.
Technical Architect / Senior Developer, Reuters Messaging Real Time Monitoring
November 2010 - January 2012
- Designed and developed portal for operations and support teams to monitor the Reuters Messaging service.
- Real time monitoring provided by the portal has significantly reduced the number of Reuters Messaging service disruptions by identifying abnormal performance counter trends, allowing team members to take preventative action.
- Liaised with stakeholders to determine requirements.
- Designed and developed multi-threaded C# Windows Service to collect and collate statistics including real time performance counter data, server configurations and the status of IBM Tivoli Storage Manager backups.
- Alerts sent to subscribers when performance counter thresholds are breached.
- Bespoke content management system allows users to publish content to the portal.
- Test driven development using NUnit and TestDriven.NET.
Technical Architect / Senior Developer, Reuters Messaging Compliance Manager
September 2009 – October 2010
- Designed and developed portal for Reuters Messaging Compliance Manager (RMCM).
- The portal allows compliance managers to setup active and passive compliance rules, determining who a user can talk to and whether their actions are logged.
- Worked closely with the business throughout the project lifecycle, from requirements gathering to implementation.
- Three-tier architecture implemented with a presentation tier of internet facing ASP.NET websites, an application tier of IIS servers hosting business objects and a data tier consisting of SQL Server 2005, file systems and Active Directory. WCF used for presentation / logic tier communication.
- A load balancer allows the presentation and application tiers to be scaled horizontally to ensure high availability and resilience.
- Project was run using agile software development methodologies, including scrum, pair programming and test driven development (NUnit and TestDriven.NET). CruiseControl.NET was used for continuous integration.
- Managed two portal developers and liaised daily with colleagues working on other parts of RMCM.
Technical Architect / Senior Developer, Reuters Messaging Interchange
Sep 2008 – Aug 2009
- Reuters Messaging Interchange (RMIC) is an instant messaging hub that connects Reuters Messaging with other enterprise instant messaging (EIM) systems.
- Designed and developed administration portal for RMIC.
- The portal allows company administrators to configure their EIM connectivity with the hub, setup intercompany blocking rules and run usage reports that show who users in an organisation are talking to.
- Three-tier architecture implemented with a presentation tier of internet facing ASP.NET websites, an application tier of business objects hosted by IIS and a data tier consisting of SQL Server 2005, file systems and Active Directory. .NET Remoting used for presentation / logic tier communication.
- A load balancer ensures high availability and scalability.
- Designed and developed multi-threaded C# Windows Service to configure Live Communications Server (LCS) and Office Communications Server (OCS) access proxy servers following configuration changes made in the portal.
.NET Technical Lead, Reuters Hosted Product Portal
July 2004 – July 2008
- The Reuters Hosted Product Portal (RHPP) allows clients to run applications such as Reuters 3000 Xtra over Citrix.
- The portal consists of an external internet facing site where clients login and launch applications and an internal site used by Reuters staff to administer users, run reports and publish alerts.
- 35,000 active clients use the platform daily, which consists of over 500 servers.
- The multi-tier architecture and a load balancer ensure the portal is scalable and resilient.
- A presentation tier of ASP.NET websites talk to .NET Remoting objects hosted by IIS in an application tier, which talk to the data tier components including SQL Server 2000, file systems and the Active Directory.
- Managed three developers.
- Processes followed include continuous integration through in-house scripts that compile source code and generate installation packages, code refactoring and pair programming.
- Involved throughout project life cycle, from gathering requirements and writing technical specifications to architecting and coding solutions.
- Developed a C# Windows Forms application to troubleshoot client connectivity problems with Reuters Data Centres. Network statistics are charted in real time via custom controls written in C# using GDI+ and persisted to a database for future investigation by Reuters support staff.
SimCorp (formerly Bank of America)
Senior System Development Consultant
April 1998 – June 2004
- Re-architected the code base and updated the user interface of the company’s flagship treasury management product, IT2. These changes contributed significantly to increased sales of IT2 and brought about a more agile development environment.
- Technologies used include Visual Studio 6 / 2003, C, C++, STL, MFC, COM, ADO, Win32 and SQL.
- Converted much of the legacy code base from C to C++, separated business logic from presentation logic and replaced the dialog based user interface with a multi-threaded grid driven user interface.
- Grid controls (known as workbenches) were written from scratch using MFC and Win32 and support multiple levels of sorting, grouping, filtering and real time update.
- Designed and developed interactive flow charts known as process maps, which are used within IT2 to guide users through complex treasury tasks.
- Managed and mentored junior developers.
- Actively participated throughout the product release life cycle, from obtaining business requirements and writing technical specifications to creating and testing code.
- Capability Maturity Model (CMM) level 2 / 3 software house.
University of Liverpool
PhD, Medical Imaging, Pure Mathematics, Computer Science
1994 - 1998
Thesis entitled "Computer interface for convenient application of stereological methods for unbiased estimation of volume and surface area: Studies using MRI with particular reference to the human brain". The computer interface, written in C++ / MFC, is used to this day by research staff in hospitals and universities to estimate brain surface area and volume.
University of Liverpool
MSc, Pure Mathematics
1993 - 1994
Attended lectures on subjects such as linear algebra and advanced calculus. Developed C programs running on Silicon Graphics machines to aid the visualisation of 3D surface features. This work resulted in the discovery of a new theorem, published in the book Geometric Differentiation.
University of Manchester
BSc, Computer Science and Mathematics
1990 - 1993
1983 - 1990