
~/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).
{
"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"
}
}Technical Stack
Languages
Frameworks
Cloud & DevOps
Databases
AI & Tooling
Observability
Work History
Senior Java Backend Developer
Glintt Global
- 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.
Senior Backend Developer
Banco de Crédito del Perú (BCP)
- 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.
Technical Lead — Java / Microservices
NTT DATA Peru (assigned to BCP)
- 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.
Full Stack Software Engineer
JUNTOS — MIDIS (Government of 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.
Full Stack Software Engineer
CONGEMIN JH SAC
- 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.
Projects
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Academic Background
Computer Engineering — Software Engineering
Universidad Ricardo Palma
GraduateComputer Science & Systems Engineering
Universidad Nacional Agraria de la Selva
Certifications
Azure Developer Associate
AZ-204 · Microsoft
Azure Fundamentals
AZ-900 · Microsoft
Java SE 11 Developer (OCP)
1Z0-819 · Mitocode
AWS Developer + Cloud Practitioner
Certi+
DevOps Essentials Professional
CertiProf