- Funding Circle UKSenior EngineerAugust 2021 - Today (3 years and 6 months)I work remotely on Kafka-driven back-end systems written in Clojure and hosted on Kubernetes. Initially I worked on our "decision engine" for assessing loan applications, which makes extensive use of the Clara Rules library. I now work on our line-of-credit product offering, which involves working on a number of smaller Kafka Streams services which involve collaboration with 3rd-party web APIs relating to card payment services. Alongside my day-to-day duties, I regularly conduct the technical segments of our interview process, am on the out-of-hours on-call rota responding to production incidents, and have mentored junior developers● To progress a rounding issue with no quick complete solution, I researched & implemented approaches, analysed and measured results, created graphs, and presented options to help non-technical stakeholders decide on the best approach to take forward● Introduced generative testing to a service to cover gaps in our test coverage for Kafka message serialisation issues● Have created & distributed Emacs plugins & Babashka scripts to assist with common development and support tasks
- WonderLaneSenior Software DeveloperJuly 2019 - July 2021 (2 years)Bournemouth, England, United KingdomWithin a small close-knit company of around 30 people, I was a team tech lead of a sprint team of a few developers. I reported directly to our company directors on project progress, and often liaised with contacts from our key client, a large corporation in Dubai. Our main project was an electronic point-of-sale system involving Linux-hosted microservices written in Go and Android applications which ran on handheld payment terminals.● Delivered projects within expected timescales by frontloading the integration of riskier elements such as new hardware/firmware modules & 3rd-party APIs, enabling this by initially implementing intermediary components with prototype code where needed● Fixed a significant performance issue related to an obscure firmware bug, during which I gave regular written and verbal updates to both internal & external stakeholders● Set up test environments on AWS EC2 to replace ageing in-office test servers● Created & internally distributed a script to provision creation of a VM-based local test environment in order to provide developers with a faster test feedback loop● Introduced unit tests to areas of the system with little to no unit test coverage
- JPMorgan Chase & Co.Software EngineerJune 2018 - July 2019 (1 year and 1 month)Bournemouth, UKI was part of an agile team that used Java to write extract-transform-load programs for the purposes of internal tax reporting. We used TDD, BDD and pair programming as standard practice, and we aimed to use Java in as much of a functional programming style as possible.● Led a team of summer interns in writing an exploratory side project● Led "lunch and learn" sessions on TDD
- Bachelor of Science in MathematicsUniversity of Warwick2009Bachelor's Degree, Mathematics, 1st class honours