I think of my career as a stack.
Not a technology stack in the narrow sense, but a stack of mental models. Each phase added another layer: electronics, networking, operating systems, Kubernetes, platform engineering, Go, and now cloud-scale architecture.
The useful part is not just the list of technologies. It is how each layer changed the way I debug, design, and reason about systems.

Layer 1: Electronics Engineering
Electronics gave me my first real engineering discipline: respect the signal, respect the boundary, and do not guess before measuring.
When you work close to hardware, vague explanations do not survive for long. A circuit either behaves correctly or it does not. Noise, timing, power, grounding, and component behavior all matter. That environment taught me patience and forced me to build a habit of tracing problems from first principles.
That mindset still helps in software. When a distributed system behaves strangely under load, I often find myself thinking the same way: where is the signal changing, where is the boundary leaking, and what assumption is no longer true?
Layer 2: Computer Networking
Networking made systems feel real.
It is easy to draw clean service diagrams. It is harder to understand what actually happens between two machines: packets, routes, latency, drops, retries, timeouts, and the quiet failure modes that only appear under pressure.
This phase taught me how communication breaks. Routing and switching, TCP/IP, packet loss, DNS, latency, and connectivity troubleshooting gave me a practical understanding of failure paths. More importantly, it changed how I look at distributed systems. A request is not just an API call. It is a chain of dependencies, and any weak link can shape the user experience.
That network-level intuition became one of the most valuable parts of my foundation.
Layer 3: OS and Kubernetes Engineering
From networking, I moved closer to the runtime: Linux, processes, containers, orchestration, and Kubernetes.
This is where “it works on my machine” stopped being acceptable. The question became: can it run reliably, repeatedly, and observably in an environment that changes constantly?
Kubernetes taught me to think in desired state, scheduling, health checks, resource limits, rollouts, and failure recovery. Linux taught me to respect the runtime underneath it all: processes, filesystems, memory, networking, permissions, and logs.
This layer connected debugging with operations. A good fix was no longer only a code change. It also had to be deployable, observable, and safe to run in production.
Layer 4: Server Platform Engineering + Go
Platform engineering pulled those earlier layers together.
The work became less about one machine or one service and more about building reliable foundations for other engineers and systems. That means APIs, automation, control planes, operational tooling, deployment paths, and boring reliability.
Go fit naturally into that phase. It is practical, readable, fast enough for infrastructure work, and strong for long-running backend services. Its concurrency model maps well to the kind of problems platform teams face: workers, queues, network calls, retries, timeouts, and coordination.
This stage sharpened a different skill: designing systems that are understandable months later. Platform code has to survive maintenance, incidents, handoffs, and changing requirements. Clever code is less valuable than clear behavior, stable contracts, and good operational boundaries.
The thread across the layers
Looking back, each layer built on the previous one:
- Electronics taught me to diagnose from first principles.
- Networking taught me how systems communicate and fail.
- Linux and Kubernetes taught me runtime discipline.
- Platform engineering taught me to build for reliability, not just functionality.
- Go gave me a practical language for building infrastructure software.
The pattern is clear: every abstraction leaks eventually. Hardware leaks into operating systems. Networks leak into applications. Runtime behavior leaks into user experience. Good engineers learn to move between layers without getting lost.
That is the real value of the stack. It is not about collecting tools. It is about building enough depth to ask better questions when something breaks.
Where I am heading
The next layer for me is cloud architecture at a larger scale.
That means thinking more deeply about multi-region systems, managed services, cost-aware design, platform reliability, security boundaries, and how teams operate complex infrastructure without turning it into a fragile maze.
I still see the same stack underneath it all:
Hardware -> OS -> network -> containers -> orchestration -> platforms -> cloud.
Different layer, same discipline.
What I want this blog to become
I want to use this space to write about the practical side of engineering:
- Linux and Kubernetes troubleshooting.
- Go patterns for platform and backend systems.
- Reliability lessons from real operational work.
- Architecture notes while moving deeper into cloud-native design.
The goal is simple: write down the lessons that make systems easier to understand, operate, and improve.