Skip to main content
  1. Work Experience/

Amazon - Software Developer I

·2 mins

Here, I worked on worked on systems related to reimbursement and reconciliation for Fulfillment by Amazon, where I learned more about what the day-to-day looks like working on a software team.

Working alongside 2 senior engineers, my inital work was on developing and integrating new intelligence components in parts of FBA inventory systems in order to optimize usage of certain inventory pools across a variety of factors. I owned complete low-level design and implementation of an asynchronous message processor in Java. Notable works:

  • I worked with an equivalent of AWS EventBridge Scheduler to implement a message re-processing system.
  • Keeping dependency rate limits in mind, I designed the processor and re-processing system to apply smooth traffic patterns.
  • I learned how to use AWS Lambda and SQS, and learned how to use AWS CloudFormation to provision infrastructure.
  • I set up the AWS Virtual Private Cloud (VPC) for not only this service, but new neighboring services.
  • I led operational readiness reviews. After documenting failure modes, I implemented recovery processes (ex. DLQ re-driver), created oncall runbooks, and created monitors and paging hooks.
  • After leading performance testing, the system reguarly processed on the order of 1MM messages per day.

This taught me about what it takes to develop a microservice from the ground up, what a healthy operations culture looks like, as well as how to make low level design decisions.

I then I made integrations into other teams’ codebases for Java-based reimbursement systems. Notable works:

  • I mitigated release risk using feature flags and incremental rollouts, targeting particular segments of inventory.
  • I also refactored away 100s of lines of technical debt safely.