Career Profile
With over nineteen years of commercial experience in predominantly backend software engineering and development, and more than ten years in leading and managing technical projects in various Agile teams, I have built up an extensive knowledge of implementing and maintaining web-based and API projects, from small startups to large scalable commercial websites. A combination of my analytical and problem solving skills, hands-on technical leadership and a keen eye for detail allows me to manage and deliver projects quickly, efficiently and to a high standard. I have always enjoyed taking on technical challenges and learning something new, in both the workplace as well as personal projects.
Work Experience
- Hands-on technical leadership including pair programming, code reviews as well as technical mentoring.
- Working frequently with the CEO, Product Owner and Leadership Team to align on the IT and technical strategy.
- Working closely with Agile Delivery Manager on the sprint planning, product backlog and roadmap mapping.
- Supporting cross-team communication and collaboration across the various product functions.
- Strong attention to detail, communication and organisation skills.
- Hiring, setting KPIs, team accountabilities, budgeting and team leadership.
- Full oversight and ownership of the product release process.
- Creating and improving automated deployment scripts and pipelines.
- Ensuring the technical safety of the organisation's user data.
- Security and monitoring across the platform using DataDog, Lumigo and Sentry.
- Responsible for all the engineering functions including the backend, frontend, devices and platform teams.
- Working closely with the Managing Director, Head of Product and Head of Data to plan, execute, test and deploy all engineering functions.
- Project management using Jira and Asana to organise, track and manage team projects.
- Responsible for the team's development, testing and rollout of the product in North America.
- Managing the IoT Gateway portability project to migrate from legacy Java application to new modular Go applications.
- Accountable for the releases of all services from development through the various QA environments and into the production environments.
- Recruiting and onboarding of new starters in the engineering team.
- Leading and mentoring junior members of the team.
- IoT fleet management across all production environments.
- Responsible for building and rollout of the IoT Assembler application using Electron, TypeScript and React to enable the business to assemble, QA and onboard new gateways and IoT devices.
- Maintaining and working on the microservices backend API built using the Serverless framework with TypeScript and involving a wide range of AWS services.
- Closely involved in the IoT technology of Zigbee, Bluetooth, Wi-Fi, TCP and MQTT.
- Using a range of core AWS services including DynamoDB, IoT Core, Lambda, API Gateway, SSM, Cloudwatch, Step Functions, etc.
- Continuous contribution to the web dashboards and mobile apps built in React and React Native respectively.
- Working on the Gateway Java app running on Embedded Linux to communicate with Assembler application.
- Led the development of the web team to migrate the website over to Node.js and React.
- Server‑Side Rendering using Next.js framework.
- Used Styled‑Components library with Material-UI styling in all the React components.
- Built REST APIs using TypeScript with Swagger and served through Express.js framework.
- Worked closely with management and product teams for a seamless migration to the new system.
- Continuous Integration using Travis CI.
- Full end‑to‑end integration testing implemented using Jest and Cypress.io frameworks.
- Full visual regression testing implemented via BlinkDiff image comparison tools and scripts.
- Built the hotel API service from the ground up, using TypeScript with AWS Lambdas running Node.js for a scalable and synchronous hotel price lookup and room availability service.
- Imported over 500,000 hotels weekly from Expedia, Hotels.com and ebookers.com with their associated images, amenities and all room data.
- AWS Step Functions to trigger the AWS Lambdas to optimise the concurrency of price lookups.
- Persistent and session price data stored in Postgres (AWS RDS) and Redis (AWS ElastiCache).
- Utilised the core libraries of the hotel codebase to build a search microservice in TypeScript.
- Search microservice powered the autocomplete search for WeShop, powered by Elasticsearch.
- Consumed an AWS Kinesis event stream from the platform API and continuously pushed data to the Elasticsearch cluster, as well as a daily full re‑index of the database.
- Built a team to create a hotel comparison website with cashback rewards.
- Built the frontend website in Laravel and the backend REST API in Lumen.
- All services Dockerized with PHP 7, Nginx using Postgres and Redis, all hosted on AWS.
- Hotels database indexed in Elasticsearch to allow fast concurrent API data access and searching.
- Built around a horizontally scalable model to allow a dynamic number of queue workers.
- Continuous integration utilising Wercker to allow end‑to‑end automated testing.
- Focused on code testing (PHPUnit and Codeception) with over 90% code coverage.
- Various backend tools written in Go and Python for speed and concurrency.
- DevOps knowledge including DNS management and deploying as well as monitoring applications.
- More than five years working at the UK's largest cashback site with over 7 million members.
- Member of the Heads of Tech management team involved in decision making and future planning.
- Team lead, involved in scrums and project sprint planning, reporting directly to the CTO.
- Developed the email platform responsible for all outgoing emails (over 20 million monthly emails).
- Involved in the initial planning and development of the new microservices architecture.
- Built the processes, framework and APIs to integrate with their external Data Management Portal.
- Kibana data visualization for Elasticsearch queries and server log monitoring.
- Worked on the text messaging platform responsible for inbound and outbound messages for various media competitions.
- Integrated the Sponge Group messaging platform with the MX Telecom systems.
- Deployed multiple first version WAP sites for various clients.
- Built Autotrader's first mobile responsive website integrated with their backend API.
- Early stage development and testing of building iPhone apps.
Personal Projects
- Raspberry Pi home automation.
- Personal Android app of “Out of Context Quotes” written in Kotlin with Laravel REST API backend.
- Custom message handler for a Python WhatsApp library.
- Personal travel blog and website built in PHP and MySQL.
- Home automation scripts for Nest security cameras written in Bash and Python using Raspberry Pi.
- Calendar of sports fixtures and results generated from web scraping tools.
- Adobe Lightroom photo library management scripts written in Lua.