Prompt Engineering Is Dead. Long Live Prompt Engineering.

In 2023, prompt engineering felt like casting spells. “Pretend you are a senior engineer…” “Think step by step…” “You will be tipped $200 for a good answer.” Some of these worked. Most were cargo cult. By 2026, we have actual empirical data on what moves the needle — and the picture is more nuanced than the discourse suggests.

Continue reading

OpenTofu and the Future of Infrastructure as Code After Terraform's License Change

In August 2023, HashiCorp announced it was changing Terraform’s license from MPL 2.0 (open source) to the Business Source License (BSL). The community reaction was swift and decisive: within weeks, the OpenTF Foundation forked Terraform and launched OpenTofu. By 2026, OpenTofu has not only caught up with Terraform but diverged meaningfully, adding features the HashiCorp roadmap deprioritized. Here’s the state of IaC in 2026.

Continue reading

Next.js 15 App Router in Production: Patterns, Pitfalls, and Performance

Next.js 15 has been in production for over a year now, and the dust has settled on the App Router patterns that actually work. What started as a confusing paradigm shift — “where did getServerSideProps go?” — has matured into a powerful model for building fast, scalable web applications. But the learning curve is real, and the pitfalls are subtle. Here’s what I’ve learned from deploying it at scale.

Continue reading

Kubernetes Operator Pattern in 2026: Building Production-Grade Controllers

The Kubernetes operator pattern has become the standard way to encode operational knowledge into code. What started as a way to manage stateful applications like databases has expanded to cover everything from certificate management to ML model deployments. In 2026, operators are so pervasive that most platform teams build at least one custom operator. Here’s how to build them well.

Continue reading

Durable Execution: How Temporal and Restate Are Changing Distributed Systems

Distributed systems have a dirty secret: most of the code isn’t business logic. It’s glue. Retry loops, idempotency keys, saga compensations, distributed locks, timeout handling — the machinery that makes workflows reliable dwarfs the code that makes them useful. Durable execution is a paradigm that promises to make this machinery invisible.

Continue reading

Pagination