Oliver Wilson
Web developer
Proudly contributing to projects in the fashion, television and food industries for over six years.
Nice to meet you!
Hi, my name is Oliver Wilson and I am a machine that turns coffee into code a web developer.
- To showcase my skills as a software engineer.
- To have some fun experimenting with different technologies.
The site is built using React, Redux (to manage light/dark theme changes and to asynchronously load the content for the website), PostCSS, Webpack, Babel and has 100% unit test code coverage using the Jest testing framework, complimented by Enzyme.
The application is an express server, hosted in the cloud that responds to routes and then handles them routes via react router. The choice for the application being an express server vs a static site served by a CDN is so that the application can be isomorphic and render on the server, as well as on the client. There are major performance benefits as a result of server side rendering, plus implementing the concept allows for a deeper exposure to webpack architecture.
This website is hosted as an app engine on the Google Cloud Platform. Github actions are utilised to build and deploy the application to Google Cloud Platform on every commit to the master branch.
This site stores cookie data based on the theme selector if you choose to use it. A cookie is written detailing the theme choice which enables the site to remember your theme selection and preserve that selection when you refresh the page.
Education
The University of Kent
Bachelor of Science in
Computer ScienceClassification:first
I studied at the University of Kent for three years (2014 - 2017) and obtained a first class degree with honours in Computer Science upon my graduation.
During my studies I worked on a number of exciting front end projects and really enjoyed the creativity that developing software for the web afforded me.
It is fairly common for Computer Science students to participate in a sandwich-year/year in industry between their second and third years of studying. I chose to progress straight through to my third year and complete my degree within three years. I made this decision because I was thoroughly enjoying the course materials and had a strong self belief that I would find equally valuable experience upon graduating.
During my final year at University I worked as a consultant for an IT consultancy. I worked with a number of clients to create bespoke web-based solutions to suit their needs.
Experience
Sainsbury's
Web Developer
FEBRUARY 2022 - PRESENT
A senior level software engineer focused on building, maintaining, improving and delivering the www.sainsburys.co.uk website.
Delivered the Nectar for everyone proposition to the Sainsburys.co.uk website; Nectar for everyone Sainsbury's loyalty scheme for Nectar card holders. This work involved frontend and backend changes to facilitate different pricing for products depending on if the user has a Nectar card. The tech stack was Typescript, React, and GO.
Implemented the meal deal hub where customers can browse the meal deal offerings online.
Implemented the Choose Your Shopping Method page whereby users are presented with different options to fulfil their purchase - Home Delivery, Click & Collect or Chop Chop (60 min delivery service). Also maintained the subsequent slot booking pages.
Worked on internal applications that are used by members of the business to facilitate the coordination of setting prices for products. These projects utilise TypeScript, React, Redux and Redux Sagas.
Set up many microservices as part of a major replatforming of internal architecture. This involved creating GraphQL APIs, storing, transforming and retrieving information to and from databases (MongoDB) as well as publishing and subscribing to Kafka topics.
ITV
Web Developer
JANUARY 2020 - FEBRUARY 2022
During my time at ITV I had the opportunity to work on a number of interesting projects and applications.
I have contributed towards the ITV component library which is used on a number of the pages found on the ITV.com domain. Working on a component library was new to me when joining ITV as I had worked on stand-alone applications that did not justify a component library in the past. I found the experience of working on a component library to be extremely enlightening while also adding further understanding of alternate approaches towards writing reusable code.
One of the main projects that I worked on was the replatforming of the ITV hub homepage on to a new tech stack utilising React and Next JS. The application is isomorphic (hence the use of Next JS) and is served through Akamai. I've worked on isomorphic applications in the past but this was my first time using Next JS; while I appreciate the out-of-the-box simplicity that it offers, I believe that it is important to understand how the framework abstracts the techniques that it is using from the developer. This can prove to be difficult for more junior team members to make less trivial changes when some additional not out-of-the-box functionality is required. My experience working on isomorphic applications prior to using Next JS afforded me the luxuries of the abstraction, while being able to develop less than trivial features where required.
Another major project that I worked on was completely replatforming the ITVX connected television application. Under the hood, most TV apps are just websites and ITVX is now built with React. This project was especially interesting for me as TVs and smart device applications (e.g. Amazon Fire TV Stick) are not as powerful as some smartphones or computers, so performance was massive for this project. I implemented windowing on the homepage of the app, because anything in the DOM that isn't seen by the user is taking up precious memory. The windowing that I implemented allow for only the required number of tiles and sliders to be present on the page at any given time as the user navigated around the page.
ASOS
Web Developer
SEPTEMBER 2017 - JANUARY 2020
After being accepted for the first official graduate scheme for the web platform at ASOS I was catapulted into a number of projects that aided my personal and technical growth.
During my time at asos I was tasked with creating an internal React application that is used by the photography studios (the team that capture the product images displayed on the site) to coordinate their work and allow them to continue to deliver great assets while optimising their time and productivity.
I then moved on to projects on the asos.com website. The applications that I worked on on the website were the Product Listing Page (PLP) which is an isomorphic React application that responds to multiple viewports and is supported by a wide range of browsers. SEO is very important for the page as ASOS needs to stay ahead of its competitors and therefore rank higher in search results.
I was a key team member in the replatforming of the Saved Items application, employing a tech stack of React, redux and Node JS, while using webpack to build the application as well as utilising babel and postcss to use the latest syntax available to developers.