HashiCorp Terraform Associate Exam Review

HashiCorp Terraform Associate Exam Review

How I studied and passed the HashiCorp Terraform Certification

Β·

7 min read

[Update] Complete 12-hour free study course youtube.com/watch?v=V4waklkBC38

Get your free practice exam (complete set with 57 questions!) exampro.co/terraform

I create free cloud certifications full-time. I sat this exam so I could share my test-taking experience as well as an introspective of how I feel this certification fits in the industry.

TL;DR: The exam is easy, but also unbalanced, I do recommend obtaining this certification if your path is DevOps Engineer due to industry demand and the exam fee is very inexpensive. I recommend studying beyond the exam guide outline to round out your knowledge.

image.png

My Effort and Results

Exam Run

  • There are 57 questions
  • You have an exam time of 1 hour
  • The exam is $70.50 USD
  • I took the online proctored exam via PSI Online (only option)
  • I cleared this exam in 24 minutes

Final Score

Status: Pass

Overall Score:β€ˆ84%

Breakdown by content area:

  • 1.0β€ˆβ€ˆ100% Understand infrastructure as code (IaC) concepts:β€ˆ
  • 2.0β€ˆβ€ˆ50% Understand Terraform's purpose (vs other IaC):β€ˆ
  • 3.0β€ˆβ€ˆ85% Understand Terraform basics:β€ˆ
  • 4.0β€ˆβ€ˆ83% β€ˆUse the Terraform CLI (outside of core workflow):
  • 5.0β€ˆβ€ˆ83% β€ˆInteract with Terraform modules:
  • 6.0β€ˆβ€ˆ91% Navigate Terraform workflow:β€ˆ
  • 7.0β€ˆβ€ˆ87% Implement and maintain state:β€ˆ
  • 8.0β€ˆβ€ˆ72% Read, generate, and modify configuration:
  • 9.0β€ˆ100% β€ˆUnderstand Terraform Cloud and Enterprise capabilities:β€ˆ

Exam Experience

The exam was not hard or stressful. The exam guide was not useful, I would disregard its contents. Some questions were frustrating in two regards:

1. Tricky Question Wording

I felt I lost some points because of how a handful of questions were written, not due to the fact I did not understand Terraform but the language being used was not straightforward.

With exams like AWS they follow a strict guide on how questions should be written. I think at this time HashiCorp does not have that kind of conformity in their exams yet.

I think if you are a non-native English speaker you might find this more frustrating.

2. Unimportant Technical Questions

There were a few questions, where I thought, why would you test this? One, in particular, was a lineup of built-in string functions.

I don't think this makes for a good exam question because it is something you would commonly google.

A better question would be have been to highlight the automated service offering of GitOps built into Terraform Cloud or how Vault would be integrated into the Terraform pipeline to inject secrets.

Funny Blunder

One question where I totally faceplanted was what is the name of terraform state file?

  • I wrote tfstate,
  • than tfstate.state
  • then remembered it was a json file so I wrote tfstate.json.
  • The real answer is terraform.tfstate

How embarrassing. LOL πŸ˜…

Unbalanced Exam

There are nine domains on the exam, but the exam pool I received felt very limited to a handful of very specific commands.

From a test taker perceptive who is looking to pass this is good because you narrow your study time on a small subset of concepts and have a short study time eg:

refresh, taint, init, plan, apply, fmt, validate, depends_on, versioning, provisioners, state files, modules, data sources, for_each, Sentinel, Terraform Enterprise....

I'm being very non-descript on the exam questions with respect to HashiCorp Training and Certifications team.

This probably explains why I see Terraform Certification study courses 1 to 2 hours. They'll get you there, but you'll have serious gaps in the application of Terraform Infrastructure workflows.

If it was me, this is what I would have liked to see on the exam:

  • Pricing
  • Support Tiers
  • GitOps workflows
  • Immutable Infrastructure
  • Cross-referencing Stacks
  • Terraform Troubleshooting
  • String Interpolation and Directives
  • Balancing DRY vs Readability eg. Local Values
  • Backups
  • Progressive Versioning
  • Drift and Repair
  • Terraform Workflow Evolution
  • Standard Backend (locking and security)
  • Packer Integration
  • Vault Integration
  • Air Capped Environments
  • Terraform and Ansible

My upcoming free HashiCorp Terraform course includes all these topics.

Is It Worth it?

I would say the certification proves you know the fundamentals of Terraform.

The demand of the market in DevOps skills right now is: AWS > Azure > Terraform > Kubernetes, so even though this certification needs some work, I think due to market demand it should be obtained for DevOps roles.

I think HashiCorp Training and Certification team is reworking the certification since the 1.0.0 release and the time I sat this I was seeing pre 1.0.0 questions.

If you're seeking a junior role, a shorter study time of 1-2 hours to obtain the certification is fine. If you want to quickly progress to a senior role, you will want to check out my free Terraform course when it is published to freeCodeCamp, because it will be the only long-form course out there.

Exam Preparation and Resources

I've spent three weeks on Terraform, but I'm going much deeper than is required. You could prepare in a week or less.

I've heavily worked with CloudFormation, ARM Templates, Cloud-Init, Ansible and so I didn't feel the need to put into practice much of what I learned. I just made sure I knew how to provision a resource to AWS, Azure, GCP, take the local state, move it to Terraform cloud, and saw how terraform refresh worked. If you don't have prior experience with IaC tools you need to put more time than I did.

I think I should have spent more time putting into practice module development because it was a big part of the exam I did not expect and so I had to guess alot.

  • I used Sandip's HashiCorp Terraform Certification course to spot check some gaps in knowledge or get an alternative explanation.
  • I used a bit of the Learn HashiCorp, the Learn Platform is okay, but I don't learn this way and it felt like a very slow learning path because its not geared towards the certification path.
  • There is a study guide on Learn Hashicorp that references other Learn materials, and links out to HashiCorp blog posts, this was my original study path, but lots of content did not seem relevant (which turned out to be the case) so I ended up quitting this path.
  • I heavily used the Terraform CLI documentation sequentially working through the table of contents, I had to frequently reach out to external resources (DA's, Ambassadors) because the technical documentation is very sparse.
  • WhizLabs practice exams were useless, they were far off from the actual exam questions, and contained mistakes both in technical description or just the format of the question.
  • Will Brock's Terraform Playlist was an excellent way to quickly learn advanced language features and I consider it a must to watch.
  • freeCodeCamp Terraform Course by Sanjeev is well-produced a good introduction but only covers the most basics of Terraform compared to Will's

While not necessary I would recommend watching Armon Dadgar (CTO of HashiCorp) Whiteboarding videos. I don't personally like learning by whiteboarding, but his videos are short, and answers a lot of "whys" which helps to cement how Terraform and other HashiCorp products solves multi-cloud solutions.

I am fortunate to be an AWS Community Hero so I was able to ask Anton Babenko and Brian Tarbox as many practical Terraform questions.

HashiCorp has a very good Developer Advocate team. Anything I couldn't find, they filled in the gaps,

  • Nic Jackson had an incredible wealth of knowledge and was able to answer all of my "whys" and I had a lot of "whys". πŸ™ƒ
  • Kerim Satirli was able to quickly point to resources that I overlooked

I think if I knew about HashiCorp Office Hours I may have attempted to leverage that as part of my learning experience and asking Rosemary Wang and Jim Lambert for Terraform live stream as they are more relatable in their teaching approach to beginners. Maybe not for my own study preference but to broaden the learning resources out there.