Platform engineeringProduction2017 - 2022
Cloud-native microservices for mortgage loan automation
Designed and built many of the platform's scalable microservices on AWS, owning each from design and Terraform to code and deployment.
Edge
CloudFront
Entry for the application
Services
Spring Boot microservices
Docker on ECS and EC2
Events
Kafka and Kinesis
Loan workflow events
Lambda
Event handlers
Data
DynamoDB and RDS PostgreSQL
Operational data
S3
Documents and files
Context
From 2017 to 2022 I was a senior engineer on the platform engineering team behind a mortgage loan automation application. Loan workflows touch many systems, carry regulated data, and have to keep moving reliably at every step.
The problem
The application needed independent, scalable services that could react to loan events, store and serve data safely, and be rebuilt and redeployed repeatably, rather than one large system that every change had to wait on.
My role
Senior software engineer on the platform team. Designed and built many of the platform microservices and managed them end to end: design, infrastructure as code, implementation, and deployment.
Approach
- Built services with Spring Boot 2 and Java 8, packaged with Docker and run on Amazon ECS and EC2.
- Connected services through events with Apache Kafka and Amazon Kinesis, with AWS Lambda for lightweight event handlers.
- Stored data in Amazon DynamoDB, Amazon RDS for PostgreSQL, and Amazon S3, chosen per access pattern.
- Defined infrastructure in Terraform and AWS CloudFormation, served through Amazon CloudFront, and monitored with Amazon CloudWatch.
Outcome
- Services owned end to end by the engineers who built them, from design through infrastructure, code, and deployment.
- Infrastructure defined as code, so environments could be recreated and reviewed like any other change.
- The platform experience that now shapes how I design production AI systems.