Personal Summary

Tom is a confident and highly motivated individual with excellent technical, organisational, and communication skills. An advocate of Agile development methodologies, Tom is an experienced professional software engineer and technical team lead. His career spans over twenty years in fields that include Healthcare, Commoditites Trading, Enterprise Web, Mobile and Location Based Services.

Work Experience

Tom's role as Tech Lead and Scrum Master involved the day-to-day running of all 3 development teams (10 to 12 people per team), planning releases, and running of all sprint events (estimation, sprint planning, stand-ups, retrospectives), as well as setup and reporting of Jira workflows, dashboards kanbans and filters. This project delivered a critical benefit to Hospital Emergency departments helping them to manage their capacity in order to allieviate winter pressures and manage waiting times during the Covid-19 pandemic. The project was delivered to incredibly challenging timescales, moving from establishing a team in Sprint 0 to MVP release in 3 months. Key to Tom's role was coordinating the teams, ensuring the technical quality and prioritising necessary changes for the initial release.

Tom's role is as a technical team lead and Scrum Master for an end-to-end development team of 10 to 12 people including a Business Analyst, Developers (Java, Javascript (AngularJS), PHP, PostgreSQL), Functional Testers and Automation Engineers. Tom's day-to-day activities include running of daily stand-ups, sprint planning, code reviews and retrospectives. He is responsible for sprint delivery and code quality as well as longer term objectives including knowledge sharing, documentation and upskilling of the team.

Tom has been involved in this project since the bid preparation phase, through initial developmet, go-live and ongoing feature development and maintenance. Tom's role began with a 2-week on-site pre-elaboration phase focussed on examination of the existing legacy application's proprietary codebase, code metrics and functional analysis. Tom worked closely with Technical Architects, Business Analysts and Subject Matter Experts leading to requirements gathering and he then conducted investigations and comparisons of candidate technologies for the bid. Following the pre-elaboration, Tom was then heavily involved in producing the proposal document that formed the basis of the succesful bid. Following a successful bid, Tom was fundamental to the Sprint Zero and Elaboration activities, setting up Git repositores, CI build servers, project structure and the reference architecture. This role required close teamwork with the Principal and Technical Architects to refine, agree and document the project's code structure and key design patterns around separation of tiers, REST APIs, database transactions & audit, module structure and coding standards. Tom then lead one of three development teams during the project's 18-month development to initial go-live.

Software Engineer

2012 - 2013
Tom joined this project as a software engineer during its final phase to assist with completing the functional development and bug fixing in preparation for a parallel run prior to go-live, where the new application was trialed alongside the existing legacy application. The role required Tom to familiarise himself with the existing codebase and a large number of integration points with other work-streams and APIs in order to contribute productively to project. Key challenges included working as part of a large team spread over multiple locations and a number of different suppliers, often with poorly defined changing requirements and complex domain knowledge around commodities trading and invoicing.

Software Engineer

2012 - 2013
Responsible for the delivery of software components that receive events from other work streams to trigger the generation of cost items for Interest, Warehouse Rent, Transportation and Valuations. Costs are displayed to traders as a key tool to manage profit/loss. The application is a large scale distributed system using a broad mix of technologies including Scala, Ruby and C#. Tom’s main development role focused on Scala and he adapted quickly to a new programming language, demonstrating an ability to 'hit the ground running' and make a valuable contribution to functionality, unit and component testing.

Lead Software Engineer

2009 - 2011
Lead developer on BT.com eCommerce platform; Projects include the development of the Google powered search results page (using XML/XSLT and Zeus traffic manager) for BT Internet users, which receives over 1 million hits per day and generates significant advertising revenue; Strong emphasis on performance and stability. Key member of team working on complete redesign of the retail consumer MyAccount homepage and successfully delivered a new online order tracking application resulting in 30% improvement in successfully tracked orders, and 1000 fewer helpdesk calls per week. Leading a small on-shore development team as an exemplar of how a test driven, agile development methodology, coupled with experienced, skilled developers, can result in better quality deliveries.

Lead Software Engineer

2008 - 2009
Lead developer for the BT.com Beta platform. Role involved design assurance, review and sign-off of designs and test plans, and technical leadership of development team. Striving to introduce an element of innovation into BT's online presence by launching new self-service applications in “beta” format. Applications that graduate from Beta status are migrated to the mainstream BT.com platform. Unsuccessful applications are quickly identified and reworked or “fail fast” thereby minimising wasted development expense. Tom led a small team of 3 developers to create a personalised homepage framework based around the open source Apache Shindig project for use as a custom portal for the top 15 BT Wholesale customers.

J2EE Software Engineer

2005 - 2007
J2EE developer on BT.com Beta. Focusing on innovative new applications heavily influenced by emerging Web2.0 technologies and following Agile Delivery work practices. Responsibilities included rapid turnaround of prototypes, proof-of-concepts, high-level design, implementation, and close collaboration with Business Improvement managers to identify and capture the requirements that solve business problems. Other responsibilities include facilitator of Agile Scrum sessions, running daily stand-up meetings and weekly checkpoints. Particular focus on developing new applications around: Google Maps; Ajax, Widgets/Gadgets (iGoogle); 3rd party data APIs (ReST, XML, JSON) and Javascript frameworks (jQuery, prototype, scriptaculous).

J2EE Software Engineer

2003 - 2005
Rewriting key consumer web applications for new WebLogic Portal platform. Release 1: worked on Access Control, focussing on Login & Registration. Responsible for implementation of key components of the website security. Release 2: Worked on Products & Services webapp, responsible for implementation of key back-end EJB components.

Developer

1999 - 2003
Joined BT, working on Webtrack, a web based fleet management and tracking application using GPS positioning and Inmarsat satellite/SMS messaging. Writing comms applications and developing for mobile devices (Windows CE). Responsible for creating a mobile application that was successfully trialled within BTPayphones. Developed mobile consumer applications based around SMS, personalisation and location, and resulting in an application prototype that was delivered into the BT Brightstar incuband Rocking Frog for commercial exploitation outside of BT. Performed customer contact role to Internal Ventures customer. Also supported external proposition development.

Publications

BT Technology Journal
This paper provides an overview of terms, technologies and standards used within the location-based services field in the determination and presentation of the location of an entity. A description is provided of data formats and protocols for communicating, storing and manipulating location information and some insight is given into how location information could be used in a range of applications.

Skills & Proficiency

Scrum Master

  • estimation
  • sprint planning
  • stand-ups
  • retrospectives
  • kanban
  • scrum

Cloud Computing

  • AWS
  • SES
  • SQS
  • Aurora
  • RDS
  • lambda

Back-end development

  • java
  • junit
  • test-ng
  • spring
  • hibernate

Front-end development

  • html
  • css
  • sass
  • php
  • javascript
  • angular JS

Databases

  • postgresql
  • mysql