"Hello World";

Hi, I’m Taner. I build backend software, and I spend a lot of time thinking about how systems really behave once they hit production.

Most of my work lives close to the edge: real traffic, real failures, and real constraints. I’m especially interested in backend development, distributed systems, and applications that are aware of the infrastructure they run on. I care less about perfect diagrams and more about what happens at 3 a.m. when something breaks.

Over the years, I’ve worked across multiple languages and ecosystems, and that experience has shaped how I think about system design today. I’ve seen systems grow, age, crack, and evolve—and that perspective matters.

What I Work With

My background spans both modern and legacy stacks, which gives me a pretty pragmatic view of software engineering:

  • Backend development with Go, .NET, and PHP
  • Building and maintaining large PHP systems, then gradually migrating or extending them with Go and .NET services
  • Message-driven architectures using RabbitMQ and asynchronous consumers
  • APIs and protocols like REST, gRPC, and Protobuf
  • Containers and orchestration with Docker, Kubernetes, and k3s
  • Infrastructure and networking: Nginx, DNS, reverse proxies, SSL, monitoring
  • Testing and reliability: unit, integration, feature, and smoke tests

Working with PHP for years taught me something important: production systems rarely get rewritten cleanly. They evolve. Designing software that can be improved incrementally is often far more valuable than chasing the perfect rewrite.

What I’m Interested In Lately

Recently, my focus has shifted toward:

  • AI agents and context-aware systems
  • Applications that can understand, model, and reason about networks
  • Self-hosted infrastructure and homelabs (Raspberry Pi clusters, monitoring stacks, ingress controllers)
  • Designing services that provide structured, high-quality context for AI systems instead of dumping raw data

I’m especially curious about how AI can safely and reliably interact with real infrastructure and operational systems—without becoming a liability.

How I Think About Software

Good software, to me, is:

  • Predictable rather than clever
  • Observable rather than opaque
  • Simple by design, not by accident

I care about clear boundaries, explicit dependencies, and systems that explain themselves well—whether they’re being used by humans or machines.

Why This Blog Exists

This blog is where I:

  • Write about things I build—and things I break
  • Turn complex systems into clear mental models
  • Share lessons learned from real production environments
  • Explore ideas around backend engineering, infrastructure, and AI-driven automation

If something here helps you think more clearly about a system you’re working on, then this blog has done its job.

Subscribe to Taner's Blog

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe