Avoiding Common Pitfalls in Terraform Module Design

I've been working with Terraform for over 6 years now, and during this time, I've encountered several common mistakes when designing modules that can lead to frustrations, mismanagement, and even mistrust in the tool itself. I continue to see teams complaining that Terraform is overly complex, hard to maintain, doesn't scale well, and – the most common complaint – that state files are unreliable…