<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Staff Engineering on João Vieira (JV)</title>
    <link>https://joaovieira.ca/tags/staff-engineering/</link>
    <description>Recent content in Staff Engineering on João Vieira (JV)</description>
    <image>
      <title>João Vieira (JV)</title>
      <url>https://joaovieira.ca/profile.jpeg</url>
      <link>https://joaovieira.ca/profile.jpeg</link>
    </image>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 03 Jun 2026 22:30:00 -0800</lastBuildDate>
    <atom:link href="https://joaovieira.ca/tags/staff-engineering/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>MongoDB Server Timeout: When Client Timeouts Aren&#39;t Enough</title>
      <link>https://joaovieira.ca/mongodb-server-timeout/</link>
      <pubDate>Wed, 03 Jun 2026 22:30:00 -0800</pubDate>
      <guid>https://joaovieira.ca/mongodb-server-timeout/</guid>
      <description>Discovered why a query ran for 14 hours on MongoDB server despite client timeout: missing server-side timeout configuration. Solutions for MongoClientSettings.</description>
    </item>
    <item>
      <title>JPA Delete Queries and Optimistic Locking: Why Batching Fails</title>
      <link>https://joaovieira.ca/jpa-delete-all-query-not-batching/</link>
      <pubDate>Thu, 22 Jan 2026 22:30:00 -0800</pubDate>
      <guid>https://joaovieira.ca/jpa-delete-all-query-not-batching/</guid>
      <description>Discovered why JPA deleteAll wasn&amp;rsquo;t batching: @Version fields force entity loading for optimistic locking. The fix: explicit @Query annotation.</description>
    </item>
    <item>
      <title>Fixing Tracing Propagation in Spring WebFlux: A One-Line Solution</title>
      <link>https://joaovieira.ca/micrometer-tracing-spring-webflux-propagation/</link>
      <pubDate>Mon, 27 Jan 2025 17:15:24 -0800</pubDate>
      <guid>https://joaovieira.ca/micrometer-tracing-spring-webflux-propagation/</guid>
      <description>Upgrading to Spring Boot 3.2 revealed tracing issues in a WebFlux service. A single line of code fixed broken span propagation and improved debugging.</description>
    </item>
    <item>
      <title>90% of distributed traces observability gone after Spring Boot upgrade</title>
      <link>https://joaovieira.ca/spring-boot-3-tracing-sampling-default-probability/</link>
      <pubDate>Wed, 17 Jul 2024 08:44:24 -0700</pubDate>
      <guid>https://joaovieira.ca/spring-boot-3-tracing-sampling-default-probability/</guid>
      <description>After upgrading Spring Boot version to 3.3.1 we noticed that 90% of our distributed tracing in our observability tool were gone. In this post we tell the story</description>
    </item>
    <item>
      <title>How upgrading from Spring Boot 3.2.5 to 3.3.1 broke our object mapper</title>
      <link>https://joaovieira.ca/spring-boot-3-3-1-jackson-jdk8module/</link>
      <pubDate>Mon, 15 Jul 2024 21:23:24 -0700</pubDate>
      <guid>https://joaovieira.ca/spring-boot-3-3-1-jackson-jdk8module/</guid>
      <description>After upgrading Spring Boot from version 3.2.5 to 3.3.1 we started to have a serialization issue with the Optional class. Check how to fix it in this post</description>
    </item>
    <item>
      <title>Learnings from the book The Staff Engineer&#39;s Path</title>
      <link>https://joaovieira.ca/learnings-book-the-staff-enginners-path/</link>
      <pubDate>Tue, 16 May 2023 20:40:35 -0700</pubDate>
      <guid>https://joaovieira.ca/learnings-book-the-staff-enginners-path/</guid>
      <description>These are my learnings from the book The Staff Engineer&amp;rsquo;s Path: A Guide for Individual Contributors Navigating Growth and Change written by Tanya Reilly</description>
    </item>
  </channel>
</rss>
