The Ultimate Guide to Passing the HashiCorp Certified Terraform Associate Exam
The HashiCorp Certified: Terraform Associate Exam is part of a group of HashiCorp Cloud Engineering Certifications, giving cloud engineers a chance to demonstrate and validate their expertise when it comes to multi-cloud.
Two of our own cloud engineers, Paul Bygrave and Jaroslav Pantsjoha, recently passed and in this blog they’ve pooled together their tips and tricks to help you do the same!
But first, some practical details about the exam.
Practical Exam Information (Costs, Timings, Booking Process…)
Here are a few essential details about the exam, as found on the official HashiCorp site:
- The exam costs $70.50, or about £55 GBP
- The exam is only available as online-proctored (you’ll need a webcam and microphone)
- You have 1 hour to complete the exam
- It consists of approximately 45 questions
- The exam is only available in English
How to book the exam:
- Visit the Questionmark HashiCorp partner page
- Log in with your GitHub credentials (if you don’t already have a GitHub account, it’s free to sign up)
- Complete your profile as required
- Once prompted to be returned to the home page, click “Buy Exam” at the top
- Once you’ve completed payment and returned to the homepage, just click “My Assessments” at the top to schedule the exam for a time of your choosing.
- Whenever you schedule your exam for, make sure you use the pre-assessment system check to make sure your machine is ready to go, and avoid any issues that may prevent you from taking the exam.
Who Is the Exam for?
According to HashiCorp, the following two exam prerequisites apply:
- Basic terminal skills
- Basic understanding of on-premises and cloud architecture
They also state that:
“Candidates will be best prepared for this exam if they have professional experience using Terraform in production, but performing the exam objectives in a personal demo environment may also be sufficient.”
But what did our engineers have to say about the level of experience required?
Paul Bygrave, Contino Cloud Engineer
“I would agree that it is possible to study for and pass this certification even if you have never used Terraform in a Production environment, but you’ll definitely need some practical experience to truly appreciate some of the processes and structure involved in writing Terraform code.
Personally, I work with Terraform every day and have used it for a couple of years. I figured that this would be a good point to go back to basics, fill in my own knowledge gaps and decided that passing the certification would be a good test of my skills and understanding, using a tool that is vital among Contino engineers. Since Contino provides us with a Learning and Development budget that covers the exams it really was a no-brainer!”
Jaroslav Pantsjoha, Contino Cloud Engineer
“I have dabbled with Terraform over the last few years and in the past year, I have been fortunate enough to deep-dive into Terraform, with hands-on comprehensive infrastructure provisioning.
I would say that the hands-on experience I’ve had with Terraform was much needed to do away with spurious assumptions and get down to the components of Terraform that really matter. Consider the pain points of module writing and remote state management alone — that covers a good portion of the exam questions. Admittedly, earlier DIY learning was harder, thanks to many hours reading though The Docs and StackOverflow.
Nonetheless, this latest, official certification still required a good deal of up-to-date training on top of the hands-on experience.
This comes irrespective of any technical knowledge — unless you worked in this very same area for the last three months— details tend to fade away, software updates follow, and before you know it, you’re out of date.
Just ask my RCHE Certification.”
What to Expect (Length, Structure, Content)
In terms of the structure of the exam itself, HashiCorp have provided a set of sample questions which show you the different types of questions you’ll be faced with. These include:
- True or False
- Multiple choice with a single answer
- Multiple choice with several answers
- Text match, where you’ll choose the right text insert or command from a set of possible answers
As for the actual content, the Exam Objectives give you a comprehensive breakdown of what you’ll need to know for each subject. The nine key objectives are as follows:
- Understand infrastructure as code (IaC) concepts
- Understand Terraform's purpose (vs other IaC)
- Understand Terraform basics
- Use the Terraform CLI (outside of core workflow)
- Interact with Terraform modules
- Navigate Terraform workflow
- Implement and maintain state
- Read, generate, and modify configuration
- Understand Terraform Cloud and Enterprise capabilities
Here’s what Jaroslav had to say about the exam content:
“The exam is about an hour long, featuring around 60 odd questions — I had 57 to be exact. You’re allocated two hours for the exam, as advised by the Proctor, but my countdown timer showed 60 minutes. Odd, but that is plenty of time I think. Without discussing the details of the exam (which I’m not allowed to do ) I can say that it’s a well-suited all-rounder, and sufficiently thorough to validate the guiding principles of Infra-structure-as-code and the DRY principles, and it covers the classic ‘how-to’/‘where-to’ which every good terraform dev-operator ought to know.”
Practical Steps to Prepare
Here are some of the practical steps that Paul took to prepare himself for the exam:
- Read the official HashiCorp Study Guide, which outlines the different core subjects you’re expected to know and provides some neat online tutorials and reference documentation.
- Completed an online video course, I used this one from Udemy but there are lots of alternatives due to the popularity of the certification. I also took loads of notes as I went through the course, which allowed me to constantly refer back to different subjects as I applied the concepts practically later on.
- Deployed resources into a fresh AWS account using Terraform – this teaches you a lot about how to set up the providers, best practices around access etc. I pushed all my code up to GitHub and applied best practices to keep my code free of credentials etc.
- Created a Terraform Cloud account and tested the use of Sentinel rules and using the Terraform Cloud remote backend.
- Read through the Exam Review, made sure I had covered all the subject matter needed.
- Took several online practice exams, such as those found in this Udemy course.
Training Guide Recommendations
There is a wealth of information out there on Terraform so to keep things simple, we’ve shared a few stand-out resources, recommended by Paul and Jaroslav.
Given the varied style of video training and explanations, they both found that the more quality content the merrier, to cover any edge cases. So here is their personal roundup of useful reference material:
- Terraform Associate 2020 Udemy Course. Great thorough coverage here (8 hours). If you’re feeling confident, you can x2 and skip through content (3–4 hours). To solidify the information make sure to perform all the practical exercises, and there is even a sample test at the end.
- If you’re ready, go through the Terraform Udemy practice exams
- Go back to the source — Read the Manual. Hashicorp Docs are surprisingly easy to read and follow. Kudos here. Get an iPad, brew yourself a cuppa and sit and read the Great IaC Biography. I have personally discovered interesting bits myself about the `terraform taint` 😅 https://learn.hashicorp.com/terraform
- Watch my Terraform Associate Prep YouTube playlist “Explain Series” a more post-work, leisure coverage of the same, but varied ways of explaining the same. It is easier to digest when someone explains it to you and makes good sense when you are starting out from scratch or if you want to confirm your knowledge. Fast forward x2 speed if you feel confident.
- Go through this youtube playlist breaking down the exam-like questions. Get Secondary Take on Terraform (this is where you need to ensure the version taught/referenced is the exam tested i.d. 0.12+)
Other Terraform Resources
- Provisioners are a last resort —This article covers why provisioners should only be used as a last resort. While you can execute remote commands and the like, just because you can does not mean you should — you’re baking too many assumptions into your IaC at this point, used outside Terraform so to speak.
- Modules — Use DRY (Don’t Repeat Yourself) principle — create, re-use modules to stop copying and pasting full implementation between your environments, in your code.
- Providers — If you have more than one, say, AWS provider which you need to make use of in your Terraform code, use alias to distinguish the two (or more) and reference them in your respective code blocks.
- Dynamic Blocks — I can tell you now this is where you will probably spend the most time on. But it will be worth it for the sake of delivering the lean, mean terraform IaC solutions!
- Expressions —the Dynamic Blocks in the point above may often require you to think creatively and work on expressions to ensure DRY principles, as well as baking VARS into your Terraform Code blocks (a no-no!)
How Long Will It Take Me to Pass?
Now you have all the tips and tools to help you pass, you may be wondering how long it will take you to actually pass. According to our certified engineers, this is largely determined by how experienced you are with Terraform going into the exam.
Jaroslav Pantsjoha, Cloud Engineer
“If you’ve completed a suitable course, reviewed the HashiCorp documentation and done as many of the hands-on tutorials as you can, you should be well-equipped to pass!
As for how long it will take, I would suggest the following:
- Beginner (Starting out with terraform): 1–2 weeks
- Working knowledge with Terraform : 1–2 days”
Paul Bygrave, Cloud Engineer
“I would expect experienced Terraform users to be able to pass the exam comfortably with around 10–15 hours of study. That should be enough to refresh on the basics and cover the fringe topics, although I’d highly recommend using practice tests to evaluate yourself before sitting the exam. For those brand new to Terraform, a combined 20–25 hours to complete an online course, review the study guides and perform some hands-on testing to familiarise yourself with the different concepts should be sufficient to pass the exam.
There is no need to worry about practising with multiple cloud providers, as Terraform is a cloud-agnostic tool the code works the same across all platforms so just pick your favourite (or whichever one you’re already familiar with) and fire away.”
Finally, if you wish to get hands-on such varied-scoped projects — join us! We’re always looking for bright minds and great professionals in this area. We’re hiring, get in touch!