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.

  • Lead generation engine for real state listings

    Team size
    x 5
    Role
    Tech Lead
    Location
    Barcelona
    Tech stack
    JavascriptNodeJSExpressJSReact/ReduxAWS KinesisFirehoseOptimizelyDatadogAWS Cloudformation
    About

    I was assigned to lead a small team in charge of evolving a lead generation engine for one of the leading platforms in the real state market. Some of the tasks I performed:

    • Bringing solid software engineering mindset and practices to the team.
    • Evolve the architecture of the system and design an integration strategy with the company's CMS.
    • Work with the head of engineering to contribute to company-wide tech initiatives.
    • Help the team improve and modernize the architecture of the frontend application build with React/Redux.
    • Work closely with the product owner to align the technical solution with the different initiatives to meet cycle OKRs.
  • Back office application to manage sales agent accounts

    Team size
    x 8
    Role
    Infrastructure engineer
    Location
    Barcelona
    Tech stack
    Vue.jsNuxtZipkinGrafanaAnsibleTerraform
    About

    I was assigned to bootstrap a new team to evolve a back-office application that manages sales agent accounts for a company in the green energy space. I was also responsible for providing advice to the infrastructure team. Some tasks:

    • Provide technical input in the discovery phase of the new features for the platform.
    • Help the team understand the system's architecture based on several PHP services built with different frameworks.
    • Help the team to start working on a frontend application built with Vue/Nuxt.
    • Advice the client's infrastructure team on best practices around observability and infrastructure as code.
    • Create a proposal on how the client could scale their infrastructure platform to reduce toil and make developers more effective.
    • Design and implement a proof of concept based on Zipkin to assess the best way to implement distributed tracing across the different microservices.
  • Flight Search engine and B2B platform for air cargo startup

    Team size
    x 9
    Role
    Tech lead
    Location
    Barcelona
    Tech stack
    Neo4JKotlinSpring BootTypeScriptReactAmazon MQAWS LambdaAuth0CircleCITerraformDocker Cypress.js
    About

    I was assigned as a technical lead to help one of the biggest airlines in the world to deliver an MVP and to help them build a startup around it. The project involved the discovery and development of a B2B platform powered by a flight search engine that allows airlines to market interline cargo capacity. Some of the tasks:

    • Lead and facilitate workshops with both business and the technical team to foster alignment.
    • Lead the implementation and design of an MVP for 500 users from different airlines.
    • Design integration strategies with external airline IT systems. Build an ETL pipeline for ingesting airline data using AWS Lambda, S3, and Amazon MQ.
    • Design and build a search engine using graph database technologies (Neo4J).
    • Be responsible for the information security practices of the team and promote good techniques like * DevSecOps and threat modeling exercises.
    • Shape the technical vision, assess and highlight technical risks.
    • Help the team champion software quality while being pragmatic to deliver an MVP.
    • Collaborate with product owner and designer to shape the product vision and manage stakeholder and founder expectations.
    • Coach and mentor team members to encourage continuous growth.
  • Site to site VPN on AWS

    Team size
    x 6
    Role
    Infrastructure Engineer
    Location
    Manchester
    Tech stack
    TerraformInspecPythonPyTestAWSSophos UTMGitlab CI/CDDockerDocker Compose
    About

    I was assigned as a platform engineer to help build a secure site-to-site VPN on the cloud between two big organizations in the UK. The VPN provides a mechanism for these organizations to exchange PII information securely. In my role, I contributed to bringing the platform into production by:

    • Automating the configuration of an off-the-shell VPN product (Sophos UTM) using Python/Pytest. 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.
  • Lead agile software development trainer

    Team size
    x 32
    Role
    Infrastructure Engineer
    Location
    Pune, India
    Tech stack
    Agile/LeanXPContinuous DeliveryTDDPairingTrunk base developmentOOP
    About

    I went to India as a lead trainer for four months to train 90+ ThoughtWorks new hires from different offices all over the world. Some of the tasks:

    • Lead a group of 4 trainers to ensure effective delivery of the program training objectives.
    • Facilitating and delivering training sessions and dojos on software delivery best practices like TDD, OOP, Pair programming, Design Patterns, and CI/CD.
    • Teach new hires effective facilitation techniques for agile ceremonies: Retrospectives, stand-ups, iteration reviews, etc.
    • Being a coach, mentor and evaluator of new hires while supporting them during the first steps of their journey.
    • Developing the training program's content and technology, including the program strategy.
    • Sharing personal experiences and lesson’s learned from over 7+ projects delivered within ThoughtWorks.
  • Cloud infrastructure platform for government digital teams

    Team size
    x 12
    Role
    Infrastructure Engineer
    Location
    Manchester
    Tech stack
    TerraformPuppetPackerRHELAWSPython/FabricJenkinsPrometheusAlertmanagerGrafana
    About

    I was assigned as an infrastructure engineer to help build an internal platform on top of AWS for a big company in the UK to help projects leverage cloud-native features, enabling product teams across the company to focus on building secure, reliable applications in the cloud more quickly and cost-effectively. Pablo contributed by:

    • Bringing solid software engineering mindset and practices to the team.
    • Helping building a centralised monitoring and alerting solution to enable NOC/SRE teams to support live services.
    • Promoting and helping the team adopt infrastructure as code and Terraform best practices.
    • Deploy a scalable and reliable proxy solution based on SQUID proxy using Terraform/Packer/Puppet.
    • Helping to define and implement SLI/SLO for several services offered by the platform.
  • Loan assessment platform

    Team size
    x 12
    Role
    Fullstack Developer
    Location
    Glasgow
    Tech stack
    ReactReduxES6ClojureJava 8RabbitMQGoCD
    About

    I was assigned as a fullstack engineer to help to evolve a loans assessment platform for the government. In my role, I contributed to bringing 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 and consistently.
    • 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 using RabbitMQ.
    • Acting as an internal tech lead for one of the teams and helping the team adopting TDD, pair programming, continuous delivery, and continuous feedback practices.
  • Private PaaS for a bank

    Team size
    x 7
    Role
    Infrastructure Engineer
    Location
    Madrid
    Tech stack
    KubernetesDockerAnsibleTerraformOpenshiftAWSOpenstackELKConcourseCIRHEL/FedoraRakeRuby
    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 in OpenStack. The goals were to minimize the time to market for 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.
  • Digital membership cloud platform

    Team size
    x 4
    Role
    Infrastructure Engineer
    Location
    Manchester
    Tech stack
    TerraformPuppetEC2S3CloudFrontRDSKMSIAMElastiCacheCodeDeployJenkins
    About

    I was assigned as an infrastructure engineer to help reduce the gap and bring together the development and platform teams within a program to re-platform and rebuild a digital membership service for a big company in the retail industry. In my role, I contributed to bringing 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. Decoupling the apps (Dropwizard) from 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 of the different services.
    • Advocating for DevOps principles and practices across product and platform teams.
  • Mobile web application and platform

    Team size
    x 7
    Role
    Fullstack Developer
    Location
    Hamburg
    Tech stack
    React/ReduxHTML5SASSJavaGoCDKubernetesDockerGoogle 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/Java/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 deployment 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

    Team size
    x 12
    Role
    Fullstack Developer
    Location
    Manchester
    Tech stack
    RubyJavaScriptJQuerySASSGraphiteGoCDELKRackspaceDocker
    About

    I was assigned as a full-stack developer to deliver and operate a custom content management system for thoughtworks.com. The CMS, built with a Ruby/Sinatra/Javascript stack, enables content managers and editors from different business areas (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 external 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 CI/CD tools (GoCD).

    • Improving provisioning, deployment, and build scripts to enable migration from snowflake servers to phoenix servers.

    • Adopt Docker to easily build local development environments.