carlos-gude/cv

Overview

Senior Backend Engineer and Software Architect with 10+ years building and modernising PHP/Symfony systems, including high-volume distributed platforms. Specialised in migrating critical legacy systems with zero downtime, making change safe through tests and static analysis gated in CI, and designing integration layers for external APIs. Production experience in logistics, travel, public transport and retail SaaS; author of the open-source IntegrationEngine bundle.

Selected figures each tied to the project where it was measured

  • 100+ endpoints migrated with zero downtime PrimeIT · legacy system moved from PHP 7.4 / Symfony 4 to PHP 8.3 / Symfony 6
  • 300K+ messages per minute Auro · rider positioning under high concurrency, last-mile logistics
  • 15+ external API integrations in production 10+ partner APIs at Auro and 5+ travel integrations at Quadrant TravelTech
  • −93% PHPStan errors, level 5 → level 9 Datcisions · core platform baseline reduced from 3,339 to 239 errors

Technical skills

Architecture
Hexagonal, DDD, Clean Architecture, Event-Driven, CQRS
Backend
PHP 8.x, Symfony 6 / 7 / 8, API Platform, Doctrine, REST, Webhooks
Quality
TDD, PHPUnit, PHPStan, Infection, Deptrac, PHP-CS-Fixer, SonarQube
Infrastructure
RabbitMQ, SQS, Docker, CI/CD with GitHub Actions, Linux
Databases
MySQL, PostgreSQL, Redis
AI-assisted development
AI coding agents working within CI quality gates

Languages

Spanish
Native
English
Professional working proficiency

Education

Higher Technician in Network Computer Systems Administration (EQF level 5) 2010 – 2012

Ongoing self-directed study in software architecture, DDD and the PHP/Symfony ecosystem, applied in professional and open-source work.

Experience

  1. Datcisions Senior Backend Engineer

    –

    Stock and purchase-planning SaaS for fashion and retail brands.

    • Raised PHPStan on the core platform from level 5 to 9, reducing the baseline from 3,339 to 239 errors (−93%).
    • Recovered a test suite that no longer ran and grew it to 2,100+ passing tests.
    • Modularised the core: extracted IAM and access control from Security, split 127 migrations across modules and removed 53,000 lines of dead code across three repositories.
    • Built the Holded cloud ERP connector from scratch and shipped it to production in 11 days, with PHPStan and PHP-CS-Fixer gated in CI.
    • Found and fixed two IDOR vulnerabilities during a self-initiated security review.
  2. PrimeIT Senior Backend Engineer

    –

    International IT consultancy.

    • Led the zero-downtime migration of a legacy system with 100+ endpoints from PHP 7.4 / Symfony 4 to PHP 8.3 / Symfony 6.
    • Rewrote authentication using Symfony’s native Security Component, eliminating vulnerabilities in the previous model.
  3. Quadrant TravelTech Backend Engineer, Integrations

    –

    Via Interacso from May 2023 to Jan 2024, then hired directly by Quadrant.

    • Designed and implemented 5+ travel integrations, including Booking.com, Iberia, Lleego and Hostalia.
    • Built a multi-provider integration layer where new providers could be added without changing the core.
  4. Auro Backend Engineer

    –

    Last-mile logistics platform.

    • Developed and integrated 10+ external partner APIs for a last-mile logistics platform with real-time shipment tracking.
    • Designed event and messaging systems coordinating multiple carriers, processing 300,000+ messages per minute for rider positioning under high concurrency.
  5. Jamenet Backend Engineer, project-based

    –

    Public transport · Metro Bilbao.

    • Built the Drupal–Symfony–Vue integration for Metro Bilbao, a 24/7 system serving real passenger traffic.
    • Implemented real-time bulk processing of route and timetable data.

Earlier experience

  • Freelance · Real-time streaming platform Jan 2020 – Jun 2020

    Solo end-to-end build of a Twitch-style platform with live chat, video streaming, payments, virtual economy and moderation.

  • Syntelix · Backend Engineer May 2019 – Jan 2020

    Real-time ingestion pipelines and ordered, lossless messaging for maritime telemetry.

  • Card2Card · Full-stack Symfony Developer Nov 2017 – May 2019

    Sole technical owner of a customisable SaaS e-commerce platform.

  • Freelance · Web and PHP backend development 2012 – 2017

    Bespoke web projects for clients across different sectors.

Projects

IntegrationEngine

Symfony bundle · Author & maintainer · PHP 8.2+ · Symfony 6.4 / 7 / 8

Why I built it

Every time I integrated an external API into Symfony, I ended up solving similar pieces again: authentication, HTTP requests, response mapping and error handling. And each integration tended to grow its own conventions. IntegrationEngine came out of that experience: a common structure for building and maintaining external API integrations.

How it is organised

  • Action — each operation against the external API is represented by an Action.
  • Mapper — transforms the external response into a typed Response object.
  • Engine — the bundle handles the shared flow: configuration, authentication and HTTP transport.
  • Integration — keeps the provider-specific details where they belong.
  1. Action + Context
  2. IntegrationEngine
  3. External API
  4. Mapper
  5. Typed Response
Request flow for one operation.

The goal is a repeatable way of working — clear contracts and a consistent structure — based on problems I have met in production. Providers still differ; the bundle gives those differences a predictable place to live.

integration-engine.jsonPackage summary
json
{
  "package": "carlosgude/integration-engine",
  "type": "Symfony bundle",
  "license": "MIT",
  "role": "Author & maintainer",
  "requires": {
    "php": "8.2+",
    "symfony": "6.4 | 7 | 8"
  },
  "contracts": {
    "Action": "One operation against an external API",
    "Mapper": "External response → typed Response",
    "Response": "Typed object returned to the application"
  },
  "engine": [
    "configuration",
    "authentication",
    "HTTP transport"
  ],
  "install": "composer require carlosgude/integration-engine"
}

Contact

Open to fully remote Senior Backend Engineer and Software Architect roles. Based in Cambados (Pontevedra), Spain · CET.

Email
carlos.sgude@gmail.com
Phone
+34 651 02 91 82
GitHub
github.com/CarlosGude (opens in a new tab)
LinkedIn
linkedin.com/in/carlos-gude (opens in a new tab)
CV
Download CV PDF · 107 KB