case/experiences/brasilprev
02/08
Brasilprev·São Paulo, BR·Apr 2024 - Apr 2026

Tech Lead Developer (Open Insurance)

Stepped into Tech Lead by my predecessor's recommendation; focused on what was hurting most - debuggability against the regulator.

Tech Lead
by TL recommendation
0 → seconds
to assign bug ownership
95%+
TDD coverage held
CLT
contract

After two years as Senior Developer in the Open Insurance team - where I helped shape the layered Clean Architecture, brought TDD coverage from 0 to ~90%, and led the migration of the company's app from Cordova/WebView to React Native with 2FA and biometrics - the previous Tech Lead recommended me for the role. As Tech Lead I focused on what was hurting us most: debuggability against the regulator. The breakthrough was AWS log redesign that made every failure traceable to its real owner.

01

Promotion

Two years in as Senior Developer on the Open Insurance team - the previous Tech Lead asked the leadership to put me in his seat. He'd had doubts about a few directions; the recommendation was unsolicited and explicit. I took the role because I'd already lived the team's pain points first-hand.

02

The hardest problem: who owns this bug?

Open Insurance is a regulated multi-party API ecosystem (SUSEP + Opin Brasil + every participant institution). When something failed, three teams pointed at each other. We could spend a day proving a contract break came from another bank. Logs gave us status codes, not contracts.

Tech Lead
by TL recommendation
03

AWS log redesign

Restructured CloudWatch emission across the platform: every inbound request body, every outbound integration request and response, every regulator callback, all landing with correlation IDs that survive across services. Sensitive fields scrubbed. The team got a single search to reconstruct any flow end-to-end.

04

Outcome

Bug ownership stopped being a debate - within seconds we could show whether the response shape we received from a participant or the regulator broke its own published contract. Triage time collapsed; the team's credibility with SUSEP/Opin partners went up.

decisions & tradeoffs
  • Why log full bodies instead of just status codes?
    Bodies + correlation IDs, sanitizedOpen Insurance is contract-governed. A 200 OK with a wrong field is a regulatory violation. Without the response body we couldn't prove who broke the contract - us, the regulator or another bank. Sanitization handles the sensitive parts; the rest is required evidence.
  • Why React Native for the app migration (done as Senior)?
    React NativeThe app was Cordova + WebView, delegating most logic to the website. The web team was already a React shop. RN reused that TypeScript and tooling muscle, shared patterns with the Design System we'd just built, and avoided maintaining a fork between iOS and Android codebases.
  • Why TDD as a hard PR gate?
    Tests required to mergeA regulated pension and Open Insurance platform cannot afford regressions. The gate forces design-for-test from the first commit and removes the 'I'll add tests later' debt that always compounds - particularly when integration contracts change without warning.

The team got a debugger that finally matched the regulated reality of Open Insurance: every failure traceable to its real owner. Bug triage went from a daylong battle to seconds.