- Microsoft Dynamics 365 including Online edition
- Microsoft Dynamics CRM 4, 2011, 2016
- Microsoft Sharepoint Server 2010, 2013
- Microsoft Azure
- .NET Framework 2.0-4.7
- .NET Core 1.0 + 2.0
- WinForms, WPF w/ MVVM, ASP.NET WebForms, ASP.NET MVC
- SOAP/REST web services, WCF, Remoting, Reflection, P/Invoke, COM Interop, multi-threading
- ADO.NET, Entity Framework, LINQ-to-SQL, nHibernate, ADO.NET Data Services, MS Synchronization Framework, MS Enterprise Library
- Unit testing (MSTest, MBUnit, moq)
- Debugging and performance/memory profiling
- Source control (Git, SVN, TFSVC)
- Build automation (MSBuild and VSTS Team Build)
- Windows PowerShell, VB.NET (read only), VBScript Windows Scripting, Lotus Notes/Domino LotusScript
- XML including use of DTD, schema, XSLT and XPATH
- Windows COM, WMI and ADSI
- MS-SQL Server 2000/2005/2008 incl. T-SQL and T-SQL query optimisation
- Crystal Reports and SQL Server Analysis Services (limited) and Reporting Services
- Regular expressions
- Setup and deployment (Windows Installer MSI, WiX, ClickOnce)
- Windows Server 2003-2016 on x86/x64
- Ubuntu Server 16.04
- Highways Defect Reporting - End to End integrated Customer Portal and CRM process.
- Customer Care System Dynamics CRM 2011 implementation - %gt;Confidential< County Council
- Customer Portal removal from Sharepoint Platform and rebase as standalone ASP.NET application - London Borough of Havering
- Infrastructure rebuild - London Borough of Waltham Forest
- Parking Permits Application and Management System - London Borough of Newham
- Integration and SSO for Council Tax/Benefits Web Portal with existing Customer Portal - London Borough of Havering
- Rented Property Licensing Online Application System - London Borough of Newham
A skilled NET architect and developer possessing a wide range of development skills and also broader support and administration experience. My recent commercial experience is centred around Dynamics 365 and Microsoft .NET, but I am not a one-trick pony and I have a proven track record of being able to get productive quickly when faced with a new challenge.
Excellent analytical and problem solving skills gained through diverse working experience. Customer focused and driven to produce quality work to deadlines whilst achieving the best balance between business value and technical excellence.
I am particularly interested in using my experience to help development teams improve their working processes to deliver better products and improve service to their customers.
C#.NET (Since 2004)
EDUCATION AND QUALIFICATIONS
Sept 2000 – Jun 2004: BSc/Hons Computer Science (2:1), University of Salford
Specialist areas: Software Development. Windows Programming.
Apr 2003: Sun Certified Systems Administrator (Solaris 8 OE)
Feb 2013 – Current: Independent Contractor, RNW Solutions Ltd
June 2017 - Current: Customer Portal for <confidential> Council Council
Architected and lead the develpoment of a customer facing portal allowing customer to log their service requests with the council, and receive updates to those cases automatically from the existing CRM system. Created a facility to allow web content authors to define the forms, using an existing forms building package (FirmStep forms) and have the resulting submissions integrated automatically into the CRM system through a integration application hosted on Azure using Azure Service Bus for messaging. Assist with design and implementation of OpenID Connect SSO factility for customers to allow customers to use their existing website sign in details to access this new application.
Nov 2016 - June 2017: Dynamics 365 Online Upgrade for <Confidential> County Council.
Lead the development of an upgrade project transitioning a Dynamics CRM 2011 system comprising several end-to-end integrated processes, to Dynamics 365 Online. Re-architected integration platform from Biztalk on-prem to an a system based on Azure Service Bus drastically simplyfying the running costs, maintainability and administrative burden of the system.
May 2011 – Feb 2013: Senior Technical Consultant, 2e2 UK Ltd (Microsoft ISV)
Project: Solution Architect, London Borough of Newham Customer Access Programme
Architected a complex CRM solution tracking enquiries and interactions with thousands of customers. The solution comprised Microsoft Dynamics CRM 2011 with Sharepoint 2010 for document storage, ASP.NET Forms /MVC for custom UI and integrated with many pre-existing back office systems using WCF, Biztalk and MSMQ.
System was architected with an initial core providing an overall framework for the solution and modules implementing specific business processes. This allowed for phased delivery of the programme and for work on each of the projects implementing a business process to be happening in parallel, in order to meet the customer’s tight deadlines.
Delivered initial workshops to agree on scope of business process specific projects, provided a high level design and budgetary estimates to customer. Supported the sales process to secure the work with presentations to business users and technical stakeholders. Delivered designs for the key elements of the solution such as ERDs and data dictionaries for the entity model, solution component layering diagrams. Documented use cases as SysML activity diagrams and user stories.
Managed a geographically distributed team of permanent staff, UK and offshore contractors delivering the solution. Projects were delivered using an agile methodology working directly with the customer’s business people and delivering working releases on a frequent basis whilst being able to react efficiently to changes in requirements and problems during development. Monitored development activity performing code reviews, mentoring junior members of the team and ensured the quality of the delivered artefacts exceeded internal and contractual standards.
Designed a public facing website enabling customers to self-service their enquiries. Forms were constructed dynamically using a combination of an XML configuration language (defined using XML schema) and CRM entity metadata. This allowed business processes to be replicated efficiently on the website with minimum effort once implemented within CRM. The application was loosely coupled with the CRM system allowing it to scale to meet the peaks in demands and to be available even during CRM downtime.
Project: Solution Architect, Working Links CRM Project
Architected a CRM solution to support introduction of the UK government individualised learner record (ILR) system into the customers’ business processes.
Designed a business rules engine to perform real time validation of learner data allowing rules to be designed by super users using a Excel formula-like syntax. This was designed to reduce the cost and effort required to implement and test quarterly rule updates issued by the involved government agencies. A formal LALR grammar was specified for the rules and a parser implemented using the Irony.NET Language Implementation Kit (a modern alternative to YACC). An expression execution engine was designed to execute the resulting expression trees and produce the desired output. Development of the parser and expression execution engine was driven using TDD and a comprehensive unit tests. After initial implementation, performance of the engine was tuned using performance profiling to identify and refine the bottlenecks discovered in the design.
Feb 2009 – May 2011: Senior Developer, Figure Out, 2plan Group (Financial Services)
Senior member of a team responsible for delivery and maintenance of line-of-business WinForms/WPF applications. Worked directly with customers to design and develop systems meeting strict compliance criteria and to provide maximum benefit to their business. Included work on winning systems for “Technology IFA of the year”.
Gained team management experience by leading projects through all stages of development with a team of junior developers. Prioritised and assigned tasks, monitored work and provided progress reports to stakeholders.
Architected a smart client framework supporting several applications. This allowed data to be replicated locally to a SQL Express database allowing the user to go offline.
Introduced database version control and upgrade system to increase quality of deployments. Created test and staging environments to enable stakeholder and deployment testing. Successfully reduced number of deployment related issues and increased number of bugs being detected before release.
Jan 2008 – Feb 2009: Application Developer, Manheim Europe (Automotive)
Worked in a challenging large team responsible for delivery of a business critical application used to run auctions throughout Europe using C#.NET, WinForms, MS-SQL, .netTiers and Crystal Reports. Personally responsible for customisation and rollout of the application to several auction centres in Portugal including several on-site training and support visits.
Led re-architecting of existing code base to allow localisation and internationalization, to improve maintainability and enable automated testing. Delivered documentation and training for other developers and ensured ongoing compliance with new strategy.
Jul 2006 – Jan 2008: Application Developer, J N Bentley (Construction)
Part of a small team responsible for delivery and maintenance of internal software using C#.NET, WinForms, MS-SQL and Lotus Notes/Domino. Responsible for the full development lifecycle of analysis/specification, design, testing, rollout and support. Designed and implemented an electronic accounts payable workflow system to replace a paper based process. Included integration with existing finance system and innovative automatic processing system using OCR and structured data extraction. Successfully increased efficiency and reduced operating costs by automatically processing around 40% of invoices.
Jun 2004 – Jul 2006: Infrastructure Analyst, J N Bentley (Construction)
Administration and support of a Windows network infrastructure for a challenging distributed workforce. Support, troubleshooting and bug fixing of custom business applications hosted on Lotus Notes/Domino and Access/MS-SQL.
Developed software (mainly C#.NET and VBScript) for departmental and integration use including a remote screen-sharing support system, file synchronization system and an XML based system used to automatically exchange data with large utility company client systems.
Jul 2002 – Sept 2003 (Industrial placement): Systems Engineer, Sun Microsystems (Computer Systems)
Administered and supported a test data-centre of several thousand hosts used by the global engineering team to support enterprise customers. Responsible for recreating complex customer hardware/software environments including large clusters and SAN setups. Developed software to help manage the laboratory including a PHP/Java based web front end providing a simple interface to reserve, provision and access test laboratory equipment.