Tracy-Gregory J. Gilmore BSc (Hons)

Principal Software Engineer and Technical Architect

Professinal Summary

I have extensive experience in the development and delivery of bespoke enterprise-scale applications. The majority of my career I have worked in the UK defence sector, sometimes directly for defence agencies but also in conjunction with many large prime contractors. I have held roles in all aspects of the Software Development Life Cycle (SDLC) but now concentrate of frontend architecture and development.

In recent assignments I have lead development teams providing both technologically and procedurally guided the software development process. I also performed an architectural role orientated about the frontend development. This required me to coordinate between UX designers, System Engineering architects, Test and integration teams and developers. I also liaised between database, backend and frontend developed to ensure a coherent end-to-end solution was maintained through successive feature enhancements.

My skill set is broad but in recent years has focussed on web technologies and I have an in depths understanding of web standards, development methodologies and design principles.

Education & Qualifications

  • BSc (Hons) Computer Science 2:1

    University of Wolverhampton

  • BTEC HND Computer Studies

    Wolverhampton Polytechnic

  • ISEB (ISTQB) Testing Foundation

Employment History

  • CGI Group Holdings Europe Limited

    Senior Consultant
    (Principal Software Engineer)

  • University of Wolverhampton,
    School of Computing and IT

    Senior (Software) Technician

Personal Interests

  • Contribute to the webs site:
    Trophy Tracker
  • Contribute to Open-Source projects:
    Moment JS (RFC282), Uglify JS
  • Write posts on Computer Science and functional programming
  • Monitoring evolution of web standards
  • Teaching (individual and group)
  • Power kite flying

Accomplishments

Large scale web (2.0) application, pre-AJAX/XHR

My first enterprise web-based application not only demonstrated the value of adopting standardised technologies but also how a well-designed system architecture can deliver considerable longevity.

Over an eighteen-month period, I was one of the technical architects of an innovative web application. Years before the term AJAX (Asynchronous JavaScript and XML) was coined, we created an application using MS IE 5.5 and the Microsoft.XMLHTTP ActiveX component. The combination of these components established a platform for developing application User Interfaces, capable of exchanging XML data between the client and server (over HTTP) without the need to refresh the screen. This technique is, arguably, the foundation of Web 2.0 and e-commerce. The standardised form of the ActiveX component is now integral to all major web browsers as the XMLHTTPRequest (XHR) object.

The system adopted an n-tier architecture with a very thin middle-tier for business logic and an Oracle database persistence tier. Each of the tiers had a clearly defined purpose and interfaces that supported greater development independence, scalability and adaptability.

On the client-side we employed another MS component called HTML Application (HTA) that provided a more traditional desktop application user experience. These days the use of HTA is only really used in system administration but modern technologies such as React Native, Electron and DeskGap are often used.

For the next twelve years we continued to provide support and periodically upgraded major components of the architecture. The user community grew to over 35,000 all over greater London.

Later our client requested assistance to develop a server API using SOAP. This was required to support their in-house development of a mobile version of the application. The 'mobile project' was conducted in an agile way to provide the client's in-house team with the updates they required, ready for their next increment. I developed a prototype User Interface based on PHP to validate the API and exercise it in a repeatable manner.


Technical Skills

  • Development Methodologies

    Traditional Waterfall

    Agile (SAFe, Kanban, Scrum)

    DSDM ATERN Foundation

  • Architecture and Design

    C4 Model (C4)

    Single Page Applications (SPA)

    Responsive Web Design (RWD)

    Unified Modelling Language (UML)

    Progressive Web Applications (PWD)

    Service Orientated Architecture (SOA)

    Structured Systems Analysis and Design Methodology (SSADM)

  • Programming Languages

    TypeScript, JavaScript, (X)HTML, CSS, SCSS, PHP

    C, C++, Java, PowerShell, Visual Basic, Python, Rust

  • Databases and Frameworks

    PostgreSql, MongoDB, MS SQL Server, Oracle

    Aurelia, Express, Mongoose, React, Angular, Dojo Toolkit, Bootstrap

  • Web Technologies and APIs

    NodeJS/Deno, AJAX/XHR, Cesium, Google Maps, OS OpenSpace, Mongoose

  • Testing and Environments

    Jest, Postman, Jasmine, Karma, Katalon, SoapUI

    MS Windows, Linux, VirtualBox, VMWare, Electron

  • Applications and Tools

    Enterprise Architect, Balsamiq Mockups

    MicroSoft: Visual Studio, VS Code, Office, Visio, Project, SharePoint

    Git, Subversion (SVN), JIRA, Confluence, GIMP, Paint.Net

  • Accessibility and Security

    Web Content Accessibility Guidelines (WCAG)
    Open Web Application Security Project (OWASP)


Delivery through incremental customer-guided development

This project demonstrated just how effective a small team could be by, working closely with the client in an incremental manner.

I lead a small team of 3 developers to produce a Time and Resource management system for Defence Equipment & Supply (DE&S.) The new application was part of a large business change programme instigated by the Chief of Defence Materiel and required a System-of-System architecture that interfaced with several existing MoD business systems.

I produced the User Interface whilst a colleague developed the .Net-based middleware and a specialist contractor interfaced the application with MS Project. The three of us met with the client every 2 weeks to discuss new features for the next increment. The development team would then discuss the best approach to delivering the customer requirement. For the next 7 working days we would work largely independently, consulting via email etc., as and when required. Towards the middle of the second week we convened at the client site to integrate our work, conduct testing of the entire system and demonstrate it to the client. On the last day of the two-week period we demonstrated the application to the user community and captured feedback that informed the following cycle.

Without intentionally following any specific Agile delivery methodology, we had adopted an approach that shared many characteristics including iterative development, continual user engagement and active re-prioritisation of requirements. As a result, we delivered the Minimal-Viable-Product (MVP) within two months.


Business process improvement using SharePoint

The delivered product was cost-effective and highly-performant.

For five months I lead a small development team to work with Sport England. We were tasked with producing a system to automate an existing, largely manual, business process. Representatives of Sport England, located all over the country, liaise with local authorities and sports governing bodies on projects intended to increase the public's engagement in sport. Collaboration with local authorities included funding at local club level. Periodically representatives had to report progress of their projects, highlight delivered benefits and capture any issues.

The reporting mechanism involved maintaining one of many similar Excel spreadsheets (CSV), hosted on-line in SharePoint. Every quarter Sport England collated the information from the spreadsheets to produce reports for senior management. Producing the reports was conducted at the client's office in London. The original process was labour intensive, prone to human error and took three weeks. During processing the spreadsheets were taken off-line and representatives were prevented from reporting.

The system we developed utilised the client's existing investment in SharePoint by using data lists. Background processes used PowerShell scripts and user groups were defined in SharePoint under the control of Active Directory. The automated business process ran overnight (instead of 3 weeks) removing the downtime for representatives, greatly reducing potential for human error and ensuring data consistency.

The following year, Sport England requested enhancement of the system to address new requirements. This necessitated the construction of additional reports, screens and background processes. The data structure also needed to be migrated to an updated format.