João Carlos de Paiva — Backend Java & AI Engineer (EN)
Interactive CV of João Carlos de Paiva — backend Java, Quarkus, Elasticsearch, agents and MCP. Coimbra, Portugal.
joao carlos de paiva
Backend Java Developer & AI Engineer
I build APIs where failure costs money or takes a service down. Today on large-scale, high-traffic digital platforms; before that in e-commerce, a healthcare marketplace and payments. Alongside that, I build and run agentic AI systems: around 290 internal tools exposed to an agent over MCP, with human approval on sensitive actions.
initialising profile ............
stack: java, quarkus, elasticsearch
mounting /career ................
ai layer: mcp, agents, llms .....
status: open to offers ..........
Dev experience
Based in
Coimbra, Portugal
Work authorisation
Legal resident · EU
Setup
Remote · hybrid · on-site
./view_career
./send_email
./github
./print_pdf
grep technology ./career
A list of technologies never tells you whether something was used for a week or two years. Pick one: the timeline below highlights only the tasks where it appears, and the console reports which roles and for how long.
Backend Java Developer
Fyld
Portugal · large-scale, high-traffic digital platforms · client and domain under NDA
nov 2025 → present
Platforms serving content from a headless CMS, with Elasticsearch-backed search and Redis caching. I work on the API that ties those pieces together, in a multi-module Maven project.
I build and maintain Quarkus APIs integrated with Squidex CMS over GraphQL, Elasticsearch, Redis and WSO2.
Quarkus, GraphQL, Elasticsearch, Redis
quarkus java squidex elasticsearch redis graphql wso2 maven
Reduced cognitive complexity in core mappers flagged by SonarQube, with no change to functional behaviour.
SonarQube, Refactoring
sonarqube java
Hardened service resilience with error handling and structured logging, including fixing NOT_FOUND failures for articles missing from the CMS.
Java, Observability
java quarkus squidex
Resolved 186 issues flagged by SonarQube and raised test coverage from 40% to 80%, using a SonarQube MCP Server I set up for my own workflow (Docker + VS Code), including unblocking a TLS certificate from the client's internal CA.
SonarQube, Test Coverage, MCP, Docker
ia mcp sonarqube docker
Designed custom agents for research, planning, implementation and review, tailored to the Java/Quarkus codebase.
Applied AI, Code review
ia mcp java quarkus
Java Developer
SmartBR
Cascavel, PR (Brazil) · remote from Portugal since nov/2023
feb 2023 → nov 2025
A group running e-commerce for health and aesthetics equipment (with physical stores and franchises), a clinic-booking marketplace with over 530 clinics across 240 cities, and its own digital account operation. I worked on the card and payment microservices, where an integration error means a failed transaction and a customer call.
Built and maintained card and payment APIs, including integration with external payment platforms.
Java, Payments
java quarkus spring postgres
Standardised exception handling across external integrations, with typed deserialisation of provider errors and controlled fallback — diagnosing failures no longer required reading raw logs.
Java, Resilience
java clean-arch quarkus
Implemented asynchronous messaging with Apache Kafka between microservices.
Kafka, Microservices
kafka java
Handled production fixes with direct financial impact, across PostgreSQL and Quarkus/Spring services, including query optimisation.
PostgreSQL, Spring
postgres java spring quarkus
Applied Clean Architecture, SOLID and design patterns (Strategy, Factory, Builder) to the structure of the modules.
Clean Architecture, SOLID
clean-arch java
Set up service deployment on Kubernetes in the company's staging environment.
Kubernetes, Linux, Staging
kubernetes docker linux
Group products:
ISP Saúde
ShopVita
Vitaverse
DafePay
Support Technician
Cascavel, PR (Brazil)
feb 2022 → feb 2023
First role in the field, in direct contact with the people using the system every day.
Technical support for the company's CRM and ERP, with debugging and bug fixing.
SQL, Support
sql postgres
Highest volume of issues resolved on the team — which is what led to the move into Java development.
Internal promotion
Java
Quarkus
3.x
Spring Boot
Elasticsearch
Apache Kafka
Redis
PostgreSQL
GraphQL
Squidex CMS
headless
WSO2
API Manager
Maven
multi-module
Clean Architecture
SOLID
SonarQube
Docker
Kubernetes
staging
Linux
diário + servidores
SQL
MCP / agents
agentic AI
LangChain4j
own projects
React 18
GitHub Actions
CI/CD
grep -r "{tech}" ./career
grep -r "" ./career
no active filter — showing the full career
0 matches in the professional timeline
--summary
--verbose
no recorded use
career --timeline
One year in support, then Java development across e-commerce and payments and, since 2025, on large-scale digital platforms.
percurso
ls ~/projects
My own systems, in production and in daily use. This is where the agentic AI work is actually built and operated, not just studied.
● in production · with a real client
Smaug System
Multi-tenant SaaS platform for appointment-based service businesses: POS, scheduling, finance, CRM, website CMS and multichannel messaging behind a single login. Running in production for the barbershop Dom Barber, whose public site is managed by the platform's CMS. 12 reactive Java/Quarkus applications (gateway + 11 domain services) in Clean Architecture, PostgreSQL per service, Redis, Elasticsearch and MinIO.
Agentic AI layer built on LangChain4j with native MCP: around 290 internal tools exposed to an agent that decides which to invoke, with mandatory human approval on sensitive actions — the same runtime serves the internal chat and WhatsApp. CI/CD through GitHub Actions with continuous deployment to my own VPS. Designed, built and operated by me.
platform
product
docs & API
live client
Quarkus · React 18 · LangChain4j · MCP · PostgreSQL · Elasticsearch · Redis · MinIO · Docker · Linux
● daily use
AI Tools — multi-agent orchestration
28 specialised agents that break the development cycle into phases, each validated by deterministic scripts before moving on — instead of a single agent that simply claims it is done.
A Node.js console with cascading permissions (deny/ask/allow, where the classifier only reads global config so a project cannot grant itself access), a curated MCP server catalogue acting as an allowlist against command injection, atomic config writes, and a code knowledge graph built by static analysis (AST + networkx) with community detection and hub identification — queryable in milliseconds, with no model calls at all.
Node.js · MCP · Bash · Git worktrees · AST · networkx
CRM with WhatsApp integration
Contact management with a Kanban board and a Provider Pattern, so new messaging channels can be added without rewriting the core.
Java · Quarkus · Provider Pattern
cat education.log
MBA in Software Engineering with AI
in progress · since 2026
Faculdade Full Cycle de Tecnologia (FCTECH) · 400 h — LLMs, RAG, agentic workflows, MCP
BSc in Software Engineering
completed · 2025
Universidade Norte do Paraná (Unopar)
Software Architecture and Best Practices · 37 h
CRIAP Business, Lisboa · abr 2026
Requirements engineering, architectural styles and decomposition, non-functional requirements, quality
Complete Guide to Elasticsearch · 13 h
Udemy · jun 2026
locale
Stated as it is, so there are no surprises on the first call.
pt — native
Working language.
en — A2
I read technical documentation in English every day. Spoken English is not yet at meeting level — actively working on it.
contact --now
I reply the same day. The print button generates a clean PDF of this page, in the language currently selected.
── João Carlos de Paiva · Coimbra, Portugal ──
engineer.johnpaiva@outlook.com
Phone
github.com/Joaooh98
GitHub
inline