How I Cleared the Terraform Associate (004) Exam: What Worked and What Didn’t
My prep plan, the topics that tripped me up, and the mistakes I’d avoid if I did it again

Recently I passed the HashiCorp Certified: Terraform Associate (004) exam. While I was preparing, I looked for posts from people who had already cleared it, and I found that most of them only gave a list of links. I wanted to know how people actually studied, so I am writing this post to share exactly how I prepared, in the hope that it helps someone else.
Why I decided to take this certification
I had been using Terraform for some time, but I knew that using a tool and understanding a tool are two different things. I could write a basic configuration and run it, but I could not always explain what was happening behind the scenes, especially with state and modules. I wanted to close those gaps, and a certification gave me a clear target to work towards.
What the exam covers
The exam is taken online with a proctor and it takes about one hour. The questions are multiple choice, multiple answer, or true and false. There are no hands-on labs, so everything is tested through questions. The main areas are Infrastructure as Code concepts, the Terraform workflow, configuration, modules, state management, and HCP Terraform. Please check the official HashiCorp exam page before you book, because the details can change from time to time.
The questions are not very tricky, but they are specific. If you have only copied and pasted code from tutorials, you will find some of them difficult.
How I prepared
Step 1: Read the official exam objectives
I started with the official study guide and exam content list from HashiCorp. I copied every objective into a notebook and marked each one once I was comfortable with it. This kept my preparation focused and stopped me from wandering around the internet looking at random material.
Step 2: Follow the HashiCorp tutorials
The free tutorials on the HashiCorp Developer website are very good. I did not only read them. I typed every command myself and ran each example in my own cloud account. The tutorials on variables, outputs, modules, state, workspaces, and HCP Terraform were the most useful for me.
Step 3: Practice by breaking things
This was the part where I learned the most. I created resources with Terraform, then changed or deleted them manually from the cloud console, and then ran terraform plan to see how Terraform detected the difference. I also tried terraform import, the terraform state commands, and moving the same code into a reusable module. When you make a mistake yourself and fix it, you remember the lesson for a long time.
Step 4: Take practice tests
I took practice tests towards the end of my preparation. My first attempt was not good, but that was the purpose of it. After every test, I reviewed each wrong answer and wrote one line explaining why I got it wrong. This habit helped me more than simply taking more tests.
Topics that need extra attention
Some topics required more revision than others. These are the ones I suggest you revise at least twice:
- State: what is stored in the state file, why it can contain sensitive data, how locking works, and why remote backends are used.
- The core workflow: what init, plan, and apply each do, and the order in which they run.
- Provider versions and the lock file: how version constraints work and what the dependency lock file does.
- Variable precedence: which value is used when the same variable is set in more than one place.
- count and for_each: how they differ and when each one causes problems.
- Sensitive values: marking a value as sensitive hides it in the output, but it is still stored in the state file.
- HCP Terraform: workspaces, runs, and how this workflow differs from using the command line alone.
Tips for the exam day
Run the system check for the proctoring software a day before the exam, not a few minutes before it. Keep your identity proof ready and keep your desk clear. Read every question twice, because a small word such as "not" can change the meaning completely. If you are unsure about a question, flag it, move on, and come back to it at the end. If a few questions look unfamiliar, please do not panic, because almost everyone faces that.
What I would tell myself before starting
First, do not depend only on videos. Open the terminal and practice every command. Second, try to understand why Terraform behaves in a certain way, not only how to use a command. Third, book your exam date early, because a fixed date makes you take the preparation seriously. Finally, write your notes in your own words, because they will be very useful in the last two days before the exam.
Resources I used
- The official Terraform Associate (004) study guide and exam content list
- HashiCorp Developer tutorials
- The official Terraform documentation
- Practice tests for the final revision
Final words
Clearing this exam is possible for anyone who is willing to practice regularly. You do not need to be an expert before you start. You only need a clear plan and enough hands-on practice. If you are preparing right now, I wish you all the best. If you have any questions, please leave a comment and I will try to help.
Thank you for reading.
About the author
- AWS Solutions Architect passionate about AWS, Terraform, DevOps, and cloud automation. Sharing real-world cloud engineering knowledge, troubleshooting guides, infrastructure solutions, and practical DevOps learning.
Comments
Join the discussionCongratulations on passing, and thanks for the honest prep notes. Step 3 stood out to me, practice by breaking things, because that is where Terraform stops being a syntax exercise and starts being real state to manage. Your warning about sensitive values staying in state is also worth repeating, since hiding output is easy to mistake for protection. The exam day tip about running the proctor check a day early is the kind of small detail that saves a lot of stress.





