My experience
As a consultant, I get to work for different clients building differrent types of software systems with different tools. In this page you can see some of the projects I took part over the last 7+ years. You can also check my preferred tech stack.
Site to site VPN on AWS
2018
Infrastructure Engineer- Tech stack
- Terraform Inspec Python PyTest AWS Sophos UTM Gitlab CI/CD Docker Docker Compose
- Team size
- x 6
- Location
- Manchester
- About
Pablo was assigned as a platform engineer to help build a secure site to site VPN on the cloud between two big organisations in the UK. The VPN provides a mechanism for these organisations to exchange very confidential user information in a secure mannerIn his role, Pablo contributed to bring the platform into production by:
- Automate the configuration of an off-the-shell VPN product (Sophos UTM) using Python/Pytest and orchestrating this configuration using Gitlab CI/CD.
- Helping training and coaching team members on how to do infrastructure as code following continuous delivery practices.
- Testing Sophos UTM configuration using Pytest.
- Helping with communications with external team through different connectivity testing phases to ensure smooth integration.
- Implementing and deploying public key infrastructure with client certificates to comply with security requirements.
Loan assessment platform
2017
Fullstack Developer- Tech stack
- React Redux ES6 Clojure Java 8 RabbitMQ GoCD
- Team size
- x 12
- Location
- Glasgow
- About
Pablo was assigned as a fullstack engineer to help evolving a loans assessment platform for the government. In his role, Pablo contributed to bring the platform into production by:
- Leading the design and implementation of a SPA application using React/Redux/ES6.
- Leading the effort to introduce a shared design system and react component library to enable the different teams to deliver UI functionality faster.
- Extending the functionality of Clojure and Java microservices to support new types of products/loans.
- Introducing pipelines as code to enable different teams to create new microservices faster.
- Implementing different asynchronous integration patterns between microservices (choreography/orchestration) using RabbitMQ.
- Acting as an internal tech lead for one of the teams and helping the team to adopt TDD, pair programming, continuous delivery and feedback practices.
Digital membership cloud platform
2016
Infrastructure Engineer- Tech stack
- Terraform Puppet EC2 S3 CloudFront RDS KMS IAM ElastiCache CodeDeploy Jenkins
- Team size
- x 4
- Location
- Manchester
- About
Pablo was assigned as a software consultant to help reduce the gap and bring together the development and platform teams within a programme to replatform and rebuild a digital membership service for a big company in the retail industry. In his role, Pablo contributed to bring the platform into production by:
- Helping with the design and implementation of a continuous delivery pipeline using Jenkins.
- Advising and helping the development teams to build self-deployable microservices. Removing coupling between the apps (Dropwizard) and the platform.
- Building a robust and scalable platform on AWS using EC2, S3, CloudFront, RDS, KMS, IAM, ElastiCache, CloudTrail and other AWS services.
- Helping teams to implement infrastructure as code and continuous delivery of infrastructure changes using Terraform, Puppet, Packer and Jenkins.
- Improving the deployment of microservices by replacing an unreliable deployment process with AWS CodeDeploy.
- Enabling zero down time deployments and autoscaling.
- Advocating for DevOps principles and practices across product and platform teams.
Private PaaS for a bank
2016
Infrastructure Engineer- Tech stack
- Kubernetes Ansible Terraform Openshift AWS Openstack ELK ConcourseCI RHEL/Fedora Rake/Ruby
- Team size
- x 7
- Location
- Madrid
- About
Pablo was assigned as a platform engineer to build a custom PaaS solution for one of the biggest banks in Spain. The PaaS was built using Openshift/Kubernetes and deployed on top of AWS first and then OpenStack. The goals were to minimise the time to market of the different digital services the bank offers, reduce costs and improve the developer experience. In his role, Pablo contributed to the platform by:
- Deploying a scalable and reliable Openshift/Kubernetes cluster in AWS using Terraform, Ansible and ConcourseCI.
- Designing and implementing multi-region and multi-AZ network topologies in AWS to meet scalability and resilience requirements.
- Deploying a scalable and reliable Openshift/Kubernetes cluster in OpenStack using Terraform, Ansible and ConcourseCI.
- Automation of deployment, infrastructure testing (serverspec) and pipelines as code tasks using Rake and Ruby.
- Helping with the design and implementation of a continuous delivery pipeline for infrastructure changes using ConcourseCI.
- Advocating for DevOps principles and practices across product and platform teams.
Mobile web application and platform
2015
Fullstack Developer- Tech stack
- React/Redux HTML5 SASS Java GoCD Kubernetes Docker Google Cloud
- Team size
- x 7
- Location
- Hamburg
- About
Pablo was assigned as a full stack developer to deliver a custom mobile web application for a big wholesale retailer. The system, build with a React/Redux stack for the front-end and Spring/Cassandra for the back-end, helps drivers with the process of delivering goods to customers. Other tasks:
- Work closely with the client to define the user experience of the MVP.
- Implement a mobile first and responsive UI for the MVP using HTML5 and SASS.
- Creating and managing an infrastructure based on containers (Docker) on Google Cloud. Design the infrastructure to be portable to the client's private cloud.
- Lead, plan and automate the deploying of the whole system into a Kubernetes cluster using Google Container Engine.
- Automating the build, testing and deployment of the different apps using GoCD as a continuous delivery tool and Docker container images as build artifacts.
Custom CMS
2014
Fullstack Developer- Tech stack
- Ruby JavaScript JQuery SASS Graphite GoCD ELK Rackspace
- Team size
- x 12
- Location
- Manchester
- About
Pablo was assigned as a full-stack developer to deliver and operate a custom content-management system for thoughtworks.com. The system, build with a Ruby/Sinatra/Javascript stack, enables content managers and editors from different business capabilities (marketing, recruitment, sales) to easily inline edit, create and publish heterogeneous content using the same user interface as the company’s website. Other tasks:
- Improving ThoughtWorks digital presence by implementing mobile first designs and by empowering editors to create content through rich user interactions (JavaScript, SASS).
- Integrating third party services to the platform by consuming RESTful APIs.
- Keeping the project automated test suite healthy by implementing unit, integration, functional and end-to-end automated tests.
- Managing the project’s cloud infrastructure by automating deployment tasks (Rake, Fabric) and improving configuration management (Puppet, Packer).
- Enabling continuous delivery by supporting and managing monitoring (collectd and Graphite), logging (logstash and Kibana) and continuous integration tools (GoCD). Improving provisioning, deployment and build scripts to enable migration from snowflake servers to phoenix servers.
