Pedro Mosquera

Senior software engineer (~14 yrs) · AI/agentic, product ownership, leading while hands-on

Barcelona, Spain · always up for a good conversation

Fourteen years building web products end to end. Lately: Davis CoPilot at Dynatrace, and the grounded AI agent on this page. Ask it anything about me.

Connect on LinkedIn → Download CV (PDF)

Prefer a terminal? psst, engineers
ssh pedromosquera.com

The whole thing also runs as a TUI over SSH, paste that into your terminal.

About

Senior software engineer and product owner with around 14 years building web products end to end. I lead while staying hands-on: my goal is to guide a team and still add value directly, whether that's writing code, shaping the product, or working through a hard problem with the people building it.

Right now my focus is AI done well: agentic features grounded in real signals that earn trust, not free-form output. I care about clear delivery, strong teams, and software that solves the user's actual problem. This whole site (a Go binary serving an SSH app and a grounded agent) is one small proof of that.

Experience

2020-Present

Dynatrace

Senior Software Engineer & Product Owner · Barcelona, Spain

  • Helped build the core of Davis CoPilot, Dynatrace's generative-AI assistant, as both Product Owner and developer, in a space (LLMs) that was brand-new to me. It turns plain English into Dynatrace Query Language (DQL), generates dashboards and notebooks, and explains queries, grounding answers in real observability and security data (predictive and causal AI) instead of free-form output.
  • More recently, building agentic software at Dynatrace, a different shape of problem from Davis CoPilot. Instead of answering a question, AI agents that plan, act, and verify their way through real work, with the grounding and guardrails to be trusted in production. Hands-on with how you design, evaluate, and ship systems that delegate real tasks to agents.
  • Help drive internal AI adoption at Dynatrace, sharing practical knowledge, good practices, discoveries, and tools so colleagues get more out of AI in their day-to-day work.
  • Owned data-visualization components (charts) in Strato, Dynatrace's design system, as Product Owner and developer, used by app teams across the company.
  • As Product Owner for Log Monitoring (powered by Grail), owned all UI delivery.
  • Led delivery within a team of 6-7 and mentored the team toward the product vision; guided three colleagues toward Product Owner roles (one stepped fully into the role, the others through shadowing).
  • Acted as customer zero, dogfooding the product daily and feeding findings straight back into delivery.
  • Delivered 85%+ of committed sprint work and cut incoming bugs from 4-6 to two or fewer per two-week sprint.
  • Built and optimised Angular and TypeScript front-ends and worked closely with backend teams.
2017-2020

Clarivate

Senior Programmer Analyst · Barcelona, Spain

  • Helped build life-sciences R&D platforms from the ground up, including Cortellis Pre-Clinical Intelligence and Drug Research Advisor, a target-druggability tool that was a 2016 Fierce Innovation Awards finalist in Data Analytics / Business Intelligence.
  • Owned the frontend architecture on Angular and webpack, with a plugin toolchain tailored to the product.
  • Designed data-dense interfaces that make complex, high-stakes scientific data (drug targets, druggability, biomarkers, patents, pharmacokinetics) clear and usable, so researchers can act on critical information quickly and with confidence.
2016

Thomson Reuters

Frontend Developer · Barcelona, Spain

  • Built data-rich web interfaces in AngularJS and Angular for life-sciences R&D products; this work carried into Clarivate after the 2016 spin-off.
2015-2016

GFT Group

Web Developer · Barcelona, Spain

  • Built and maintained features on an online platform in an agile / Scrum team, working directly with stakeholders.
2012-2015

SIGMA

Web Developer · Spain

  • Built and optimised software for universities in Java and JavaScript; supported and trained customers.

How I work

As Product Owner I ran prioritisation, research, and stakeholder alignment while still writing and reviewing code, so direction and delivery never drifted apart. I led delivery within a team of 6-7 toward the product vision.

I mentored three colleagues toward Product Owner roles: they shadowed me through backlog refinement, planning, and stakeholder conversations, then took over real ownership with regular, specific feedback. One stepped fully into the role. Along the way I moved the team from a single backlog-owning PO to distributed epic owners who run their own refinement and delivery, and built onboarding tools to bring juniors and interns up to speed. Almost every epic agreed with stakeholders shipped on time.

Management is where I am heading; this is the experience I bring with me.

Skills

AI / Agentic

  • Generative AI in production
  • LLM-powered features
  • Agentic systems & grounding (RAG-style)
  • Guardrails, evals & prompt-injection defense
  • Prompt engineering
  • Natural-language → query (DQL)
  • Multi-provider LLM failover (OpenAI, Anthropic)

Languages

  • TypeScript / JavaScript
  • Java
  • Go

Frameworks & tools

  • Angular
  • React
  • Node.js
  • Webpack

Backend & infra

  • Go
  • Docker & distroless containers
  • REST / JSON APIs
  • Rate limiting, circuit breakers & caching
  • Observability

Product & Leadership

  • Product ownership
  • Agile / Scrum
  • Stakeholder management
  • Mentoring & delivery leadership

Architecture & Reliability

  • UI architecture
  • Design systems
  • Frontend performance
  • System design

Projects

SquadAI

One local control plane for the AI coding agents I use. Declare the operating model (context, memory, permissions, MCP servers, model choices, workflows) once, and a single command writes the native config for OpenCode, Claude Code, Cursor, Windsurf, and Copilot. Solo-first, with policy, verification, and drift checks for teams. A Go CLI with an interactive Bubble Tea TUI, shipped via Homebrew.

  • Go
  • CLI
  • TUI
  • AI coding agents
  • MCP
  • Homebrew
  • open source

ssh pedromosquera.com

This CV, built as one small Go binary that serves three faces from a single content source. It is a terminal UI over SSH, a matching web page, and a grounded AI agent you can chat with. The agent answers only from the CV, with multi-provider LLM failover (OpenAI and Anthropic), prompt-injection defense, evals, per-IP rate limiting, a persisted budget circuit breaker, and a response cache, all shipped on a hardened, distroless, non-root container behind a strict Content-Security-Policy.

  • Go
  • SSH
  • AI agent
  • RAG / grounding
  • LLM failover
  • prompt-injection defense
  • Docker / distroless
  • rate limiting
  • circuit breaker
  • TUI

Education

Cross-Platform Application Development (Desarrollo de Aplicaciones Multiplataforma)

Higher Vocational Training (CFGS), Barcelona, Spain

Systems Administration (Administración de Sistemas)

Higher Vocational Training (CFGS), Barcelona, Spain

Availability

Remote
Remote preferred (EU time zones); on-site or hybrid in Barcelona
Seniority
Senior / Lead engineer, open to Engineering Manager
Languages
Spanish (native), English (professional working proficiency), French (elementary), German (beginner, learning)

How this site works

The page you're reading is itself a work sample, here's what it demonstrates:

  • One Go binary, one content source, this CV renders three ways (a terminal UI over SSH, this web page, and an AI agent you can talk to), all from a single source.
  • The agent is grounded, it answers only from the CV and says so when something isn't there, instead of inventing. Anything you paste is treated as untrusted data, never as instructions.
  • Guardrails, per-IP rate limits, a per-IP daily cap, a global limit, a hard monthly and daily budget with a circuit breaker that survives restarts, and a response cache, so the chat can't be run up as a bill or a denial-of-service.
more
  • Resilience, it can fail over between two LLM providers, and degrades gracefully, if the agent is disabled or over budget, the rest of the page keeps working.
  • Locked down, a distroless, non-root, read-only container with all Linux capabilities dropped, a strict Content-Security-Policy (no inline scripts), and an SSH endpoint that can only ever drive the read-only TUI, no shell, exec, or filesystem.
  • It's tested, unit tests, a race-clean concurrency suite, and an optional live evaluation of the agent's grounding.

Built in Go, one binary, three faces.

Contact

Best way to reach me is LinkedIn. If anything here resonates, send a note and let's talk. My code is on GitHub.