William Lopez Obregon

~/workspace

William Lopez
Obregon

Senior Developer with 8+ years building high-impact products with microservices architecture. Passionate about cloud-native systems, distributed processing, and AI-powered tools.

I believe great software is built at the intersection of solid engineering, continuous learning, and a genuine passion for impact. I'm fluent in Spanish and professional in English (B2).

william.json
{
  "name": "William Lopez Obregon",
  "role": "Senior Backend Developer",
  "location": "Madrid, Spain",
  "experience": 8,
  "stack": [
    "Java", "Spring Boot",
    "Kubernetes", "GCP",
    "Angular", "Quarkus",
    "AWS", "Azure",
    "Docker", "DevOps",
    "Rust"
  ],
  "social": {
    "github": "https://github.com/wlopezob",
    "linkedin": "https://linkedin.com/in/wlopezob",
    "youtube": "https://youtube.com/@wlopezob",
    "email": "wlopezob@gmail.com"
  }
}
02 / skills

Technical Stack

Languages

Java 8/11/17/21TypeScriptJavaScriptRust

Frameworks

Spring BootSpring CloudSpring WebFluxAngularQuarkusAxum

Cloud & DevOps

GCPAzureAWSKubernetesDockerArgoCDTraefikJenkinsAzure DevOpsSonarQube

Databases

PostgreSQLOracleMySQLMongoDBRedisSQL Server

AI & Tooling

AI AgentsMCP (Model Context Protocol)Claude Code CLICursorGitHub Copilot

Observability

GrafanaBigQueryKibanaPrometheusOpenTelemetryDynatrace
03 / experience

Work History

Senior Java Backend Developer

Glintt Global

Jul 2024 – PresentMadrid, SpainCurrent
  • Led the migration of legacy applications (batch jobs, microservices, and Mule applications) from on-premise infrastructure to Google Cloud Platform (GCP).
  • Managed production deployments using Jenkins pipelines, deploying applications to Google Kubernetes Engine (GKE) with Helm charts.
  • Implemented monitoring and observability using Grafana, and centralized log analysis using BigQuery.
  • Developed workflows and activities using Cadence for distributed and asynchronous processing.
  • Collaborated with cross-functional teams to ensure scalability, reliability, and high availability of cloud-native systems.
  • Development of AI agents and MCPs as tools to improve team productivity and complete tasks on deadline.
JavaGCPGKEJenkinsHelmGrafanaCadenceAI AgentsMCP

Senior Backend Developer

Banco de Crédito del Perú (BCP)

Mar 2024 – Jul 2024Lima, Peru
  • Developed and maintained REST APIs within a microservices architecture using Java, Spring WebFlux, and RxJava.
  • Contributed to frontend development for specific features using Angular, working closely with frontend teams.
  • Managed CI/CD pipelines with Jenkins, handling deployments to production environments.
  • Implemented logging and monitoring using Kibana and Dynatrace, improving system observability and reliability.
  • Took ownership of tasks from development through production release, leading technical execution for assigned initiatives.
  • Worked in Microsoft Azure environments, deploying services on Azure Kubernetes Service (AKS).
  • Used Redis and MongoDB for caching and data persistence in high-availability systems.
  • Worked in Agile/Scrum teams, collaborating closely with product owners, QA, and cross-functional stakeholders.
JavaSpring WebFluxRxJavaAngularAzureAKSJenkinsRedisMongoDB

Technical Lead — Java / Microservices

NTT DATA Peru (assigned to BCP)

Jun 2021 – Mar 2024Lima, Peru
  • Worked as a Technical Lead and Backend Developer assigned to Banco de Crédito BCP while employed at NTT DATA, contributing to the same platform later continued as an in-house role at the bank.
  • Designed and developed backend services and REST APIs using Java and Spring Boot within a microservices architecture.
  • Led technical tasks from development through production deployment, coordinating with cross-functional teams.
  • Contributed to frontend development using Angular (v12) for selected features.
  • Implemented CI/CD pipelines, containerization with Docker, and deployments on Kubernetes.
  • Applied code quality and security practices using SonarQube.
  • Worked in Microsoft Azure environments, following Agile/Scrum methodologies.
JavaSpring BootAngularDockerKubernetesAzureSonarQube

Full Stack Software Engineer

JUNTOS — MIDIS (Government of Peru)

Sep 2018 – Jan 2021Lima, Peru
  • Maintained and enhanced the national household registry system for vulnerable populations in Peru, supporting a government social program.
  • Developed new internal applications based on requirements from different functional areas.
  • Worked with Oracle Database, handling data persistence, queries, and integrations in a high-responsibility system.
  • Took initiative in proposing and adopting modern technologies, introducing Docker, Kubernetes, microservices architecture, and Angular to improve scalability and maintainability.
  • Designed and developed full stack solutions using Java, Spring Boot, and Angular.
  • Contributed to DevOps and cloud practices, including containerization and CI/CD pipelines.
  • Ensured stability, data integrity, and reliability in a critical government environment.
JavaSpring BootAngularOracleDockerKubernetes

Full Stack Software Engineer

CONGEMIN JH SAC

Jul 2017 – Jul 2018Lima, Peru
  • Led full-stack development of operational control systems for diesel and electronic equipment, including runtime (hour-meter) registration.
  • Built a logistics and warehouse management application to optimize inventory control and operational workflows.
  • Achieved up to 80% productivity improvement by automating manual processes and improving system performance.
  • Backend development using Java 8 and Oracle Database 11g; frontend development with Angular 5.
Java 8Angular 5Oracle
04 / portfolio

Projects

Rust
Whisper Bar

A macOS status bar application built in Rust that enables real-time voice transcription using OpenAI Whisper. Features LLM post-processing, configurable hotkeys, and a native settings UI.

RustAxumSQLiteWhisper AImacOS
Java
Sentiment Analysis

A full-stack application that processes and analyzes comments using AI-powered sentiment analysis. Features a Quarkus backend with LangChain4j and OpenAI integration, and an Angular frontend with interactive charts (bar and pie), CSV upload, and AI-generated insights.

QuarkusAngularOpenAILangChain4jJava
DevOps
AWS DevOps — EKS with Terraform

Infrastructure-as-code project deploying a private Amazon EKS cluster using Terraform. Includes API Gateway integration, Network Load Balancer ingress controller, VPC Link for secure private communication, Route 53 DNS with custom domain, and complete CI/CD pipeline.

AWSEKSTerraformKubernetesAPI Gateway
DevOps
AKS DevOps — Terraform & Helm

Infrastructure project deploying Azure Kubernetes Service (AKS) with Terraform and Helm. Configures Ingress Controller for external access and deploys SonarQube for continuous code quality analysis within the cluster.

AzureAKSTerraformHelmSonarQube
DevOps
Microservices Observability

Hands-on learning project exploring the three pillars of observability in distributed systems: metrics, logs, and traces. Implements Prometheus scraping, Grafana dashboards, distributed tracing with Jaeger, and centralized log aggregation for Spring Boot microservices.

PrometheusGrafanaJaegerOpenTelemetryDockerJava
Full Stack
Learn English

A full-stack vocabulary learning application with a Spring Boot backend and Angular frontend. Features AI-powered word enrichment via OpenAI, flashcard study mode with pronunciation (TTS/audio), and a responsive Tailwind CSS UI for managing and studying English vocabulary.

Spring BootAngularOpenAITailwind CSSJava
Rust
TodoList REST API — Rust

A production-ready REST API built in Rust with Axum and Tokio. Features clean architecture with Controller → Service layers, auto-generated OpenAPI/Swagger docs via utoipa, request validation with the validator crate, and robust error handling using thiserror. Uses SQLite for lightweight embedded storage.

RustAxumTokioSQLiteOpenAPI
Java
Hexagonal Architecture — Spring Boot

A multi-module Maven project implementing Hexagonal Architecture (Ports & Adapters) with Spring Boot 3 and Spring WebFlux. Features domain-driven design, separate adapter modules for MongoDB and MySQL, and WebClient for external API integration. Demonstrates clean separation between domain, application, and infrastructure layers.

Java 17Spring Boot 3Spring WebFluxMongoDBMySQL
Rust
Police Station API — Rust

A Rust REST API built with Axum and Tokio that scrapes police station data from Peru's MININTER and stores it in MongoDB. Features layered architecture with controller, service, repository, and api_caller layers. Includes a Kafka producer for event streaming and reqwest for external HTTP calls.

RustAxumTokioMongoDBKafka
AI / LLM
MCP Client — LLM Integration

An LLM client built with Python and Google ADK (Agent Development Kit) that discovers and invokes MCP server tools. Connects to an SSE-based MCP server to perform CRUD operations via natural language, powered by Google Gemini.

PythonGoogle ADKGoogle GeminiMCP
AI / LLM
MCP Server — CRUD Tools

A reactive MCP Server built with Spring WebFlux and Java 21, exposing CRUD operations as discoverable tools via the Model Context Protocol. Uses R2DBC with H2 for reactive data access, enabling LLMs to query, create, update, and delete records through standardized MCP tool invocations.

Java 21Spring WebFluxR2DBCH2MCP
05 / education

Academic Background

Master's Degree

Computer Engineering — Software Engineering

Universidad Ricardo Palma

Graduate
Bachelor's Degree

Computer Science & Systems Engineering

Universidad Nacional Agraria de la Selva

certifications

Certifications

AZ

Azure Developer Associate

AZ-204 · Microsoft

AZ

Azure Fundamentals

AZ-900 · Microsoft

J

Java SE 11 Developer (OCP)

1Z0-819 · Mitocode

AWS

AWS Developer + Cloud Practitioner

Certi+

DO

DevOps Essentials Professional

CertiProf