João Vitor Nogueira Xavier
DevOps, Platform Engineer and full stack developer
I live in Goiânia, Brazil, and I work on both sides: the pipeline that gets code into production, and the application running on it. I spent five years writing software before moving to infrastructure, and I still write it.

About
I spent five years writing applications, most of it in Ruby on Rails. Systems people used every day, with the problems that come with that.
The thing is, I kept getting stuck on the same things, and none of them were business rules. It was a build that took fifteen minutes. It was a deploy breaking on a Friday with nobody able to say what had changed. So I went to find out, and ended up staying on this side.
These days I do platform work: Kubernetes, continuous delivery, infrastructure as code, observability. I also keep a Rails application in production, and that helps — when someone complains about the pipeline, I know what they mean.
I prefer to go after the cause, even when patching the symptom would be faster. And I write down why a decision was made. Six months later nobody remembers, and the decision turns into folklore.
Experience & Projects
- Jul 2025 – presentRemote
Full Stack Developer (Ruby on Rails)
Freelance
A management platform for personal trainers, in production. Rails 8.1 with the Solid Stack and Hotwire, PostgreSQL, three-tier authorisation through policy objects, workout prescription and nutrition plans.
Health data is sensitive data under Brazilian privacy law, so it goes in encrypted. The suite has 1,409 RSpec tests at 72% coverage, plus Brakeman and bundler-audit in CI. Deployed with Kamal and Docker. From MVP to production in about three weeks, on my own.
- Feb 2026 – Jul 2026Goiânia, Brazil
DevOps / Platform Engineer
BCJ
Delivery pipeline in a financial services environment: GitOps with ArgoCD, CI/CD in Azure DevOps, Docker and Kubernetes.
The pipelines became six shared templates and build time dropped from about fifteen minutes to six or eight. Since I also read the application code, Rails and JavaScript, I could debug the problem instead of handing it back to the team.
- Jun 2024 – Jun 2025Remote
Full Stack Developer
SIEDOS Sistemas e Resultados
Three government portals — Transparency, People Management and Civil Servant Portal — for bodies including the Goiás State Court of Justice, the Goiás State Audit Court and the Brazilian Supreme Court.
REST APIs, data modelling and query optimisation in PostgreSQL and Oracle. Jobs ran about 20% faster. Scrum and TDD.
- Feb 2023 – Dec 2024Remote
Full Stack Developer
Memorial Vivo
A Rails system with Stripe payments and idempotent webhooks.
I took on the production upgrade from Ruby 2.5 to 3.3 and Rails 5.2 to 7.1 — the kind of migration nobody wants and everybody postpones. RSpec tests, RuboCop as the linter, CI/CD on GitHub Actions.
- Feb 2021 – Feb 2023Goiânia, Brazil
Mobile Developer
ABA+ Inteligência Afetiva
A Flutter app for therapists working with autistic children, published on the Play Store and the App Store.
Offline-first with SQLite and Firebase sync, because sessions happen where there is no signal and the data cannot wait.
What I Work With
Grouped by what it solves, not by preference.
- Platform and containers
- KubernetesOKEAWS ECSDockerHelm
- Delivery and GitOps
- ArgoCDAzure DevOpsGitHub ActionsKamalHarborCI/CD
- Infrastructure as code
- TerraformAnsibleHelm
- Cloud
- Oracle Cloud (OCI)AWSCloudflare
- Systems
- LinuxBashShell ScriptGit
- Observability
- PrometheusGrafanaLokiOpenTelemetryFluent Bit
- Messaging and gateway
- Apache KafkaKrakenD
- Languages
- RubyJavaScriptTypeScriptSQLHTML5CSS3
- Backend and data
- Ruby on RailsHotwireSolid StackSidekiqAPIs RESTPostgreSQLOracleRedis
- Frontend and mobile
- ReactStimulusTailwindBootstrapFlutter
- Testing and quality
- RSpecCapybaraRuboCopSonarQubeSemgrep
- Security
- KeycloakEntra IDSSOOIDCRBACAWS Secrets ManagerExternal SecretsGitleaksTrivy
- Spoken languages
- Portuguese (native)English (C1)
Case Studies
The problem, what I did, what changed — and what I would do differently.
Delivery pipeline in financial services
Dozens of near-identical pipelines became six shared templates, and build time dropped from 15 to 6 minutes.
DevOps Engineer at BCJ, February to July 2026GitOps for nineteen services across four environments
Changing a variable used to cost a full deploy. With GitOps it became a sync, applied without taking anything down.
DevOps Engineer at BCJ, 2026Telemetry the platform controls
I built the collection in the cluster with OpenTelemetry, with sensitive fields stripped before anything leaves, and turned logs and metrics into a dashboard someone actually opens during an incident.
DevOps Engineer at BCJ, 2026Infrastructure that only existed in the console
Network, cluster and edge only existed in the console. They became nine Terraform modules, with the decisions written down.
DevOps Engineer at BCJ, 2026Where the secrets actually live
Variables, secrets and parameters lived in three consoles that did not talk to each other. I built the screen that joins them and masks what is sensitive.
DevOps Engineer at BCJ, 2026Closing the doors after the attack
Attacks from several origins at once. The answer was to close the alternative paths: the gateway became mandatory, with verified identity and a per-client ceiling.
DevOps Engineer at BCJ, 2026
Contact
I am looking for platform, DevOps, SRE, backend, frontend or full stack roles. Remote, or on site in Goiânia, Brazil. Any part of the stack works for me.