Highlights5
- Monolith to microservices: split a .NET monolith into microservices on Kubernetes as a strangler migration, cutting resource footprint by 35% and infrastructure cost by 20%.
- Release pipeline: SonarQube quality gates that block the merge plus containerized release pipelines, with deploy time down 70% and production incidents down 40%.
- Demand prediction: a Redis-backed desk-reservation service for 300+ offices at Fortune 500 companies; reported occupancy improved 30% under COVID-era hot-desk constraints.
- Frontend performance: paginated fetching and AWS S3-backed assets made the Angular student-listing screen 30% faster, and MySQL query rewrites cut class-details latency a further 10%.
- Single-page apps: React and Redux apps with normalized client-side state and typed REST integration raised measured UX scores by 40%.
More detail
All 6 points
Breaking up the monolith
- Ran the split as a strangler migration behind the existing API, so routes moved service by service while the monolith kept serving and no release needed a big-bang cutover.
- Found the 35% footprint cut in the requests and limits rather than the code: pods had been provisioned for a peak that the observed usage never reached.
Delivery pipeline
- Made the SonarQube gate block the merge instead of warning after it, scoped to new code so a legacy backlog could not make the gate meaningless on day one.
The prediction service
- Fed the desk-demand model on historical occupancy by floor, day and team, served from Redis so a booking screen across 300+ sites renders without waiting on a recompute.
Frontend performance
- Cut the class-details page further with index-covering query rewrites after profiling showed the slow path was a full scan behind a join nobody had reviewed since the schema changed.
Internal tooling
- Published an internal npm package wrapping the Slack Web API for paginated message + attachment + reaction retrieval, consumed by the company social platform with semver-disciplined releases.
Tools
- .NET
- C#
- MessageQueue
- Redis
- AWS
- Nginx
- Docker
- Kubernetes
- RabbitMQ
- Node.js
- SonarQube
- Git