From PHP to JavaScript to Kubernetes: how backend engineering evolved