Senior Software Developer
I have joined Experian as a Senior Software Developer as a result of the Work Report
product and team acquisition from Salary Finance Labs. Now, as a member of the
rapidly expanding Experian verifications family, we are well poised to further
Work Report and expand upon its fantastic financial service offerings.
May 2022 - Present
Senior Full Stack Developer - 5 months
I joined Salary Finance in December 2021 as a senior full-stack developer working
within the Salary Finance Lab's Work Report team - a collaboration with Experian to
deliver instant verification of employment and income services to lenders on behalf
of financial product consumers across the UK. What was once a manual process
suffering from complexities such as time delays and accuracy issues, has been
revolutionized and fully automated, resulting in instant verification of a
consumer's employment and income information via the National Employer Database
and wide-reaching data partnerships with UK payroll providers.
In my short time with Salary Finance I have been able to provide a substantial
contribution to the Work Report team's successful completion, role out and
subsequent sale of both the Work Report product and team to Experian in May 2022.
As a senior developer for the Work Report team I have broadened my technical skill
set by utilizing:
- Microservice Architectures
- .NET Core 3.1 Web APIs
- AWS DynamoDB
- AWS CodePipeline/Build/Deploy
- Docker
- MySQL
December 2021 - May 2022
Senior Developer - 6.5 years
In June 2015 I joined BigHand as a Senior Developer. During the last six years I've been involved with many exciting and interesting projects
across multiple agile scrum teams, designing, implementing, testing and supporting BigHand’s diverse range of workflow applications:
- BigHand Now
- BigHand Hub
- Service Provider Gateway
- BigHand Insight
- BigHand JavaScript API
- Identity Server 4
I have also been responsible for implementing key features for the BigHand Hub such as:
- Obfuscation of client assemblies
- iManage Integration
- Device Detection
While working with BigHand I've been fortunate enough to expand my experience in both front-end and back-end technologies. The front-end tech
stack includes .NET Framework WPF desktop applications written in C# and XAML utilising MVVM, Unity, Prism and CEF-Sharp to ASP.NET Core and
Angular web applications written in TypeScript. The back-end tech stack consists of .NET Framework Web Services (WCF/TCP) interacting with SQL
Server databases via Entity Framework.
I've also been involved in organizing and implementing dev-ops improvements and practises to the product build pipelines as part of a
Community of Practise.
A Challenging BigHand Project - 'BigHand Insight'
BigHand Insight is a business intelligence and data warehousing project utilizing Microsoft Power BI for reporting dashboards on the front-end.
Microsoft provides plenty of tools and products to help enable such a project, such as SSIS (SQL Server Integration Services), SSAS (SQL Server
Analysis Services) and SSRS (SQL Server Reporting Services) or Power BI for the reports. However, the Insight project is required to support the free,
but limited, SQL Server Express edition. Therefore some of these tools, such as SSIS, are not available to utilize as part of the Insight solution
because they do not support SQL Server Express. This means that elements of the Insight project have had bespoke customisations written in place of using
established packages such as SSIS, which has resulted in both complex development and deployment support challenges.
In business intelligence projects, SSIS is primarily used to automate the Extract, Transform and Load (ETL) process which migrates historical audit data
from source database systems into a single data warehouse that is then used to build useful insights in the form of reports and dashboards etc. Without
the ability to utilize SSIS for the ETL process we had to think outside of the box and plan, implement and test our own bespoke ETL process in C#.
Some of the customisations written for the Insight project include:
- A bespoke ETL process responsible for extracting data from source databases, transforming it into the expected structure and loading it into the data warehouse.
- A thread-polling synchronisation process for the ETL process.
- A caching layer that holds a certain number of table records in memory before performing lookups in the database.
- Additional resilience in the caching layer to be more robust to error cases such as record lookup failures.
- SQL views to tansform complex data into more presentable structures for Power BI reporting.
June 2015 - December 2021
Junior Developer -> Lead Developer - 9 years
After graduating from university I joined BancTec Ltd. as a Junior Developer. Over the course of the next 8 years I progressed into
Mid-Level and Senior Developer roles before becoming a Lead Developer in 2011. While working at BancTec I was responsible for:
- Co-leading both in-house and off-shore .NET and Java CenterVision development teams.
- Designing, implementing and testing the range of BancTec CenterVision applications.
- Researching, prototyping and implementing CenterVision features, change requests, bug fixes and proof of concepts.
- Frequently travelling to a variety of customer sites globally in support of bespoke CenterVision projects such as: Post Danmark in Copenhagen, Public Works and Government Services Canada in Toronto, ScanOptics in Connecticut, UWV in Amsterdam and DBS in Singapore. Involved in design sessions, bug fixing, deployment assistance and production support.
- Working closely with Post Danmark on initial proof of concept sessions resulting in the first signed CenterVision deal for
BancTec.
- Engaging in ongoing collaborations with BancTec's CenterVision QA team in Montreal, Canada.
- Taking lead ownership on other development projects:
- Designing, implementing and testing a CenterVision system-to-system 'Promotion Tool'.
- Integrating FxCop as a coding standards/code quality tool and defining custom code quality rules.
- Creating SQL Server 2005 SSIS packages for Microsoft Visual SourceSafe (VSS) source control database backup procedures.
- Creating CruiseControl.NET build scripts and configured CI, nightly and release builds.
- Source code migration from a legacy VSS repository to a Team Foundation Server (TFS) repository.
A Challenging BancTec Project - 'STDP' · DBS, Singapore
The 'STDP' project for the DBS bank in Singapore was one of the most challenging projects I faced during my time with BancTec. STDP stands
for 'Straight-Through Document Processing' and was the bank's bespoke end-to-end implementation of the CenterVision platform. The STDP project
made full use of BancTec's technology, both hardware (IntelliScan XDS industrial paper scanners) and software (CenterVision) with the intention of
reducing both the processing times and human-intervention required for two of their main streams of work:
- Returned mail envelope processing
- Giro cheque processing
In my role I operated as the Technical Lead for all phases of the project from requirements analysis through to design, implementation, testing and
on-site roll-out of the completed system to various DBS sites located across Singapore (UAT, DR and production data centres). I liaised
daily with BancTec's technical partner in Singapore, DTS, as well as the DBS project managers and operations end-users.
The project was extremely challenging for multiple reasons, including:
- Constantly changing requirements which pushed the goal posts further back while the project had a limited delivery time frame.
- Production deployments had to be on-site only - so no remote connections allowed!
- Production deployments were only allowed between the strict operating window hours of midnight-6am.
- Requesting production system access was extremely challenging and resulted in a lot of waiting while authorization was pending.
- Large time-zone differences resulting in limited remote face to face communication.
Therefore, creativity was required to overcome many of the technical challenges faced, such as finding effective ways to time manage,
troubleshoot, debug and diagnose production issues all within the bank's tight security restrictions that were in place.
After 'STDP' went live, DBS reported great success as they had observed massive efficiency gains:
- Returned mail envelope processing: 20,000 envelopes processed in 1.33 hours, down from 773 hours previously.
- Giro cheque processing: 70,000 forms processed in 4.6 hours, down from 233 hours previously.
September 2006 - June 2015
University Industrial Placement - 1 year
A one-year industrial placement as a member of the Websphere MQ for z/OS software build team at IBM. Key responsibilities were:
- Building and packaging Websphere MQ releases and service packs to tape for the z/OS platform.
- Implementing, modifying and testing build scripts coded in the REXX language.
- Creating, modifying, testing and executing batch jobs on the MVS OS to start the build process.
- Writing supporting applications and utilities to ensure that the software was built and packaged both correctly and efficiently.
August 2004 - August 2005