Desktop High-Performance Computing

Ever since Amazon Web Services debuted in 2008, builders of complex engineering software systems have had increasingly powerful ways to scale heavy computational workloads in the cloud. 

Calculations that previously would have required the purchase of dozens of expensive servers can now be executed at a fraction of the cost in AWS. Unfortunately, not all engineering software packages are server-based, much less cloud-based. 

Defining the Developer Experience

If you run a software company, it’s common to think about the User Experience (UX), how they experience your product when they use it, how intuitive it is to interact with, how quickly someone can accomplish an activity within your product, and how they feel about that process when it is completed. 

The developer experience (DX) is similar, but instead of how your customer experiences using your software, it’s how your developers experience the process of adding features, fixing bugs, doing code reviews, meeting testing objectives, coordinating on QC/QA requirements, and fulfilling their responsibilities in the release process. 

5 Key Best Practices for Sane and Usable Terraform Setups

Working with Terraform, an open-source infrastructure as code software tool, for over five years has taught me some key lessons. Here are five practices that have been critical to having a sane and usable Terraform setup, regardless of the size of the team or the nature of the project.

1. Know Your Target Audience

This one might seem obvious, but I’ve seen it go wrong several times. When organizing Terraform code, either standardizing the directory structure or defining naming conventions, it’s vital to consider the intended audience. Will your team be using these Terraform scripts and modules? Are you handing the work over to another team? Will new people be joining your team sooner or later? Are you working on this project solo? Will you be using this setup in 6 months or a year, or will it be assigned to someone else?