Dean Chalk

Document Sample
Dean Chalk Powered By Docstoc
					Dean Chalk
Senior .NET Developer
WPF / Winforms / C# / Investment Banking

Curriculum Vitae (Contractor)
October - 2010

Contact Info:

Home: 01233 841925
Mob: 07500 016265

I am a very experienced .NET developer (WPF / Winforms / C#) specialising in enterprise-
strength GUI development utilising technologies such as WPF, Winforms and Silverlight
I have an in-depth technical and practical understanding of OO development in just about
all .NET technologies, including the following:

       Core Technology Skills
      WPF / Winforms (Click-Once/XBAP – C#)
      GUI Frameworks (MVVM, Prism, CAL, CAB)
      In Depth CLR Knowledge including Garbage Collection and Multi-Threading
      3rd Party WPF Control Suites, including Telerik and SyncFusion
      Consuming Live Data Feeds, including WCF duplex contracts and bespoke Java
      Unit testing via NUnit, XUnit, TFS
      F# language programming

       Other Areas of Significant Experience
      Microsoft Silverlight v1,2,3,4 (C# / XAML)
      Microsoft WCF + Webservices/SOA
      ASP.NET (C#) / Ajax / JavaScript, DHTML & CSS
      ADO.NET / XML / MS SQL (T-SQL) (SQL Server 2000/20052008)
      Strong ASP.NET MVC Framework knowledge.
      O/R Mapping (Linq-SQL, Entity Framework, OpenAccess)
      Excellent OO design skills, including design patterns

Current Toolset

      Microsoft Visual Studio 2008/2010 (C# & F#)
      Microsoft Expression Blend 2/3/4
      Microsoft SQL Server 2005/2008
      Jetbrains Resharper for VS2008/2010)
      Redgate Reflector
      Snoop for WPF
      LinqPad

3rd Party UI Control Packages

      Telerik (Winforms/WPF/Silverlight)
      SyncFusion (WPF/Winforms)
Additionally, I have worked for some time in Agile/XP/Scrum teams that practice test-
driven development (via Team Foundation Server – TFS and Subversion source control)
and continuous integration (TFS/Cruise-control)

Additional information can be found on my blog at

Employment History

UBS Investment Bank
Jan 2010 -

At UBS I am the senior WPF/Winforms GUI developer in a multi-location development
team (London, New York, Mumbai). I am working on a high-performance, real-time trading
and analytics tools for UBS’s Convertible Bonds business.

The solution is a mixture of legacy Winforms controls (20%) and newer WPF GUI code
(80%) built upon a bespoke MVVM implementation, utilising some of Microsoft’s
‘Composite Application Guidance’ (Prism), and Microsoft IoC Unity Contiainers.

We are currently moving the application to an all WPF/MVVM solution which includes
significant refactoring, as well as retro-fitting of comprehensive unit tests.

A significant challenge of the project is to integrate a legacy API to a high-performance
bespoke Java-server data feeds via TCP sockets, which includes live data updates in very
large virtual data sets. This has to be integrated into WPF grid technology (SyncFusion)
utilising a multi-threaded approach and virtual ‘viewports’.

Part of the solution is being implemented in F# for easy parallelism (all trader desks are
pre CLR4)

I work with team leads, as well as directly with the trader desk.

ButtonChrome Ltd (Financial Services Software)
Feb 2009 – Jan 2010

At ButtonChrome my role was to develop an enterprise-strength ecommerce platform and
framework suitable for large-enterprise web based sales.
The public-facing technology framework was built using ASP.NET MVC and included
extensive controller libraries for interfacing some of the leading credit card payment
gateways including Protx/Sagepay, WorldPay and PayPal.
The backend administration system was built on Silverlight 2, WPF and ASP.NET
The Silverlight and WPF clients where built on top of Microsoft patterns & practices
‘Composite UI’ block (Prism), and implemented the MVVM (Model-View-ViewModel)
architectural design pattern.
We also included Telerik GUI technologies for Silverlight, WPF and ASP.NET.
Technologies specialised in at ButtonChrome include:
       WPF (Click-Once & XBAP), including Telerik UI Controls for WPF
       ASP.NET MVC
       Silverlight 2/3, including Telerik UI Controls for Silverlight
       Winforms, including Winforms Control hosting in WPF
       Multi-threaded Thick Client on Winforms & WPF
Merrill Lynch
Jan 2008 – Feb 2009

I was a senior developer in Merrill’s GTM (Global Transaction Management) division. My
role was to continue the development of a middle-office trade capture and management
workflow system, which is based on Tibco technology (IProcess workflow), but has both
WPF/Winforms and ASP.NET user interfaces developed in .NET framework (2.0, 3.0).
Also, I have written ‘Proof of Concept’ versions of the ASP.NET/AJAX GUI in both WPF
(XBAP) and Silverlight 2.

I was tasked to apply my extensive .NET development expertise into the following areas:

      Refactor Winforms app to WPF + provide better multithreading support for live
      Enhance existing ASP.NET application to allow deployment to web farm, plus
       support custom handler factories. Project includes extensive AJAX development.
      Help improve SOA web services by extending domain pattern implementation
      Retro-fit extensive unit tests to allow for Agile/TDD within a continuous
       (CruiseControl) environment.
      Create and demonstrate Silverlight 2 and WPF (XBAP) ‘Proof of Concept’
       applications as potential replacements for poor-performing ASP.NET/AJAX user
       interface of middle-office application.
           o Provide functional ‘mock-ups’ in both WPF and Silverlight using Expression
                Blend and VS 2008
           o Upgrade ASMX to WCF, and implement duplex channels for callback
                notifications (Silverlight)
           o Evaluate 3rd Party DataGrids from XCeed and Telerik.
           o Investigate GUI patterns for WPF/Silverlight, including ‘Model-View

Goldman Sachs (London) – Investment Banking Division
July 2007 – Jan 2008

I was a senior developer in the Investment Banking (IBD) division. Applications being
developed / maintained include a Multi-threaded Winforms app to provide bankers with
financial reporting. Keys skills used include:

      Smart client, multi-threaded development in Winforms
      Web service development and maintenance.
      Data layer refactoring to utilise GS framework technologies
      Multi-threaded windows service / SQL server 2005 development
      Excel VBA analysis for conversion into .NET apps

Royal Bank of Scotland (Bishopsgate) – Global Markets and Banking
July 2006 - July 2007

I was part of a large UK/India team responsible for a complete re-write of RBOS’s Global
Banking and Markets CRM.
The year-long project included the development of an ASP.NET (web-farmed) application
server, a back-end SOA web-service for object data, and a number of multi-threaded
Winforms apps for data/security administration.
All projects were written using C# (CLRv2.0), and SQL Server 2005.
As one of the ASP.NET UI specialists, I focussed on the development of key user-interface
technologies including:

      Implementing Ajax/Atlas call-back technology for a ‘postback-free’ user experience
      Building custom controls with bespoke data-binding technology.
      Implementing a custom MVP pattern to facilitate more extensive unit testing.
      Complex client-side features including context-menus, type-ahead textboxes and
       several custom DataGrids for bulk data editing.

As well as this, I was also a key participant in architecting / implementing the domain-
object pattern on the SOA webservice, as well as being involved in T-SQL optimisations
within our SP’s.
During the final part of my contract, I created a demo version of the user interface in
Windows Presentation Foundation (WPF), using .NET 3.0 extensions for VS2005.
As one of the more experienced Winforms developers, I also architected and developed a
number of multi-threaded Winforms apps to be utilised by support staff, enabling them to
manage data-synchronisation, message queues to compliance systems and email auditing.
The team consisted of 15 developers (of which I was one of the senior members), and was
run utilising Agile/SCRUM methods including test-drive development via TFS and cruise-

Bank of New York (Canary Wharf) – Fund Management
Jan 2006 - July 2006

Lead Developer and team leader for several business critical C# / .NET applications (both
ASP.NET and Winforms).
The development team were responsible for number of support systems related to BONY
fund management businesses.
Running a small team utilising Agile / XP methodologies, we maintained existing systems
as well as develop from scratch new systems, focusing on the following deliverables:

      Multi-threaded Winforms apps for monitoring and managing a number of real-time
       business critical systems.
      Sophisticated ASP.NET applications to support core business processes.
      Developed Windows Services applications that enable sophisticated task scheduling
       in a robust and secure environment
      Web Services (Utilising WSE 2/3 for security) for coarse grained partial SOA
      .NET remoting for enabling Winforms apps to manage Windows Service
      All above developed utilising test-driven development techniques (NUnit) and
       principles of continuous refactoring (via refactoring tools).

To achieve the above, we focused on the following technologies and approaches

      Framework V2 (VS 2005) for all development, taking full advantage of new
       language features including Generics, Iterators, Nullable Types etc
      Infragistics UI Controls (2006 vol 1)
      NUnit, and Resharper for refactoring / testing
      SqlServer 2000 / 2005 (managed/unmanaged SP’s)
      All development aligned with good OO principles, as well as use of design patterns
       and UML.

Kent County Council
Jul 2005 – Jan 2006

Joined KCC on a fixed short-term contract to assist in the development of ASP.NET
applications as part of the government’s e-Gov initiative.

I was lead developer responsible for developing applications within a service-oriented
architecture, and this included the following components:

   1. Web Service applications – developing message-based (domain object oriented)
      web services utilising Microsoft’s WSE2 web services extensions. All applications
      were configured for WS-Addressing and WS-Policy for authentication.
   2. Administrative applications used by KCC staff to manage data via coarse-grained
      web services
    3. Public-facing applications providing a variety services to the citizens of Kent, in-line
       with the e-Gov initiative. This included the development of a web control
       framework which extensively utilised 3rd party control libraries (Infragistics)
    4. Winforms based administration applications for managing web services and other
       SOA plumbing (utilising Infragistics)
    5. Winforms apps for managing captured data and processing e-Gov tasks (via K2
       custom workflow server). This included lots of Infragistics development.
    6. Evaluation and appraisal of release versions of Visual Studio 2005 and SQL Server
       2005 – including:
           a. Evaluating new language features, including Generics, Nullable Types etc
           b. Testing existing Control libraries for compatibility with CLR 2.0
           c. Testing .NET upgrade wizards, for moving up to CLR 2.0
           d. Evaluating the impact on existing Web Services, and compatibility between
               Generics and existing custom collections.
           e. Document processes for moving existing Stored Procedures to CLR hosted
               procedures (SQL Server 2005).

Much of this architecture was designed to operate asynchronously, so it was required that
parts of many solutions integrated with Microsoft Biztalk and Microsoft CRM.

I was also heavily involved in the technical discussions of designing and writing a set of
framework technologies for future and ongoing development within KCC.

Transport For London (London Underground)
Jan – Jul 2005

My time at London Underground was spent as a senior/lead developer involved in 2 major
projects (team leader and technical lead):

Railway Timetabling System (RTS)

The project involved converting a legacy application (C, Ingress) to ASP.NET and
WinForms. The project was a high-availability enterprise-strength application allowing a
large team of staff to compile passenger and engineering timetables for the entire London
underground network.

Asset Management System (SSTA)

SSTA project (ASP.NET) is a large-scale .NET project that is responsible for assimilating all
asset data for London Underground including PPP Infraco’s. The system was a data
warehouse used for analysing Asset usage and Asset conditions across the entire network.
The ASP.NET UI included the use of Infragistics 3rd party controls

Common Services

TFL have a common services team who provide the following services to other
development projects

    1. SOA – London Underground are building a number of web services to enable the
       delivery of common data and domain objects via .NET and SOAP. This project
       involved developing new web services to support new green-field projects as well
       as modifying existing projects to enable them to take advantage of the new SOA
       framework architecture.

    2. Common Libraries (Framework development) – London Underground’s common
       services team were also responsible for building a rich set of libraries which
       included UI ‘custom controls’ as well as business object libraries for re-use in a
       variety of enterprise projects.

    3. Application Architecture – London Underground projects are developed utilising an
       in-house strategic application architecture based upon domain objects and a
       ‘delegate oriented’ approach. This enabled all projects to adhere to a common
       multi-layered environment using C# delegates for domain object integration.

   4. Visual Studio 2005 - Develop prototype .NET technologies to take advantage of the
      new Framework V2 (Beta only).

ACE Insurance Europe Ltd
Mar - Oct 2004

I was contracted to ACE for the purpose of being lead developer and team leader in the
development of a pan-European web-based insurance rating service, to be used by ACE
brokers and underwriters.
The project consisted of 3 products:

Insurance rating engine (codename ‘FirstRate’) –

This web-service application was part of the company’s SOA (service oriented architecture)
and was responsible for calculations including complex financial data (including many
sophisticated statistical functions) and producing rating information for the consumption of
the rating web application (via web services).
Key technologies used include (all C#):

      ASP.NET web services
      Excel VBA app conversion utility
      .NET remoting (for communication to legacy apps)
      ADO.NET in DB2 environment
      Microsoft SQL Server application block for .NET

Insurance rating web-app (codename ‘ACEii.NET’)

This web application was written primarily as a framework technology that allowed
experienced users to deploy their own web-based rating UI (via PManager) and
functionality, via extensive use of ASP.NET custom controls and Infragistics NetAdvantage
UI suite.
Key technologies include (all C#):

      ASP.NET    web application
      ASP.NET    web services
      ASP.NET    Custom Controls and User Controls
      Granular   security framework via Forms Authentication

Insurance application deployment tool (codename ‘PManager’)

PManager was developed as a windows application that allowed experienced users to
create web-based rating applications for deployment on ACEii.NET . The application was
written as a Windows Forms application, using Infragistics controls for the UI.
Key technologies include (all C#):

      Microsoft Windows Forms application
      .NET remoting
      Multi-threaded application development
      Infragistics NetAdvantage controls
      Windows custom control development.

Cable and Wireless Telecom / KPMG
Jul 2003 – Mar 2004
Tasked with migrating legacy ColdFusion apps to the ASP.NET platform (using C# and
Oracle 8i / Microsoft SQL server 2000), I was responsible for all development and
architecture work, including the management of user acceptance testing.

The applications developed include:

       On-line service provisioning system, based on SQL Server 2000 and Computer
        Associates eTrust directory, plus linking to backend infrastructure systems via XML
        and TCP sockets.
        (includes ASP.NET remoting, COM wrappers and LDAP interfaces)
       Intranet timesheeting application.
       Internal on-line management reporting system.
       Employee management systems (various).

COI Communications (RAF Careers CMS)                    Feb – Jul 2003

I built an enterprise-strength Content and Media-Asset management system for the RAF
careers office via the COI (government procurement organisation).
The project has involved building from scratch an advanced CMS that will enable RAF staff
to maintain the organisation’s website and intranet systems.
The CMS includes advanced content management, metadata services, a granular security
framework as well as sophisticated workflow and task-management systems.
The entire solution was built by myself in ASP.NET ( C# ) plus SQL server 2000, and was
deployed in a clustered environment.

Binary Vision Ltd
Oct 2002 – Feb 2003

I was contracted by Binary Vision Ltd to build a large enterprise-strength Content
Management System (CMS) for a major government department using Microsoft’s ASP.NET
technology. Utilising my previous experience of building CMS in ASP.NET, I created from
scratch a complete web based system, designed for Enterprise use. The CMS consisted of
the following functionality.

       Content and Media-asset management
       Granular security framework
       Metadata services
       Workflow and Task-Management system
       Personalisation services
       Scheduling and content auditing.

Successfully deployed, it was designed to be used by a large government department to
manage their online content and media assets.
The project included the following .NET technologies:

       Web-based .NET custom and user control development
       Development of transactionally safe business objects, deployed in an N-Tier
        environment (using web services).
       Implementing a forms-base security framework, integrated with a session-state
        external server.
       Integration of 3rd party products (EWebeditPro)

Scottish Agricultural Sciences Agency (SASA)
Aug - Oct 2002

I was originally contracted by SASA to report on the feasibility of migrating an existing
ColdFusion / Spectra CMS to new technology. After an exhaustive review process I
proposed the building a bespoke CMS (Content Management System) in ColdFusion MX,
and the migration of the existing Spectra content and media assets into the new system.
My contract was then extended to allow me to build from scratch a new CMS for the
agency. The new System was to be built on ColdFusion MX with Microsoft SQL2000 as a
database server. The CMS needed to be supportable in a clustered environment. After a
10-week build and testing program (all completed by myself) they had a CMS that met all
of their expectations. A further week was required for me to write scripts to migrate the
existing Spectra-based content into the new System. Over 300 SASA staff now use the
CMS to create and manage a number of important Government websites.

CHC Computer Horizons Europe Ltd
Jun 2001 – Jul 2002

I was on contract with CHC for over a year as a senior ColdFusion/Spectra developer /
My main role at CHC was to architect and provide lead/team development skills to projects
requiring bespoke advanced CMS solutions in ColdFusion and Spectra from client
‘Functional Requirements’ documentation.

Some of the projects are as follows:

HM Treasury                                              ColdFusion / Spectra CMS

I was in the team that architected and was developed an Enterprise level ColdFusion /
Spectra application that would deliver a content management solution to the UK
Government’s Treasury department.
The solution was designed to allow a number of treasury staff to manage web-based
content via a cluster of 3 ColdFusion enterprise servers and Microsoft SQL 2000.
The solution was written in ColdFusion utilising Allaire’s ColdFusion-based E-Business
framework (Spectra).
After helping develop the initial architecture, I was part of a small team of developers and
created a sophisticated CMS that fulfilled the client’s requirements. I was personally
responsible for writing over 60% of the code for this application.

Portsmouth County Council                                ColdFusion / Spectra CMS

Taking the Treasury ColdFusion / Spectra product as a starting point, I lead a development
team to develop a CMS for Portsmouth County Council that would allow civil servants to
deliver web content to the council’s main website. The main difference between this
implementation and the Treasury product is that Portsmouth required some re-
development of the original workflow system and user management functionality.

Pfizer Pharmaceuticals Ltd                       ColdFusion / Fusebox3 CMS/Intranet

I lead the team that architected and developed over a 4 month period an ‘Enterprise’
weight CMS in ColdFusion / Spectra, utilising the ‘Fusebox’ structured methodology. As
part of a team of developers, I helped design the solution as well as coded about 50% of
the Fusebox modules (fuses) for this application. In total about 1200 fuse modules were
coded for this application. The final implementation consists of 2 servers, 1 for Pfizer PPG,
the other for Pfizer PGM.
The solution also used Macromedia Spectra as an interface to an Object Database (on MS
SQL 2000), using a subset of Spectra’s COAPI tags

Odyssey International Productions                        ColdFusion / Fusebox3 CMS

Taking the Pfizer product, I helped design a set of new lightweight Spectra COAPI tags in
ColdFusion to allow Spectra to be removed from the solution. We then implemented the
solution on Oracle 8i for Odyssey.
The Odyssey solution was designed to allow Football clubs in the Irish football league to
manage their own ‘microsites’ on the CMS, so I architected and wrote a sophisticated
microsite manager to complement the existing core CMS framework.
The solution is being deployed on a single enterprise server (Windows NT), and a single
Oracle 8i server (Solaris).

SaiInfo PLC
Dec 2000 – Jun 2001

I was originally hired for a 2 week contract to review a £1.1million project developed by
Booz-Allen Hamilton for SaiInfo. The product was an on-line business portal built in
ColdFusion and SQL server 7.
The reason that SaiInfo requested the review was because Booz-Allen was unable to fix a
number of bugs in the system within a reasonable time-frame. Booz-Allen was quoting an
eight week project to ‘reengineer’ the application that they had already spent 8 months
Within 2 weeks I had not only written my appraisal, but also had fixed all outstanding bugs
which allowed the product to be released on time.
Saiinfo then agreed to extend my contract so that I could develop, with the help of a team
of 2 junior ColdFusion developers, a number of additional features to the product, which
would have been cost-prohibitive to develop with the original solution provider (Booz-
I convinced them to allow me to completely re-write the product in ColdFusion / FuseBox,
as the original product did not scale well as was not robust enough to cope with the
additional functionality.
Within 8 weeks we had finished a more scalable and faster version of the product which
included all requested new features.
During the remainder of my contract, I Architected and designed an ASP (Application
Service Provider) product in ASP.NET using Microsoft C# as the main development
language. This solution would allow recruitment companies to run their businesses via a
browser interface, communicating with my application on a large .NET cluster in London.
The product delivered a sophisticated portfolio of recruiter features including CV databank
management and Client/Candidate workflow modules.

BugWork Ltd
Jan 1994 – Dec 2000

I was Technical Director for BugWork Ltd, which was a small company developing a variety
of solutions in ColdFusion for medium to large recruitment companies in the UK.
My primary responsibilities were:

      Client technical meetings and consultancy
      Solution Architecture
      ColdFusion development (with the help of a junior developer)
      Macromedia Flash Actionscript development
      Technical support

BugWork’s portfolio of products (all of which I developed) included:

      ASPrecruiter – an ASP based business solutions for recruitment companies
      RecruiterWEB – a macromedia Flash website product which gathered live data via
       an XML interface to ASPrecruiter / NetRecruiter
      NetRecruiter – an in-house business solution for medium/large recruitment
       companies to run their recruitment solution in-house on CF servers

Shared By: