Programming web pages, web services and windows services in .NET (specifically C#)
Some experience with Python
Some experience with ReactJS
Database Schema Design
Software Component Design
Analysing customer and user requirements
Writing software specifications
Managing a small number of contractors
Mentoring junior developers
Checking code adheres to coding standards using software tools, checking code adheres to good programming practises such as implementing design patterns and general OO principles.
Implementing unit tests on appropriate projects
I achieved my MCSD qualification in 2009.
I achieved Certified Scrum Master in May 2018
Coral Insurance Services Ltd
Working within a full Agile process (Sprint Planning / Sprint Retrospectives / Daily Scrum / Backlog Items / Burndown / Software Releases) whilst using Team Foundation Server online to plan and manage day-to-day workload. My day-to-day duties include BAU fixes and changes to Claims Datawarehouse and Claims Management System. Development is done using Visual Studio 2013 Premium (with Visual Studio 2008 for SSIS programming), Team City for continuous integration, Octopus Deploy to automate code deployment, database development and deployment using the Redgate toolset (Data Compare, Schema Compare, SQL Source Control, Multi Script) and Code performance analysis with Redgate ANTS profiler. · Led a project to extract all the data out of the proprietary Claim System (Proclaim) and populate a SQL Server database. This included an investigation of the different methods of extracting data from the system. I was given the responsibility of designing and creating the relational database following full analysis of existing user screens and data structure. This ended up being an evolving project because Proclaim was a black box. I wrote the majority of the .NET code including an initial set of unit tests and a test harness. This was done to verify extract logic one table of data at a time. This also quickly highlighted when particular claims had data missing or had data inconsistencies. The project required endless hours comparing flat structure data to new relational structure data (to make sure nothing had been missed and all data relationships were correct). This highlighted issues of data integrity within the claims system. I used NHibernate as the database access technology. · Led a project to upload claims details to CUE (extracted from the claims data warehouse database). I designed the software components in Visio and decided on the namespaces. Created a proof of concept project that wrote a data file containing claim information and automated the ScriptFTP to FTP the file to CUE. Tried to do this project in a TDD way. · Created an intranet ASP.NET MVC4 website that communicates with Ministry of Justice web services to collect personal injury claim information. The information is presented on-screen using JQGrid allowing users to update locally held information and generate MI reports. I was responsible for the look and feel of the website and coding the business, data and service agent classes. These classes were built with IoC in mind so when it came to writing the unit tests (which were written after each “layer” was complete) there was not so much refactoring involved and the tests didn’t take so long to write. · Converted Java high volume insurance wrappers (5000 quotes per minute) to .NET, making use of WCF, ActiveMQ and storing the results in the existing insurance quotes SQL Server database. I designed the software components in Visio and decided on the namespaces. This involved getting Polaris setup on my local development machine, figuring out how to call it from .NET, investigating different queueing technologies (MSMQ and ActiveMQ). I wrote the code skeleton (web service to receive message, quote controller to build the Polaris quote message and perform the call to Polaris, write the message to the queue, Queue consumer to retrieve the queued message and persistence class to write the quote to the database), wrote the unit tests and then tested as I filled in the code skeleton. The code had to be lightweight due to the number of messages it had to handle. I used Redgate ANTS Profiler to check for any runaway processes and memory leaks – this led to a change in database access technology from NHibernate to ADO.NET and reduced the amount of logging that was being done. Altered SSRS to handle a variety of different metrics to be reported on. · Worked with business analyst to identify development in the Claim System and analyse replacing Auto Windscreen import process with a solution in .NET. · Made changes to existing Quote message processing code – when quote xml messages changed, altered database schema and data access code (ADO.NET), added new unit tests, checked changes through different environments successfully. · Made changes to existing EDI message processing code – when new values were added to EDI message, altered database schema and data access code (ADO.NET), added new unit tests, checked changes through different environments successfully. · Install, setup and configure new server for MI databases. Moved 2TB of databases in to SQL Server 2014 Business Intelligence edition, setup all user accounts and reconfigured replication. · Setup and configure new UAT server for Polaris. Altered an existing deployment tool to deploy to this server first before deploying to the LIVE servers. · Day-to-Day support of proprietary Claim System with fixes and development. The way the software was written didn't enforce data integrity and problems arose because of this. I learned how to cleanse the data, writing the procedures I used as I went and then oversaw the data cleansing carried out by a junior colleague.
skills used: jQuery, ASP.Net, C#, SQL Server, AJAX, UML, XML, XSLT, Networking
Between April 2014 and January 2015 FMS developed the APIs for www.bypost.com. This included integrating the Judopay mobile payment system, integrating communication using Twilio texting service, implementing paypal AJAX adaptive payments, accepting orders and payments from various ByPost.com apps (Android and IOS), communicating with a 3rd party image ordering website, copious amounts of code refactoring (by centralising repeating code and implementing standard best practise – reduced one code file 25%), creating back-end order fulfilment websites (extensive use of JQGrid) for various ByPost.com apps (Christmas Tree, Stocking Filler, Sweet Jar, Get Squared)
skills used: jQuery, C#, SQL Server, XML
Lightstone Interactive Ltd
Senior Developer / Team Leader on a range of websites and services for a variety of financial industry clients. These included EpiServer CMS website for Lazard Aset Management, "web 2.0" elements of the main website for Alliance & Leicester, loan calculator XML service for Alliance & Leicester, mortgage affordability calculator for Alliance & Leicester and data warehouse project for pay-per-click affiliates for Alliance & Leicester.
Fearn Marketing Services Ltd
Contract Developer - complete online techincal skills testing and management. Multiple restyled microsites for various customers (www.e-validator.com/omnium, www.e-validator.com/capgemini). As a director of Fearn Marketing Services at the time, my involvement covered the entire project lifecycle.
Meadows Partnership Trust
Contract developer - complete project lifecylce involvement. Short Design discussion and planning with customer, build and development, testing, live setup and configuration. Built using Umbraco CMS. Includes contact form, photo gallery and events calendar.
skills used: ASP.Net, XSLT, C#, CMS, Project Management, XHTML, jQuery
Eve Taylor Ltd
Contract developer - complete project lifecylce involvement. Design and planning with customer, build and development, testing, live setup and configuration. Integration with Barclays EPDQ payment gateway.
Senior Developer. Full re-development and build based on specifications supplied by project managers and marketing department. The website designed to use Ajax Control Toolkit and JQuery "web 2.0" elements. Uses Realex payment gateway. Interacts with a number of 3rd party services. XML SOAP interation with insurer brokerage system.
Location flexibilityWithin Peterborough.
Within United Kingdom.
Length of contractDays.