Github: leefreemanxyz
Location: Amsterdam, The Netherlands
Nationality: Irish, British

Summary

I am currently working as a consultant focusing on helping teams deliver software faster, migrate from legacy codebases and improve their architecture/solution design. 8 years of working with React/TypeScript, 5 years with Kubernetes and CICD tooling (GitHub Actions, GitLab CI, Azure DevOps, and Bitbucket Pipelines) and 5 years with E2E testing libraries (Playwright and Cypress)

Work experience

Senior Software Engineer

IKEA (via Passionate People) (2024-04-01 - Present)

I'm working as a full-stack developer for a team in the logistics domain, mostly working on both front-end and CICD/DevOps. In this role I've had the opportunity to scaffold infrastructure using IaC tooling (Terraform), deploy continuously via GitHub Actions to our multi-cloud Kubernetes setup, and participate in in-office on-call rotations to support our users - mostly using tracing and observability tooling (Splunk/Prometheus) to track down errors in our event-driven microservice environment. When working in front-end I have focused on reducing the learning curve for my back-end focused colleagues to help them contribute more to the application. While working here I have: - radically simplified the front-end testing stack by consolidating tooling on Playwright (and removing Cypress, WebDriverIO and Cucumber in the process), reducing complexity and improving pipeline execution time - built out auto-scaling capabilities for our applications with KEDA, utilising OpenTelemetry and Prometheus - deployed our application stack and launched in China to support our coworkers there while respecting data governance requirements - visited coworkers in Groningen, Malmo and Helsingborg to better understand how they use our applications and what needs they have

Lead Developer (Ziggo)

VodafoneZiggo (via Passionate People) (2023-07-01 - 2024-04-31)

I started a greenfield project on the Ziggo side to empower users to solve hardware via self-service. This project served as a template for all new user-facing applications in development at VodafoneZiggo. For this project I set up a NextJS/XState/React Query/Tailwind front-end and a NestJS BFF w/Redis in a monorepo. This was all built into Docker containers and deployed via Gitlab CI to Kubernetes. Every merge request automatically gets its own environment created, which is cleaned up on merge. Across the applications a mixture of Jest, Testing Library, Supertest, Wiremock and Playwright are used for testing purposes. Main challenges included integrating with multiple APIs which had significant issues with test data, and identifying the requirement for and navigating the migration from the deprecated OIDC implicit flow to the Authorization Code Flow with PKCE. Outside of my own day-to-day work, I consulted for other teams on solution design, mentored both senior and junior developers alike and provided general CICD/Kubernetes support.

Lead Developer (Vodafone)

VodafoneZiggo (via Passionate People) (2022-07-01 - 2023-06-30)

I grew into a lead role where I rebuilt the development environment for new architectures, implemented OIDC authentication to unlock access to new internal APIs for the delivery of an eSim project, and continued modernizing our CI processes. I was responsible for scoping new work and stewarding the shared component library.

Senior Software Engineer (Vodafone)

VodafoneZiggo (via Passionate People) (2021-05-01 - 2022-06-30)

I worked on modernising the My Vodafone web React application. This included a migration to using NestJS as a BFF, deployed via GitLabCI to Kubernetes with Helm, complete simultaneous migrations of from BitBucket/Jenkins pipelines deployed on prem to Gitlab CI deployed to AWS and refactoring our Cypress suite to run in parallel on Gitlab CI.

Full Stack Engineer

ABN AMRO Bank N.V. (2020-09-30 - 2021-04-30)

I worked on an internal application to visualize the bank's interconnected applications, activities and organizational data. I wrote Cypher queries for our Neo4J database, import scripts and APIs in NodeJS and front-end components in Vue. As part of a migration to Azure, I took responsibility for containerizing and deploying our component library in Storybook to Kubernetes via Azure Pipelines, and used Helm templating to setup feature branch deploys to help our UX designers as part of the review process.

Software Engineer

ERIKS Digital (2018-08-31 - 2020-08-31)

I mostly worked on an internal sales tool which aggregated useful product data for ur colleagues. It was principally built with Neo4J, Apollo GraphQL and React, and supported by Python, the Cypher query language, Jest and Cypress. This built on top of previous projects that I had worked on to help guide customers to the correct products.

Web Developer

Aliens Are Among Us (2017-06-30 - 2018-07-31)

Worked on a variety of projects (live events application, eBook reading software, insurance platform) using technologies like React, Ember, D3 and jQuery

Editor/Content Developer/Project Manager

Open University/self-employed (2012-08-01 - 2017-03-31)

I worked in various editorial roles both at the Open University and as a freelancer after moving to Amsterdam, mostly delivering online courses for FutureLearn and OpenLearn.

Education

The University of Huddersfield

Bachelor of Arts (BA) - Music Technology & Popular Music

2008 - 2012

Skills

React, Node.js, TypeScript, GitHub Actions, Gitlab CI, Playwright, Docker, Terraform, Kubernetes, Helm, Agile, Scrum, Kanban, Vue, Astro, Svelte, Tailwind, Webpack, NestJS, Neo4j, CI/CD, Git, Cypher, Redux, Cypress, HTML, CSS, Redis, GraphQL, JavaScript