Software lead, Storefeeder
Apr, 2023 - Present
Leading two teams of 5-7 people I was resposible for organising and delivering projects and keeping the team on track
Developer living and working in Derbyshire, always looking to learn and extend my knowledge in all things technology and programming
Software lead, Storefeeder
Apr, 2023 - Present
Leading two teams of 5-7 people I was resposible for organising and delivering projects and keeping the team on track
Lead Software developer, (Webroot) Open Text
Feb, 2021 - Apr, 20232 years 2 months
Working alongside a small group of talented individuals to maintain and create services that handle 10,000+ request a minute. With millions of customers sending information about files on their pc's we work very hard to keep everything flowing as quickly as possible so customers can get as up to date information as possible and so administrators can determine whether an endpoint (individual terminal) has been infected and needs to revert back to an older version
Coaching teams - As a lead developer a large part of my role is to coach and listen to my team as to how they can improve - this can range from reviewing coding standards to reviewing code to having one on one sessions with team members.
Event Ingestion v2 - As a project lead I was in charge of directing and advocating for a series of technology choices to use as part of a new system that would be the front door for millions of events
Data remapping - This is/was a technology based project where a highly used api (which was written years prior) had to undergo a shift in how data was being represented in the database (as it was inefficient) years of iteration on a model left it in a highly un-optimized way. With those instructions I directed a team of people to create a new data model which made sense for the data to be more extensible in the future and have directed a path forward in how we can still work on the api day-to-day whilst slowly moving towards the end goal
Commands System - Working as part of a small delivery team to create a REST api to serve specific requirements about sending command information at high volume
Senior Software developer, Webroot
Oct, 2019 - Feb, 20211 year 4 months
Working alongside a small group of talented individuals to maintain and create services that handle 10,000+ request a minute. With millions of customers sending information about files on their pc's we work very hard to keep everything flowing as quickly as possible so customers can get as up to date information as possible and so administrators can determine whether an endpoint (individual terminal) has been infected and needs to revert back to an older version
Events system - system that ingests 1.4 million events a minute, I was one of two developers that created this system and was heavily involved in performance tuning the service to handle everything without blocking up-stream systems
Licensing - I was involved in a complex system overhaul that involved a great amount of communication and collaboration around a system that was aging and needed a revamp, we took old requests that returned various information and models and turned it into a consistent REST based service that is more consistent and much easier for consumers
Licensing bulk requests - I was part of a team that developed a bulk endpoint in which we took inspiration from Paypal system where you can call different endpoints and have requests that rely on previous requests. I (along with the team) found optimizations that allowed us to create a system that allowed us to handle 50,000 requests in under 10 seconds
Software Developer, Esendex/commify
Aug, 2017 - Sep, 20192 years 1 month
Working as a developer of customer many customer facing software interfaces and back end api's for thousands of active customers
Cloud based document download - Worked on a generic api that has templates which have replaceable fields for customer information, converting HTML to PDF content to send order receipts
Internal tools - As part of a ship it day I headed up a team of two people who targeted some painful areas in a website that we owned, creating multiple CRUD based interfaces so internal teams could use and setup clients faster. I was also part of a team that took requirements from internal teams and make improvements to internal systems for teams to make their jobs easier and faster
Chat performance change - Working on a legacy application that could not support a large set of users, after some investigation and some targeted changes we changed the website to support a large set of users
Document upload - We developed a distributed system that allowed a configurable document upload option onto one of our public systems, this allowed internal teams to set-up a system which delivered files to customers via different endpoints i.e. SFTP, S3, blob storage
Platform change/overhaul - One of the first project I worked on was an overhaul of one of the public facing platforms, we wanted the system to have 99% uptime, to achieve this we ahd to move the system onto new servers and slowly separate parts the new system from the old, targeting the most used pieces first and kept slowly migrating until the system was completely moved
Software Developer, Brief Your Market
Feb, 2017 - Aug, 20176 months
Continuing with the company as a software developer I was now looked upon as a knowledge holder of some of the systems that were part of the core emailing platform
Trigger knowledge holder - When I worked at BYM I was the foremost knowledge holder in the 'trigger' based emailing system, where emails would be sent if a condition was true i.e. three months after a renewal date, this put me in a position to make quite a few bug fixes and interface changes, by understanding the system to an expert level I managed to look at it from a user point of view and improve workflows for support staff and external customers.
Logic based emailing - I was the lead developer a user interface that allowed customers to create a chain of conditions to send email i.e. two months after email 1 was sent send a follow up email if the user has not opened it, this way customers could create 'campaigns' for long running strategy
Workflow system - I lead a team of people to create a workflow based system, this was a complex system where internal system could gather information from the system and send emails when certain flags were i.e. when contacts were looking for a house we sent email with appropriate information, this was a highly configurable system and could be changed for each person using the system
Integration platform - I was an integral part of an integration team that moved data from external systems to the BYM platform, this way customers could use information stored in system they were all ready familiar with to send emails, I was responsible for creating and maintaining integration systems and communication around how to use those systems.
Product integration - As an extension of the system to import contacts I was an integral part of the team that brought forward a system that imported more generic items, this was the 'product' importer, we used this to gather information about house information (for example) and send emails to contacts about new deals.
Junior Software Developer, Deventio solutions
Jun, 2014 - Feb, 20158 months
Website developer working on internal and exterenal facing websites
Internal systems developer, Education City
Jun, 2012 - Jul, 20131 year 1 month
Internal systems developer helping the sales team perform their best
- Present
Solutions to the yearly advent of code puzzles, not the tidiest code but can solve the problems
- Present
Attempt at making a bug tracking system that differs from conventional tracking systems, mostly a playground for my DDD adventures
- Present
A dotnet tool that spins up lightweight server endpoints that return specified values
DotNet
Blazor
DotNetCore
Sql
MySql
DDB
Cosmos
Azure table storage
Firebase
postgreSQL
Elastic search
xUnit
nUnit
MSTest
Mocking
Faking
gitflow
branching
rebasing
REST
interface's
libraries
Queues
Eventing
Micro-services
Docker
S3
Kinesis
DDB
SQS
Lambda
API Gateway
Event Bridge
Queue storage
Table storage
Blob storage
Cosmos
App Services
Functions
Service bus
Software Development, Bachelor, University Of Derby
Jan, 2010 - Jan, 2014
Information technology, National Diploma, Deeside college (now known as Coleg cambria)
Jan, 2007 - Jan, 2010
Running
Music
Technology
Reading