I have a broad experience with many techniques and technologies but also deep technical expertise with SQL Server and, in particular, business intelligence solutions.
I work best under pressure and love nothing more than to jump on a whiteboard and work directly with customers to create solutions for complex problems.
I have an aptitude to quickly learn new products, technologies and businesses.
I am particularly interested in developing processes and skills for lean architecture and solution delivery.
I’ve been blogging on and off for 20 years now. Originally I hosted my own version of dasBlog; in fact its Tricoleur theme was created by me. For simplicity I moved to a managed blog at http://wordpress.com but always found the support for code highlighting lacking.
When I had some time over Christmas, I decided to rebuild this blog using standard web technologies so I could own both the code and content published. This is the result.
Technologies:  Astro JS, Tailwind CSS, Svelte, HTML, TypeScript
Solution Architect for the Modern Application Transformation team.
Solutioning at Avanade starts in pre-sales; involves solution planning, contracting, and carries right through to delivery. Some highlights include the following.
Solutioned and delivered an OfWat Water Innovation Challenge winning project to design and build a hub for securely storing and sharing priority register data between utilities so that vulnerable customers will automatically receive help even where their details are missing or out of date.
With a number of deals and deliveries, I have worked with this organization for two years to help identify issues within their current delivery process, run workshops to create solutions and deliver a DevOps Excellence roadmap for the future.
Working as the delivery lead for an off-shore team to provide resource for this insurer for their IFRS-17 analytics transformation.
Presales and solution for a company looking to add media portal capabilities to their existing cloud platform.
Presales and solution for a company that wanted to move a custom Python data solution previously running from an employee’s desktop to a production solution in Azure cloud. This was primarily an architecture review with subsequent recommendations for a final solution.
Client wanted to transition their microservice solution to a managed support model within Avanade. I provided technical expertise and advice during presales to ensure that all the relevant tools and technologies were included within the deal. Hosting a series of workshops to transfer knowledge from the client teams to Avanade I was able to build up a complete solution description with minimal available documentation.
Skills:  System Integration Solution Architect (SISA), DevOps, Agile, Lean, Workshops, Deal Shaping / Pricing, Solution Development, Contracting, Estimation, Stakeholder Management, Proposal Development
Technologies:  CosmosDB, Azure Functions, Service Bus, Cognitive Search, Ordinance Survey Address Base, Azure DevOps, Azure Media Services
Practice role accountable for:
Skills:  agile
Data and Integration Architect for a Healthcare Patient Flow and Optimization project:
For more on this project see The digital tools that could save the NHS and AI-enabled Healthcare Systems CDT Seminar.
Skills:  agile
Technologies:  Azure DevOps, Azure Functions, CosmosDB, Event Hub, HL7
BI Architect with hospitality client:
Technologies:  SQL Server, Azure DevOps, Azure Functions, Data Factory, Stream Analytics, Event Hub, Data Lake, Power BI
BI Architect at a retailer:
Skills:  Data Vault
Technologies:  SQL Server, C#, PowerShell, Azure DevOps, Azure, Data Factory
Pre-sales consultant with the following engagements:
Skills:  technical presales
Technologies:  SQL Server, Tableau, PowerShell, Azure, Hadoop
Agile Coach, Data Visualization for a bank
Skills:  Kanban, Scrum, Data Visualization
Technologies:  SQL Server, Tableau, JIRA
Technical architect for retail payment simplification:
Technologies:  SQL Server, C#, Specflow, PowerShell, Team Foundation Services
Data Architect on site at a Dutch bank working on regulatory reporting (LCR, ALMM, COREP etc).
Responsible for delivering data architecture related to regulatory risk and finance reporting for a Dutch bank. This primarily included analysis of regulator’s requirements, data modelling and data performance. Previous banking knowledge was essential. Primary deliverable was a data vault integration layer capable of supporting all risk and finance functions for the entire bank at group level.
Skills:  Data Vault, regulatory reporting
Technologies:  SQL Server, SAP Power Designer
When I first arrived at the bank whilst working for Microsoft there was little or no FX business intelligence capability and much of the business was run from departmental Excel spread sheets.
On the back of the successful FX data warehouse delivery below the project is expanded to cover the whole of fixed income (FX, interest rate and credit products). The team size increased to match and the architect/manager role is split into two. I preferred to concentrate on architecture.
This is a complex project due to the large number of data sources and a requirement to conform dimensions across business lines where there has been no cross product data governance.
Given the length of the project, this role has covered:
I also mentor developers and leads with design and code reviews, pair programming sessions, process advice and knowledge sharing sessions on techniques and technologies.
More recently we have expanded the scope of the project to include a big data/Hadoop cluster and some master data functionality. I am currently working on three sub-projects within the scope of business intelligence:
I provide consulting to other project teams on Reporting Services, Analysis Services, Tableau and business intelligence solution delivery.
This is a dual role consisting of solution architecture and team management. As architect I meet regularly with the business to discuss and address their concerns with business intelligence solutions created by my team. I spend time selling the product, educating the business and negotiating architectural trade-offs. Even though a certain amount of pragmatism is required in the fast paced nature of investment banking I keep the product vision on track and moving towards the target architecture.
As team manager I look after a team of 8-10 developers and 1-2 business analysts. We work in 2 week scrum sprints delivering value back to the business regularly.
I also have line manager responsibilities such as staff development, annual reviews and goal setting.
Skills:  capital markets, fixed income, foreign exchange
Technologies:  SQL Server, Analysis Services, Integration Services, Tableau, JIRA
I advised customers on how to get the best from their business data. The role includes everything from data acquisition and cleansing through data warehousing to reporting and data visualization.
Customers include:
Skills:  dimensional modelling, data warehouse design, business intelligence
Technologies:  SQL Server, Integration Services, Analysis Services, Reporting Services, Data Visualization
Working with a broad range of customers from small ISVs to large enterprises, and engage in all aspects of the development lifecycle from requirements and architecture through performance and scale testing.
Work includes reviewing application design or specific code, helping to troubleshoot problems, writing code samples, delivering training, and anything else involved with software development.
In the course of my day-to-day activities I cover virtually every Microsoft technology but specialize in .NET, development process and business intelligence.
Recent customers:
Skills:  performance tuning, build management, stakeholder management, office development, application architecture, software design, development process, architecture reviews, software consulting
Software architecture and project management for Exony’s reporting and analytics platform.
Exony was bought by eGain in 2014.
I oversaw most of the projects at Exony from an architectural and management perspective whilst also acting as the project manager for our Business Intelligence reporting product. This is a web-based product used in all the major UK telcos for both enterprise and hosted call centre BI. I also maintained my SQL, DTS and C# skills by developing some of the features.
Some of the projects I completed at Exony include:
The Gateway is Exony’s integration product. It consists of an XML processing pipeline in the core with a multitude of equipment specific connectors allowing us to connect most telecoms equipment such as ICM and voice response units to back-end customer systems. The product performs a similar role to Microsoft’s BizTalk, but within the real-time constraints imposed by telecoms. It is usually deployed in a hosted mode so there are internal application firewalls to make sure processing from one customer can not affect the other customers running in the same application instance.
My role on the project was to create the initial architecture and implementation.
INsight is a web-based call centre system that allows agents to view charts and statistics on various operational aspects. The project is a typical n-tier application distributed across a number of servers. The main communications schemes used in the system are: HTTP, XML, COM and OLEDB.
Again, I was the main product architect.
Skills:  requirements gathering & analysis, application architecture, software design, customer centric selling, project management, call centres, integration platforms
Technologies:  Javascript, CSS, HTML
Software design and development on video server, video editor and dvd authoring systems.
This project was a single and multi-seat DVD authoring system with two main aims; to build a market-beating product and introduce a number of new high level authoring concepts.
The product architecture is based around a C++ framework that can host ActiveX controls in dockable windows and provides a number of services to the application in the form of COM objects. A traditional COM based document object model provides structured storage persistence and the ability to script. XML descriptions of the DVD are generated and passed to the multiplexer for DVD creation. The multiplexer used a combination of XSL and script components to create DVD binaries. DVD data is then injected into a DirectShow filter graph for preview.
My main role was application architect and project lead.
This was a short investigation into the needs of the DVD authoring market. This was at a time when there were only a few companies creating DVDs in the UK and Europe. It was difficult to ascertain these needs but I concluded that the DVD production market would follow a similar trend to that of CDs but much more rapidly. Christmas 1999 would be the main consumer discovery of the format. This investigation also enabled me to build and maintain a number of relationships with DVD authors useful in my next project.
This was a pure research project to provide a basis for Sony’s next generation of non-linear editors. This involved the analysis, design and implementation of a modular system that could be used in a number of product configurations from news to post production. The modularity of the system also enabled research to be carried out on a number of new editing techniques.
The project was to port an existing product from Window 3.1 to NT 4.0. In addition, we were required to refactor the existing code base into a maintainable architecture and add new customer requirements.
The first port took only two weeks before the system was running under NT. However, due the existing code structure and many new features required, I persuaded my manager to allow me to take a different approach. The system was redesigned and the existing code was pulled across in small sections. This allowed the quality of the system to be maintained whilst new features were added to the system.
This project also enabled me to build the capability of the three graduate team members, two of which were promoted soon after project completion. The original product used low-level access to the parallel port. I wrote the NT kernel mode driver to give this functionality to the system.
The project was a very short study to prove that it was possible to integrate Sony’s three server products (On-Air, Daily and Archive) into a single hierarchical storage management system. Each of these products had been implemented by different groups within Sony and had widely different data models and communications.
I abstracted both data and communications to produce a common server model and implemented DCOM adapters for each of the servers. The COM interfaces were then used as a basis for a universal client.
After the initial delivery of the video server, the customers requested the addition of a dual hot standby fail over system. This was a very challenging project as fail over had not been part of the original requirements specification and the back-end device control systems had no redundancy built-in. I developed a mechanism for fail resistant RPC, socket communication and database replication. The resulting system was similar in design to the Microsoft Message Queue server that exists today.
I was then transferred back to the Daily Server project to take responsibility for the database subsystem. This involved implementation of SQL Server schemas, stored procedures, triggers and C++ wrapper classes using ODBC.
Approximately half way through the project the system was sold to NHK (Japanese broadcaster) to be used as a content transmission server. This changed the entire focus of the project but enabled me to adapt the database to cope with both scenarios.
After a successful demonstration, I was asked to develop the product with Oracle. Whilst Oracle took over the Journalist Workstation, I designed and implemented a loose replication server between the Journalist Workstation and Daily Server using SQL Server Open Data Services.
The project was a joint venture with Oracle to produce a networked clip editing and script writing tool for television news journalists. I was brought on to the project to work with the existing engineer to produce a practical demonstration at the National Association of Broadcasters trade show that I attended in April.
I was very lucky to join the department at the start of their first major software project and was immediately involved with the system analysis and architecture team. We used Rumbaugh’s Objective Modelling Technique (OMT) to architect a video server for television news organisations.
Skills:  requirements gathering & analysis, application architecture, software design, video & broadcast technologies, video editing, DVD authoring, object oriented analysis & design, project management
Technologies:  Visual Basic 6, C++, Win32, COM / ActiveX, DirectShow