I recently sat and passed the Terraform Associate Exam; and wanted to share some thoughts-for-claps about the exam content, and how to best-prepare yourself to take it.
I am not a devops Engineer. Ask any of my colleagues. I leave the heavy-lifting of Terraform to some fella called Jenkins and have usually left the office before the Slack reminder to run the daily
terraform plan -destroy falls to me, so my experience is mostly sat in the middle of a Terraform environment — tinkering with other people’s Terraform and then handing a project over to a BAU team who then get all the glory. Tiny violins all round.
The exam costs 75USD, has between 55–60 questions (because mine had 57 questions and who-knows-why) and you have 1 hour to complete, review and submit your answers. It covers the following areas:
- Implement and maintain state
- Interact with Terraform modules
- Navigate Terraform workflow
- Read, generate, and modify configuration
- Understand infrastructure as code concepts
- Understand Terraform basics
- Understand Terraform Enterprise and Cloud
- Understand the purpose of Terraform
- Use the Terraform CLI outside of the core workflow
I used the Hashicorp Certification Review which gave me all the information I needed to sit the exam. This also includes some ‘sample questions’ which give you a good idea of the question-style you can expect; effectively:
- Multiple choice: Choose 1 or ‘none of these’
- Multiple choice: Choose 2 answers
- “Fill in the missing words round”
Udemy has also dropped a couple of Practice Exams- here and here (2020), which I wasn’t aware of, though a colleague of mine has run through one of these with some unexpected results. Oh dear.
The questions cover an entire Terraform run (init -> destroy) and have a heavy focus on the CLI, rather than say how a product team might use Terraform to build pipelines using the tool, so you may find yourself skipping some of the basics in the documentation for the same reasons I did — this would be a mistake, you’ll’ve definitely forgotten hammering away on your first couple projects using a local backend and how this works! There were a couple of questions that struck me as particularly arbitrary — though Richard Hendricks and more recently, Microsoft, might view this differently. There were a lot of questions around modules, destroy and taint — the latter two areas very much out of my view, so it’s worth ensuring you know the requirements, commands and affects of these. The arguments about Workspaces still rages on (especially as Terraform Cloud is essentially trunk-based (which I fully support)), having less importance than I could have enjoyed in the exam so the ongoing myth an ex-colleague perpetrates that he met Mitchell Hashimoto at a conference once and he was told on his authority that Workspaces were useless and shouldn’t be used *eyeroll* still gets to rumble on (unless you read this, of course). I also felt that a few questions, which in the documentation were described as “last resort” or “avoid doing this”, which may lead you to instantly forget what they were, or make a note of them, could also have probably been left out. Just sayin’
I’m hoping and expecting that Hashicorp release a more indepth exam in the future (though right now I’m sure they’re busy preparing tf0.13 for launch), I’ll be leaving that firmly to the actual experts, but if you’ve got 25–30 hours to do the reading, and an hour to sit the exam, it’s a good distraction from Covid-19 right now, for sure. Plus $$, who can forget marketing-driven-career-development?
Finally — what’s Terraform OSS? C’mon now.