Hello

I'm Gabriel Ruiz Muñoz
a Squad Lead & Software
Engineer based in Madrid.

About Me.

I'm a Squad Lead and Senior Software Engineer at CaixaBank Tech, where I build full stack banking software with Java, Spring Boot, React, and TypeScript. Across more than ten years in the industry I've designed and shipped REST APIs and scalable back end services, and worked shoulder to shoulder with cross-functional teams to meet the regulatory and security standards the financial sector demands.

Leading a squad taught me that the best technical decisions are made early and out loud. I split my time between writing code and planning, estimating, and delegating the team's work — acting as the daily point of reference for technical questions, translating business requirements into robust architecture, and making sure everything we ship stays scalable and maintainable.

I'm a detail-oriented engineer who cares about clean code, functional programming, and continuous improvement, and I'm just as comfortable in a room full of people as I am deep in focus on a hard problem alone. My curiosity keeps me learning: right now I'm going deeper into Rust and Kubernetes, the two pieces I want next in my toolbox.

I've also fully embraced the agentic era. Claude Code is part of my daily workflow — I write specs before prompts, run agents across large legacy codebases to carry out refactors that used to take weeks, wire up MCP tooling so agents can reach the systems I actually work in, and use AI-assisted review as a first-pass safety net before a human ever opens the pull request. I treat agents as a force multiplier for engineering judgment, never a replacement for it, and I enjoy helping teammates build the same habit.

Away from the keyboard I shoot photography, follow American football closely, and travel every chance I get — the last one being my favorite thing in the world.

Languages

  • Java
  • TypeScript
  • PostgreSQL
  • Rust

Frameworks

  • Spring Boot
  • React / Next.js
  • NestJS

Technical skills

  • NodeJS
  • Python
  • PL/SQL
  • Functional Programming
  • Linux
  • Git
  • Docker
  • Testing (JUnit & Jest)
  • Agile & Jira

Soft skills

  • Team Leadership
  • Mentoring & Coaching
  • Stakeholder Communication
  • Problem Solving
  • Adaptability

AI-Assisted Engineering

  • Claude Code
  • Agentic Workflows
  • Spec-First Prompting
  • MCP Tooling
  • AI-Assisted Code Review
  • Automated Test Generation

Education

  • Higher Diploma in Multiplatform Application Development I.E.S. Lázaro Cárdenas · 2013–2016

Certifications

  • Ultimate Rust Crash Course Parts 1 & 2
  • Python — The Practical Guide
  • TypeScript — The Complete Guide

Spoken languages

  • Spanish Native
  • English Professional working proficiency

Experience.

Current

CaixaBank Tech

Squad Lead
Promoted from Senior Software Engineer
Las Rozas de Madrid · Feb 2025 — Present
  • Java
  • Spring Boot
  • React
  • TypeScript
  • Microservices
Flip for details
What I do
  • Lead a squad of developers, balancing hands-on development with planning, estimation, and strategic delegation of the team's work.
  • Act as the daily technical reference — answering design questions, unblocking tasks, and keeping delivery flowing.
  • Partner with business stakeholders to turn requirements into robust technical solutions, contributing architecture from the earliest phases of a project.
  • Build full stack banking features for internal and customer-facing channels, designing scalable REST APIs around clean code and functional programming — and safeguarding the quality standards the team ships against.

Mercedes-Benz Group Services

Full Stack Developer
San Sebastián de los Reyes · Nov 2021 — Feb 2025
  • Node.js
  • React
  • TypeScript
  • PostgreSQL
  • Docker
  • Jest
Flip for details
What I did
  • End-to-end development of internal applications for business process management and automation with Node.js, Express, React, and TypeScript.
  • Designed schemas and advanced PostgreSQL queries, optimizing the performance of heavy operations and reporting.
  • Built and maintained REST APIs, including integrations with corporate systems and third-party services.
  • Ensured quality through Jest unit tests and systematic code review inside Agile frameworks, working daily with Docker, Postman, and DBeaver.

Randstad España

Back End Developer
Madrid · Mar 2020 — Feb 2021
  • Java
  • Spring Boot
  • MongoDB
  • Jenkins
  • JUnit
Flip for details
What I did
  • Built microservices and RESTful APIs with Java, Spring Boot, and Spring MVC for internal management applications.
  • Worked with PostgreSQL and MongoDB, designing data models and queries.
  • Implemented CI/CD pipelines with Jenkins, version control with Git, and dependency management with Maven.
  • Wrote JUnit unit tests, fostering a culture of continuous quality under SCRUM.

R. Franco Digital

Back End Developer
Madrid · Nov 2018 — Sep 2019
  • Java
  • Microservices
  • JUnit
  • SCRUM
Flip for details
What I did
  • Java back end development for online gaming platforms, modeling the business logic behind slots and roulette.
  • Consumed and integrated corporate microservices, keeping the system consistent and available.
  • Wrote JUnit unit tests and worked in SCRUM teams with Confluence and Jira.

Alerce

Web Applications Developer
Madrid · Mar 2017 — May 2018
  • Java
  • PL/SQL
  • Struts
  • XML/XSD
  • SonarQube
Flip for details
What I did
  • Back end development with Java and PL/SQL, including complex stored procedures, functions, packages, and triggers.
  • Implemented RESTful and XML/XSD web services for client integrations.
  • Developed with Struts (MVC), managed versions with Subversion, and enforced quality with SonarQube.

GFT Group

Back End Developer
Madrid · Jul 2016 — Mar 2017
  • Java
  • PL/SQL
  • Oracle
  • Struts
  • Maven
Flip for details
What I did
  • Back end development with Java as the middle tier and Oracle PL/SQL at the database layer.
  • Built complex database objects — stored procedures, functions, packages, and triggers — in SQL and PL/SQL.
  • Developed with the MVC pattern using Struts, managing dependencies with Maven and versions with Plastic SCM.
  • Wrote technical documentation and ran unit, automated, and integration tests.