Experienced software developer skilled in Kotlin, Java, TypeScript, React and AWS.
About Me
Hello, I'm Oliver, an experienced software developer who finds joy in crafting elegant and impactful software solutions. I have a deep appreciation for the science and art of computation.
My journey in software development has been driven by a genuine enthusiasm for creating well-architected, visually appealing software.
My technical toolkit includes skills such as Kotlin, TypeScript, React, Rust, Python, SQL, AWS, and Terraform.
One of the things I enjoy most is discussing technology trends and ideas with others. Feel free to reach out if you'd like to engage in a conversation!
MACS is a provider of asset and facility management solutions based on IBM Maximo and TRIRIGA.
Designed and developed a Visitor Portal app, deployed on iPad Kiosks at office entrances for ad-hoc and pre-booked visitors, also supporting a touchless sign-in workflow. The application was built using Next.js and TypeScript, utilising an RDS/PostgreSQL database.
Developed internal tooling, written in Rust and Kotlin to enhance team efficiency and productivity, streamlining workflows and improving overall performance.
Maintenance on a React Project tightly integrated with IBM TRIRIGA with an additional NestJS API.
I made the important decision to take a full-time parenting career break to focus on raising and nurturing my family. Throughout this period, I dedicated myself to providing a loving and supportive environment for my children's growth and development.
Flux is a Digital receipts platform which links bank and merchant data for the purposes of offers, analytics, and reduced emissions. It's a low latency, high throughput platform that integrates with multiple banks and retailers with rapid delivery of results to end-users.
Brought to market new low-latency merchant analytics and insights dashboards using React, ktor and DBT to build a data pipeline. This garnered interest from major high-street retailers.
Led the development of a successful new highly-flexible and extensible realtime cashback-offer system, which is now used by more than 20 currently active retailers of various sizes.
Drove adoption for technologies that enable better discovery and maintenance of internal systems using SourceGraph and Backstage/Roadie. This improved developer onboarding, knowledge transfer and discovery.
Completely retooled the infrastructure code base to better facilitate developer independence from the platform team. This facilitated much faster turn around time for new features, and saves many hours per day.
Integration with third parties including banks and retailers using widely varying specs/contracts, including OpenBanking and other proprietary APIs.
Maintain and upgrade existing kotlin, ktor and dropwizard codebase.
Working on a high-performance delivery-options & shipping REST API which caters to several high profile and high volume retailers, across many carriers. Planning and consideration of architecture that supports zero-downtime deployments and large throughput with a fast response.
Designed and created a service to aide in zone skipping and shipping calculation, saving customers money and reducing shipping carbon footprints.
Migrating a one-service-per-instance half-in ansible infrastructure to a containerised, fully code-provisioned (IaC) ECS cluster. This helped support developers to deploy their own changes with only limited support from the dedicated platform team.
Serverless and Asynchronous API design and architecture, high redundancy and fault tolerance using Hysterix Circuit breakers and load balancing to provide >99.99% uptime and <100ms response times.
Highly diverse polyglot tech stack composed of Groovy, Go, Java (Springboot), JavaScript, and Python.
Liaising and collaborating with other developers, creating software specifications, reporting progress and estimating time scales, in addition to code and unit tests.
Java Database Integration using Hibernate (Microsoft SQL, HSSQL, MySQL).
Rewriting and refactoring large parts of a legacy codebase.
Participation in frequent software architecture/design meetings.
Strong communication with QA to address key issues as they arise.