Pablo Porto

Pablo Porto

At work

Some of the projects I took part over the last 7+ years. You can also take a look at my preferred tech stack.

  • Site to site VPN on AWS

    2018

    Team size
    x 6
    Role
    Infrastructure Engineer
    Location
    Manchester
    Tech stack
    Terraform Inspec Python PyTest AWS Sophos UTM Gitlab CI/CD Docker Docker Compose
    About

    I 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 my role, I 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

    Team size
    x 12
    Role
    Fullstack Developer
    Location
    Glasgow
    Tech stack
    React Redux ES6 Clojure Java 8 RabbitMQ GoCD
    About

    I was assigned as a fullstack engineer to help evolving a loans assessment platform for the government. In my role, I 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

    Team size
    x 4
    Role
    Infrastructure Engineer
    Location
    Manchester
    Tech stack
    Terraform Puppet EC2 S3 CloudFront RDS KMS IAM ElastiCache CodeDeploy Jenkins
    About

    I 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 my role, I 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

    Team size
    x 7
    Role
    Infrastructure Engineer
    Location
    Madrid
    Tech stack
    Kubernetes Ansible Terraform Openshift AWS Openstack ELK ConcourseCI RHEL/Fedora Rake/Ruby
    About

    I 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 my role, I 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

    Team size
    x 7
    Role
    Fullstack Developer
    Location
    Hamburg
    Tech stack
    React/Redux HTML5 SASS Java GoCD Kubernetes Docker Google Cloud
    About

    I 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

    Team size
    x 12
    Role
    Fullstack Developer
    Location
    Manchester
    Tech stack
    Ruby JavaScript JQuery SASS Graphite GoCD ELK Rackspace
    About

    I 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.