Software engineerVancouver, BC
← All AWS work

AWS Step Functions / 2026

Incident response and capacity

I reproduced a native-memory failure outside the JVM heap and matched the production memory loss with a quantitative model. A separate scaling investigation used 16% fewer hosts in a matched comparison.

Native-memory investigation

Frontend hosts were exhausting memory even though Java heap dumps looked clean. I built a local reproduction and traced retained memory to a native allocator used by a library on the request path.

I tested the mechanism on a staging host and compared the model with production. It predicted 3.67 GB of retained memory for a host that had lost 3.66 GB. I documented the reproduction and handed the owning team the mechanism and code issues.

Containment came from a rollback. The permanent library fix belonged to the owning team.

Scaling policy

I investigated recurring capacity alarms and found that the first scale-up step could hit the group's maximum before the service needed that much capacity. I evaluated alternative explanations before changing the initial step from 20% to 5%, preserving the larger steps for surges.

Across 773 matched five-minute production periods, the smaller step used 16% fewer hosts. Average decision latency was 98.92 ms before and 98.33 ms after. The comparison covered one production workload.

Operational follow-through

I turn incident findings into code, monitoring changes, and runbooks. Other work includes a shared canary-ordering fix, host-management procedures, and deployment rollback guidance.

Technologies

Java · Native memory · Production debugging · Autoscaling · Performance analysis