Contractor - C# WPF ASP.NET MVC NHibernate

Profile

I’m an experienced C#, ASP.NET MVC, Silverlight and WPF contractor, with strong creative skills and a strong experience within the finance industry.
My most significant mission allowed me to design, implement and maintain a Quantitative Analysis and Document Management tool from scratch that is now used by 50+ multi-management analysts around the world, in London, Boston, Paris, Germany and South Africa.
I also had the opportunity to create my own software company, Everydev, in France a few years ago.
On my free time, I’m developing an application for the Windows App Store and Windows 8 using the WinRT architecture among other things.

Skills

.NET C# 7 years
ASP.NET 7 years
NHibernate 6 years
ASP.NET MVC + Razor 18 months
WPF 1 year
WCF 1 year
Silverlight 1 year
Dependency Injection (Unity, AutoFac) 2 years
Rhino Mocks / Moq 2 years
WinForm, Windows Service 3 years
Visual Studio 2005 / 2008 / 2010 + R#
WinRT, Reactive Extensions (Rx)
Database MySQL 5 years
SQL Server 4 year
Web Technologies XHTML / CSS 6 years
Javascript 2 year
Ajax (Microsoft Ajax Framework) 4 years
Environment NUnit, MSpec (Unit Testing)
CruiseControl.net, TeamCity
NAnt, Powershell
Tortoise SVN (Subversion, source control)
Methodologies Object Oriented Programming (00P) 7 years
Design Patterns 7 years
Agile Programming 7 years
Test Driven Development (TDD) 4 years
Various XSLT, SVG, Dundas Chart, Migrator.NET, AutoMapper

Professional experiences

Royal Bank of Scotland (M&IB)

London, July 2012 - To Date

Contractor - Front Office - WPF - [[C#, WPF, WCF, MEF, Caliburn, MS SQL, NHibernate]

www.rbs.co.uk

Front office FX trade booking and reporting used by the Group Treasury.
Merges trades from various systems (Wall Street, Calypso, GlobalFX, GDS…), using the RBS internal messaging system (Argon and Tibco) so the Group Treasury traders have a consolidated view of them.
The application also allows booking simple trades on Wall Street. On the technical side, the client is written in C#/WPF, using MEF, Unity and the Infragistics controls.
The server is written in C#, using a mixture of NHibernate and vanilla SQL/stored procedure for persistence. The communication between the server and the client is using WCF.
Unit testing is mainly done using MSpec (Machine.Specifications), with a few tests using NUnit. The application has more than 7,000 tests as of today.

Bank of America Merrill Lynch

London, April 2011 - To date

Contractor - ASP.NET MVC Developer - [C#, NHibernate, ASP.NET MVC 3 Razor, ExtJS, jQuery, Moq, MS SQL]

www.ml.com

Maintenance of a risk application, developed in C# and ASP.NET MVC, and using NHibernate as its Object Relational Mapping (ORM) framework.
The application interacts with MSCI Risk Metrics, which is a risk analysis web service, and is responsible for loading and reconciling various positions files from custodians, fund managers etc.
Over 5,000 unit tests have been written for this application, using frameworks such as NUnit, Moq, SpecFlow and Selenium.
The web application was originally written in classic ASP.NET and then (partially) migrated to MVC 3 (Razor), and ExtJS (Ext.NET).

Royal Bank of Scotland (RBS Global Banking & Market)

London, January 2011 - March 2011

Contractor - ASP.NET MVC Developer - [C#, NHibernate, MVC 3, AutoFac, ExtJs, MS SQL]

www.rbs.co.uk

Design and implementation of a Human Resource system aiming to replace a multitude of existing systems within RBS and consolidating the data.
The front end is based on ASP.NET MVC 3 (using the Razor engine), and ExtJS.
The back end is C# 4 with NHibernate as the ORM (using Fluent NH for the mapping).
The server side is using my open source project (http://fta.codeplex.com) as a base for the data access layer.
The Dependency Injection framework used for this project is AutoFac.

Royal Bank of Scotland (RBS Global Banking & Market)

London, March 2010 - December 2010

Contractor - Silverlight / C# Dev - [Silverlight, C#, NHibernate, WCF, AutoFac, MS SQL]

www.rbs.co.uk

Design and implementation of a global technology platform which allows the bank to browse content stored in legal and credit documentation.
The Silverlight based software is used around the globe to manage RBS and its subsidiaries contracts and allows netting calculations.

  • The client is based on Silverlight
  • The server is C# 4 based
  • The communication between the client and the server is based on WCF (binary serialisation)
  • The data access layer is using NHibernate, with attribute-based mapping
  • The changes in the database schema are managed by Migrator.NET
  • Entities to DTOs mapping is done using AutoMapper
  • The Dependency Injection framework is AutoFac
  • The Silverlight UI is using Infragistics for the ribbon and other controls

Aspect oriented programming (AOP) is also used to manage NHibernate sessions (transactions), using the PostSharp framework.

The development environment is based on a stack of well-known open source products such as:

  • CruiseControl.NET and NAnt for the continuous integration
  • NUnit for unit testing
  • log4net for logging
  • Rhino Mocks for unit test mocking

The Agile methodology was used throughout the life time of the project, with a 10 minutes stand-up meeting every morning, regular retrospective meetings, Test Driven Development (TDD) was also enforced and code reviews were done before each commit.
I have also scored 100th percentile (worldwide) on the Brain Bench test while applying for this contract.

Credit Suisse

London, November 2009 - March 2010

AVP - Front Office Developer, .NET, Derivatives - [ASP.NET, C#, MS SQL]

www.credit-suisse.com

Design, maintenance and improvements of a derivatives trading platform, used both internally and externally by Credit Suisse customers. The front end was ASP.NET based, with a back end in C#.

BNP Paribas - FundQuest UK (Formerly ‘Investment Manager Selection’)

London, January 2007 - to date (+6 months mission in Paris between Nov. 2008 and June 2009)

C# / ASP.NET Developer - Architect – [ASP.NET, C#, NHibernate, MySQL]

www.invms.co.uk

Design, implementation and maintenance of a Quantitative, Document Management and Trading Web Application.
The system is a complete architectural redesign of an existing intranet, after assessment of its flaws.
This Web Application serves 3 main purposes, and 3 categories of people:
  • Quantitative analysis tool (for Quants) (Performance reports, custom graphs, funds management, peer groups, statistics)
  • Document management (meeting and research notes, attachments, full text search on content, complex search facilities)
  • Trading system (Management of all FundQuest UK trading, reports, portfolio valuations, links with some electronic trading systems (EMX))
These are some of the areas of the system that I've been designing:
  • Core architecture: I've brought NHibernate for the Data Access Layer, and pushed for the use of a source control tool (SVN), along with a Unit Testing tool (NUnit)
  • Performance: The most challenging aspect of the application: all the calculations are made on the fly, using a combination of caching, high-performance stored procedure, and pre-fetching of information
  • Charting: I've introduced Dundas Chart, and implemented most of the pages using this library
  • Web Pages: I've introduced the use of master pages, as the previous project was using frames
  • Security: I made most of the pages viewable in a "read-only" mode, with a combination of techniques I designed
  • Documents: All documents can be linked to any entity (funds, users, universes...), and all their content are indexed

British Telecom Plc

London, 2006 - 2007

C#/ASP.NET Developer - [ASP.NET, C#, VB.NET, DotNetNuke]

www.bt.com

  • Development of a portal (http://sdk.bt.com) in ASP.NET using DotNetNuke. Deployment, testing, and writing of a sample application using the new BT SDK.
  • DotNetNuke is written in VB.NET, but all additional modules that have been made were developed in C#.
  • The programming method used was Agile, with 3 months cycles and 2 weeks iterations.
  • We also used the continuous integration procedure.

Everydev

Evreux, 2004 - 2007

Associate and Co-founder - [C#, WinForm, ASP.NET, MySQL]

www.everydev.fr

Foundation of a computer services company, in December 2004.
Associate at 49%.
Responsible for the technical parts:
Development of an online and offline backup software in C# (FaciloSave) : www.facilosave.com, Between 500 and 1000 downloads per week on the most famous French download website (www.telecharger.com).
This software include the following technologies :
  • Windows Service, Remoting (to communicate with the service), Encryption : backup data are encrypted, Compression : backup data are compressed
  • Localization : the software is available in French and in English
  • Networking (Sockets, serialization): to communicate with the server in the case of online backup: a proprietary protocol has been designed (based upon .NET sockets implementation, streams and serialization) to transfer data from client to server.
  • Development of the company website in ASP.NET (www.everydev.fr)
  • Website developed in ASP.NET with code-behind in C#
  • The link between the business layer and the database is done through a data base layer using NHibernate (an Object Relational Mapping framework based on Java’s Hibernate framework).
Managed a trainee during summer 2005.

Intuition Informatique

Evreux (France), November 2003 - December 2004 and 3 months full time in the summer of 2003

Development and deployment of a management software - [C#, MySQL]

www.intuition-informatique.com

Part-time job in this company, 14h per week along with my studies, as a programmer, website designer, and system administrator.
The main task was to build a management software to manage their assistance contracts :
  • Development of this software in C#
  • Integration with an ERP software (EBP Gestion Commerciale), allowing the software to get clients information from the proprietary database
  • Conception and implementation of the MySQL database of the product.
The software is now used everyday by 5 technicians, and handles thousands of contracts.

Education

Oxford Brookes University

Oxford, Sept. 2005- June 2006

Master (MSc) in Computer Science

www.brookes.ac.uk

Modules taken : Web Technologies (XHTML, CSS, Perl, XSLT, SVG), A.I., Computer Assisted Software Development (B Method).

Supinfo Paris

Paris, Sept 2003- June 2005

Graduated in July 2006

www.supinfo.com

Supinfo is a three year engineering school, resulting in a European Master in Computer Science

CPGE TSI

Rueil-Malmaison, France, Sept. 2001- June 2003

Cours préparatoires aux grandes écoles

Math sup/Math spé preparing French students for the Grandes Ecoles (mainly in physics and mathematics).

BAC STI (French A-Level)

Rueil-Malmaison, France, July 2001

BAC STI génie Electrotechnique

BAC STI at Passy-Buzenval, in Rueil Malmaison.

Interests and Hobbies

Leisure

  • Sports : Rollerblading, skiing, swimming, British Military Fitness
  • Hobbies : Reading, poker

Valid XHTML 1.1

Valid CSS!