Better software through software architecture and devops

@jamessnape

Experience


  • Designer/Developer (Personal Project)

    snape.me blog

    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



  • Group Manager (Solution Architect)

    Avanade

    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.

    Support for All

    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.

    An NHS Organisation

    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.

    UK Insurer

    Working as the delivery lead for an off-shore team to provide resource for this insurer for their IFRS-17 analytics transformation.

    Examination Board

    Presales and solution for a company looking to add media portal capabilities to their existing cloud platform.

    Oil & Gas Technology Company

    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.

    Managed Services for Financial Service Company

    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



  • Engineering Lead 

    Hitachi Vantara

    Practice role accountable for:

    • Development standards
    • Skills management
    • Learning & development
    • Team capabilities

    Skills:  agile



  • Senior Manager (Data & Integration Architect)

    Hitachi Vantara

    Data and Integration Architect for a Healthcare Patient Flow and Optimization project:

    • Responsible for overall solution data and integration architecture
    • Designed low-latency kappa style solution for monitoring and control of patient flow
    • Designed and implemented HL7 event processor with Azure Function and CosmosDB
    • Integrated machine learning models to ensure timely predictions on length of stay, admission risk etc

    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



  • Senior Manager (Business Intelligence Architect)

    Hitachi Vantara

    BI Architect with hospitality client:

    • Designed an architecture to simplify a data mart and reporting solution
    • Reduced monthly Azure OpEx costs by half
    • Designed reliable low-latency data pipelines using EventHub and Stream Analytics
    • Designed data-lake governance structures
    • Mentored consultants as they transitioned from traditional development to business intelligence
    • Regular presenter at customer’s weekly architecture forum

    Technologies:  SQL Server, Azure DevOps, Azure Functions, Data Factory, Stream Analytics, Event Hub, Data Lake, Power BI



  • Senior Manager (Business Intelligence Architect)

    Hitachi Vantara

    BI Architect at a retailer:

    • Designed an architecture move from IaaS to PaaS
    • Created automated build, test and deployment within Azure Devops
    • Reduced lead times from over 50 days to 10
    • Led off-shore delivery team
    • Implemented a json configuration solution for SSIS and SQL Agent jobs

    Skills:  Data Vault

    Technologies:  SQL Server, C#, PowerShell, Azure DevOps, Azure, Data Factory



  • Senior Manager (Pre-sales Consultant)

    Hitachi Vantara

    Pre-sales consultant with the following engagements:

    • Insurance Underwriter – Tableau dashboards
    • Store card / credit card company – big data analytics
    • Credit card company – data architecture
    • Investment bank – data science
    • Investment bank – regulatory reporting
    • Dutch bank – IT compliance reporting

    Skills:  technical presales

    Technologies:  SQL Server, Tableau, PowerShell, Azure, Hadoop



  • Senior Manager 

    Hitachi Vantara

    Agile Coach, Data Visualization for a bank

    • Created common work item development model combining TFS and JIRA data
    • Provided insight into customer delivery processes
    • Created visualization dashboards for senior management

    Skills:  Kanban, Scrum, Data Visualization

    Technologies:  SQL Server, Tableau, JIRA



  • Senior Manager 

    Hitachi Vantara

    Technical architect for retail payment simplification:

    • Designed an architecture for payment simplification
    • Created automated build, test and deployment within Azure DevOps

    Technologies:  SQL Server, C#, Specflow, PowerShell, Team Foundation Services



  • Senior Manager 

    Hitachi Vantara

    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.

    • Optimized analytic query performance against a data vault schema
    • Created a logical data model covering LCR, ALMM and AnaCredit banking regulations

    Skills:  Data Vault, regulatory reporting

    Technologies:  SQL Server, SAP Power Designer



  • Solutions Architect 

    BNP Paribas

    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.

    January 2012: Fixed Income Business Intelligence (Solution Architect)

    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:

    • Traditional up front solution architecture during project initiation and early iterations
    • Agile just-in-time architecture as requirements move up the backlog, keeping technical debt under control
    • More recently to look at 1-2 year and future increments to the existing architecture in order to adapt the product to changing business needs

    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:

    • Data quality – this is more of an enterprise architect role as it involved proof of concepts, tool selection and roll out to the entire business.
    • Time to market – I’m doing a lean analysis of our current development process in order to reduce waste and deliver features faster.
    • Solution consolidation – given recent reorganisations it has become necessary to consolidate business intelligence solutions from other parts of the business.

    I provide consulting to other project teams on Reporting Services, Analysis Services, Tableau and business intelligence solution delivery.

    January 2011: eCommerce Business Intelligence (Solution Architect and Development Manager)

    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



  • Business Intelligence Consultant 

    Microsoft UK

    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:

    • BNP Paribas (Foreign Exchange Trading)
    • Nationwide (Batch payment processing with Integration Services)

    Skills:  dimensional modelling, data warehouse design, business intelligence

    Technologies:  SQL Server, Integration Services, Analysis Services, Reporting Services, Data Visualization



  • Application Development Consultant 

    Microsoft UK

    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:

    • Aggreko (Business intelligence architecture and performance)
    • Visa (Development process, application platform strategy)
    • Barclays Capital (Business intelligence)
    • Co-op Retail (Application design)
    • Volutio (Office development)
    • Nationwide (Analysis Services performance and dev process)
    • Xchanging (Business intelligence)
    • Winterthur Life/Axa (Development process, application architecture and design)

    Skills:  performance tuning, build management, stakeholder management, office development, application architecture, software design, development process, architecture reviews, software consulting



  • Program Manager 

    Exony

    Software architecture and project management for Exony’s reporting and analytics platform.

    Exony was bought by eGain in 2014.

    March 2006: Development Manager

    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:

    • Architected, implemented and deployed the sit-up.tv auction system
    • Designed and implemented a SQL/OLAP installer tool to cut Exony’s upgrade and patching costs
    • Gathering requirements from France Telecom
    • Architect and project management for the latest release of Exony’s reporting platform, recently installed for a US government department’s call centre
    • Writing MS Reporting Services rendering and delivery extensions

    April 2001: Exony Gateway (Architect)

    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.

    May 2000: INsight Call Centre Management (Project Leader)

    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



  • Senior R&D Engineer 

    Sony Broadcast & Professional Europe

    Software design and development on video server, video editor and dvd authoring systems.

    April 1999: DVD Authoring (Project Leader)

    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.

    November 1998: DVD Market Research

    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.

    May 1998: Concept Editor (Project Leader)

    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.

    May 1997: Digital Non-Linear Editing (Project Leader)

    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.

    January 1997: Server Integration Feasibility Study (Project Leader)

    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.

    June 1996: Daily Server Hot Standby (Project Leader)

    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.

    September 1995: Daily Server (Research & Development Engineer)

    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.

    April 1995: Sony/Oracle Gateway (Research & Development Engineer)

    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.

    January 1995: Journalist Workstation (Research & Development Engineer)

    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.

    August 1994: Daily Server (Research & Development Engineer)

    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



  • Student (Computer Systems and Electronics, B.Eng)

    Kings College, London

    Focus on the design and implementation of software systems. This is a 3 year, B.Eng course but credit from my time at Imperial allowed me to complete in 2 years.



  • Student (Electrical and Electronic Engineering)

    Imperial College, London

    Focus on the design and application of large and small scale electronic systems. This is a 3 year, B.Eng course.

    Note: I did not complete this course as I transferred to Kings so I could shift my focus to computers instead.



  • Pupil (New House)

    Repton School
    YearSubjectLevelGrade
    1990MathsA-LevelB
    1990PhysicsA-LevelB
    1990ChemistryA-LevelA
    1990ElectronicsA-LevelC
    1989MathsAS-LevelB
    1988ChemistryGCSEA
    1988PhysicsGCSEA
    1988BiologyGCSEA
    1988English LanguageGCSEC
    1988FrenchGCSEC
    1988HistoryGCSEC
    1988GeographyGCSEC
    1988Craft, Design & Technology (CDT)GCSE*
    1988English LiteratureGCSED
    1987MathsO-LevelB
    1987Religious EducationO-LevelC

    (*) These results were a very long time ago so I can’t remember some of the grades.