DEV Community

Son Do profile picture

Son Do

404 bio not found

Joined Joined on 
Six Categories, Some Locked: Designing a Legal Chart of Accounts

Six Categories, Some Locked: Designing a Legal Chart of Accounts

Comments
4 min read
Building MyCase Accounting: Trust Books That Can Look Right While Being Wrong

Building MyCase Accounting: Trust Books That Can Look Right While Being Wrong

Comments
4 min read
The Hardest Part Wasn't the Code: Aligning Stakeholders on Metric Definitions

The Hardest Part Wasn't the Code: Aligning Stakeholders on Metric Definitions

Comments
6 min read
Which Report Goes First: The Migration Sequencing Logic

Which Report Goes First: The Migration Sequencing Logic

Comments
7 min read
Authorization at the API Layer: Why Field-Level Checks Live in GraphQL

Authorization at the API Layer: Why Field-Level Checks Live in GraphQL

Comments
7 min read
Schema Without Churn: GraphQL Design for an Evolving Metrics Model

Schema Without Churn: GraphQL Design for an Evolving Metrics Model

Comments
6 min read
Never Miss a Refresh: Building the Materialized View Pipeline

Never Miss a Refresh: Building the Materialized View Pipeline

Comments
7 min read
One Definition, 30 Reports: How We Designed the Metrics Model

One Definition, 30 Reports: How We Designed the Metrics Model

Comments
7 min read
Why We Didn't Just Add More Indexes: Choosing a Semantic Layer

Why We Didn't Just Add More Indexes: Choosing a Semantic Layer

Comments
6 min read
Ten Reports, Ten Answers: Why Ad-Hoc SQL Doesn't Scale

Ten Reports, Ten Answers: Why Ad-Hoc SQL Doesn't Scale

Comments
6 min read
Why We Chose Permanent Sync Over Migration

Why We Chose Permanent Sync Over Migration

Comments
5 min read
Generalizing Addon Billing Without Touching Stripe or Zuora

Generalizing Addon Billing Without Touching Stripe or Zuora

Comments
6 min read
Webhook Ordering, Version Guards, and the Idempotency Key

Webhook Ordering, Version Guards, and the Idempotency Key

Comments
6 min read
Two Write Patterns from One Architectural Decision

Two Write Patterns from One Architectural Decision

Comments
6 min read
The Family Graph Problem: When Schemas Don't Just Differ in Fields

The Family Graph Problem: When Schemas Don't Just Differ in Fields

Comments
6 min read
Drawing the Sync Boundary: Client and Case Only

Drawing the Sync Boundary: Client and Case Only

Comments
5 min read
The OAuth2 Integration That Was Never Going to Work

The OAuth2 Integration That Was Never Going to Work

Comments
5 min read
Before/After: What 'MyCase Immigration, Powered by Docketwise' Took to Ship

Before/After: What 'MyCase Immigration, Powered by Docketwise' Took to Ship

Comments
5 min read
Two Datadog Panels That Changed How We Page for Payment Failures

Two Datadog Panels That Changed How We Page for Payment Failures

Comments
6 min read
Instrumenting a Payment State Machine: What to Measure and What to Ignore

Instrumenting a Payment State Machine: What to Measure and What to Ignore

Comments
6 min read
SQS FIFO, Visibility Timeouts, and the Idempotency Key That Saved Us Twice

SQS FIFO, Visibility Timeouts, and the Idempotency Key That Saved Us Twice

Comments
6 min read
Lambda for Webhooks, ECS for Workers: Why We Split Them

Lambda for Webhooks, ECS for Workers: Why We Split Them

Comments
6 min read
Three Things That Broke When We Extracted ACH From the Rails Monolith

Three Things That Broke When We Extracted ACH From the Rails Monolith

Comments
7 min read
Running Two ACH Stacks in Parallel: The Shadow Traffic Migration

Running Two ACH Stacks in Parallel: The Shadow Traffic Migration

Comments
5 min read
Where to Cut: Drawing the Extraction Boundary in a Rails Monolith

Where to Cut: Drawing the Extraction Boundary in a Rails Monolith

Comments
6 min read
Why Our Sidekiq Workers Were Killing Web Latency (And How We Fixed It)

Why Our Sidekiq Workers Were Killing Web Latency (And How We Fixed It)

Comments
5 min read
Before We Extracted ACH: What the Architecture Looked Like and Why It Had to Change

Before We Extracted ACH: What the Architecture Looked Like and Why It Had to Change

Comments
7 min read
Before We Built the Semantic Layer: How 30+ Ad-Hoc Reports Worked and Why the Model Had to Change

Before We Built the Semantic Layer: How 30+ Ad-Hoc Reports Worked and Why the Model Had to Change

Comments
8 min read
Why We Synced Instead of Migrating: Bundling an Acquired Product Without a Big-Bang Rewrite

Why We Synced Instead of Migrating: Bundling an Acquired Product Without a Big-Bang Rewrite

Comments
5 min read
The Aggregate Can Lie: Flagging Trust-Account Errors Without Drowning in False Positives

The Aggregate Can Lie: Flagging Trust-Account Errors Without Drowning in False Positives

Comments
4 min read
loading...