Terraform Authoring and Operations Professional - Exam Strategy¶
This exam is performance-based. You will not be answering multiple-choice questions. You will be executing real Terraform tasks in a live environment with a live CLI, a live HCP Terraform org, and in some cases a live cloud sandbox. Your strategy must be different from the Associate exam.
The Week Before¶
- Confirm your testing environment: stable wired internet if possible, quiet room, webcam working.
- Run the PSI system compatibility check at least 48 hours before.
- Lock down your schedule: 4 hours plus 30 minutes buffer for check-in. Do not schedule anything within 5 hours.
- Sleep normally. Cramming HCL syntax the night before is less valuable than rest.
The Day Of¶
- Eat a real meal 90 minutes before. No caffeine spike right before.
- Close everything except your browser. PSI will ask you to shut down non-essentials anyway.
- Have your ID ready and your room cleared of notes, second monitors, and phones.
- Take a bathroom break immediately before check-in. There are limited or no breaks during the exam.
Time Management Within the Exam¶
You have approximately 4 hours for roughly 15 to 25 tasks. That is 10 to 15 minutes per task on average. Some tasks will be shorter (a state surgery fix), others longer (build a module from scratch). Budget accordingly.
Rule of thumb: If a task has consumed 20 minutes and you are not close, flag it, move on, and come back.
Break the exam into rough phases:
- Minutes 0 to 15: read every task, make a mental or scratch note of which are easy wins, which are medium, which are hard.
- Minutes 15 to 180: execute tasks in order of confidence (easy first, then medium).
- Minutes 180 to 210: tackle hard or flagged tasks.
- Minutes 210 to 240: verify end-state of completed tasks by re-running plan or inspecting state.
Task Approach Playbook¶
For every task, in this order:
- Read twice. Understand the exact end-state being asked. Scoring is based on end-state, not approach.
- Check the starting state. Run
terraform state list, inspect the workspace, review the module inputs. Do not assume. - Plan your minimal change. The fewer files you touch, the fewer ways to break it.
- Run plan before apply. Always. The exam will not penalize you for running plan twice, but it will penalize a broken apply.
- Verify the end-state matches the prompt exactly. If it says "the workspace must be named
prod-vpc", do not name itprod_vpc.
Common Task Types and Fast-Paths¶
"Refactor module using for_each preserving state"¶
Fast-path: Use moved blocks. Do not state mv manually unless explicitly required. moved blocks are cleaner, reviewable, and survive in source control.
"Import existing resource"¶
Fast-path: Prefer import blocks over terraform import CLI when possible. They are declarative, reviewable, and can generate configuration with terraform plan -generate-config-out=generated.tf.
"Resolve state lock"¶
Fast-path: Check if the lock is genuinely stale (run ID, age, who holds it). Only then terraform force-unlock LOCK_ID. Never force-unlock a running operation.
"Write Sentinel policy"¶
Fast-path: Start from tfplan/v2, filter resource_changes, check the change.after map. Use the sentinel test workflow with mock data. Keep policies small and testable.
"Configure dynamic AWS credentials"¶
Fast-path: Set workspace variables TFC_AWS_PROVIDER_AUTH=true and TFC_AWS_RUN_ROLE_ARN. Do not also set AWS_ACCESS_KEY_ID. If both are set, the static key wins and you lose points.
"Configure VCS-driven workspace"¶
Fast-path: Workspace > Settings > Version Control. Pick repo, set working directory if module lives in a subdir, enable speculative plans. Check connection status before saving.
"Split monolithic state"¶
Fast-path: Create new workspace(s), pull current state, use terraform state mv -state-out=new.tfstate ... for each address, push to new workspace. Validate with terraform plan showing zero changes.
Frequent Pitfalls to Avoid¶
- Forgetting to save a plan file. If a task asks for
terraform apply tfplan, you need the saved plan.-out=tfplanis not optional. - Destroying resources during import. If
importblock is missing, a plan will want to create the resource. Always verify with plan before apply. - Wrong working directory. VCS-driven workspaces have a working directory setting. Leaving it blank vs setting
modules/vpcchanges which files Terraform sees. - Static credentials alongside dynamic. Static wins. Unset them.
- Uppercase vs lowercase workspace names. Case matters. Match the prompt exactly.
- Missing
required_providersorrequired_version. Professional-level modules must pin these. Lose points for omitting. - Using
-targetas a crutch. The graders notice. Use it only when explicitly asked. - Ignoring
terraform fmt. Unformatted HCL is an easy deduction. Run fmt before finishing each task.
Reading Error Messages¶
Terraform errors are verbose but informative. Train yourself to scan for:
- The resource address (which resource triggered it)
- The provider (AWS, Azure, etc.) vs core error
- Hints in the error body (e.g., "consider using
-refresh-only")
Provider errors often include the underlying API response. If you see AccessDenied, it is not a Terraform bug. Check IAM.
Keyboard and Tooling Efficiency¶
You will be switching between a CLI, the HCP Terraform UI, and an editor. Tips:
- Keep one terminal pinned at the module root. Use a second for
terraform console. - Use shell history (
Ctrl-R) for repeated commands. - Have
terraform -help planand-help statementally indexed. - If the lab provides a browser-based editor, resist using your local editor. Stay in-env.
When to Give Up on a Task¶
If you have spent 20 minutes and are no closer, flag it and move on. A partially complete task is worth zero. Three fully complete tasks plus one abandoned is better than two half-done plus one stuck.
Come back only if time allows after the rest are done.
Mental State¶
- This exam rewards calm, methodical work. Panicking speeds up typing but slows down thinking.
- If you hit a wall, take 30 seconds to look away from the screen, breathe, and come back.
- Trust your preparation. You have done these tasks before in labs. Treat the exam as another lab.
After Submitting¶
- Results are typically emailed within 24 to 48 hours.
- If you pass, your certification is valid for 2 years. Add it to HashiCorp's Credly integration for shareable badges.
- If you do not pass, you get a domain-level breakdown. Use it to focus the retake.
Post-Certification¶
- Recertification means taking the current version of the exam. HashiCorp updates the blueprint roughly annually.
- Stay current by reading the Terraform changelog and trying new language features as they ship.
- Contribute a public module or Sentinel policy to reinforce learning beyond the exam.