Ben Osborne

Software Engineer

image

I am a Lead Developer working for a travel company in the UK, I am a ambitious individual and passionate about software engineering and infrastructure. I have learned valuable experience over the past 7 years that range from AWS, GCP, Go, PHP (5.6-7.4), Laravel, Vue JS to CI/CD.

My career in software engineering started off as a Junior Web Developer at Mercury Holidays, a well established travel company in the UK. This position was my first commercial job. Prior to this, from the age of 16 I was self teaching and learning from resources on the web, mainly Stack Overflow, I finally landed my first commercial development job when i was 20 years old.

At Mercury Holidays my experience was ramped up and I was learning languages and technologies far quicker than the past 4 years of self teaching, from then on I have remained at Mercury Holidays and have been promoted to Lead Developer since December 2016.

In my spare time I am always learning and coding projects outside of work to learn and challenge myself, I also read programming books whenever I have some spare time.


Work Experiences

Lead Developer

Mercury Holidays | December 2016 - Present

https://www.mercuryholidays.co.uk/

As a Lead Developer at Mercury Holidays my responsibilities are developing new features, mentoring junior developers and taking care of infrastructure hosted on the AWS platform.

Below are some of the technical challenges I have overcome at Mercury Holidays:

  • Moved the entire infrastructure that was running PHP/IIS on Windows to PHP/Apache on Linux in AWS.
  • Created APIs for companies such as Trivago, TripAdvisor and TravelSupermarket. These APIs would allow the consumer to request rates and availability based on a search criteria.
  • Integrated with Barclays payment gateway using PHP.
  • Built in intranet system for managing content on the website and other internal tasks.
  • Setup a CI/CD pipeline using CircleCI/CodeBuild and CodePipeline.
  • Setup Cypress.io end to end tests.
  • Optimized database performance for a table which holds over 120 million rows in using partition and indexes.
  • Maintain three large scale websites.
  • Integrated Intuitive systems (iVector Connect) to search and book holidays, this included flights, hotels and transfers.
  • Created scripts to import cache files from flight suppliers, own contracts and third party accommodation stock.

We are now rewriting our entire backend using Laravel 7.X from a non-framework PHP codebase and heading towards the micro-services architecture. This has enabled me to learn Laravel in the past 6 months commercially, I have previously learned Laravel but in my spare time and side projects.

  • Setup an Kubernetes Cluster using GCP.
  • Setup Skaffold to build, tag and deploy our images and manifests to Kubernetes.
  • Setup persistent disks and volume claims in Kuberenetes in Google Cloud.
  • Setup a call with Google Cloud to see how they can help us and why we should move from AWS to GCP.
  • Setup CI/CD using BitBucket pipeline.
  • Write clean and efficient code.
  • Write unit tests and benchmark tests to make sure code is working as expected and at it's optimum.
  • Used Algolia for real-time full text searching, this has enabled us to have an real-time search experience and allowed me to learn about Scout with Laravel.

Work Experiences

Junior Web Developer

Mercury Holidays | August 2012 - December 2016

https://www.mercuryholidays.co.uk/

Assisting the lead developer, my role involved:

  • Writing and maintaining MySQL queries, adding indexes if needed to optimize application queries.
  • Coding features for the websites.
  • Maintained the internal intranet systems.