About
Engineering Philosophy
I believe in building systems that are simple, observable, and maintainable. Good engineering is not about using the latest technology — it's about making the right trade-offs for the problem at hand.
Principles
- Simplicity first — Prefer straightforward solutions over clever ones. Complexity should be justified.
- Design for failure — Distributed systems fail. Design with resilience, graceful degradation, and clear failure modes.
- Observability over debugging — Structured logging, metrics, and tracing should be first-class citizens, not afterthoughts.
- Automate the boring stuff — CI/CD, infrastructure-as-code, and repeatable processes free up time for real engineering work.
Tech Stack Overview
| Layer | Technologies |
|---|---|
| Backend | Java, Spring Boot, Kotlin |
| Infrastructure | AWS, Kubernetes, Terraform |
| Data | PostgreSQL, Redis, Kafka |
| Observability | Grafana, Prometheus, OpenTelemetry |
| CI/CD | GitHub Actions, ArgoCD |
About This Site
This site serves as a personal engineering archive — a place to document architecture decisions, system designs, and lessons learned from real-world projects. It's built with VitePress and deployed via GitHub Pages.