Reflecting on HashiCorp Certified: Terraform Associate 002
Background
I passed the HashiCorp Certified: Terraform Associate 002 exam on Jan 14th 2023. This was my first try, fortunately.
In terms of my Terraform experience prior to the exams, I have yet to build any Terraform project at a production level.
My recent exposure was mainly around trying to play around with CircleCIās Nomad client Terraform setup.
Motivations
In my past career, I have used loads of AWS CloudFormation. Yes, I have had some battle scars re: IaC.
I always wanted to learn more about Terraform, given that it supports more than 1 cloud platform.
In particular, I am interested in contributing a Terraform provider for CircleCI.
This means creating a provider/plugin for creating CircleCI webhooks / scheduled pipelines via Terraform for example.
This above may likely be a lofty ambition, but I thought Iād hedge this by also trying for the certification.
Kill two birds in one quarter, as they say.
Breakdown of Score
Content Area | Score (%) |
---|---|
Understand infrastructure as code (IaC) concepts | 100 |
Understand Terraformās purpose (vs other IaC) | 100 |
Understand Terraform basics | 85 |
Use the Terraform CLI (outside of core workflow) | 100 |
Interact with Terraform modules | 50 |
Navigate Terraform Workflow | 100 |
Implement and maintain state | 75 |
Read, generate and modify configuration | 72 |
Understand Terraform Cloud and Enterprise capabilities | 100 |
Overall, I scored 84% (70% required).
Word of Advice
If you are not using Terraform on a daily basis, practice Terraform CLI commands definitely!
The exam has a few questions where they may test you to type the code / command required. See sample questions here.
I did have a ādoh!ā moment, since it wasnāt clear how ācompleteā the answer should be.
In particular, one question I got was: How would you reference the vpc_id
from this module in the code snippet?
To reference the module output, it would be module.aws_vpc.vpc_id
for example. I think the full answer should be: vpc_id = module.aws_vpc.vpc_id
.
I had only typed module.aws_vpc.vpc_id
due to lack of clarity in the question. I think I likely lost points there!
In terms of studying for it, I highly recommend the following Udemy course + practice exam!
Lastly, there will be a newer exam version (003).
I understand this update would remove older questions referring to already-deprecated commands (e.g., taint
).
So if you can wait, do go for the 003 version instead!
Final Thoughts
It was a fun exam to take, for sure!
Given that it is really about a tool and its ecosystem, Iād highly encourage folks to try out Terraform while practicing for the exam.
Your mileage on the Terraform tool will go a long way if you practice.
This way, the exam questions will make way more sense too, as you practice.