Thirty days is the sweet spot for Terraform Associate prep. Shorter, and you’re cramming concepts that only stick through repetition. Longer, and the first month’s material fades before exam day. This plan assumes about an hour on weekdays and two on weekends — roughly 40 hours total — and that you’ve at least run terraform apply once in your life. (Completely new to Terraform? Add a “week zero” of following the official tutorials, then start here.)
The plan follows one principle that separates passers from repeaters: every concept gets typed, not just read. Terraform is a language; you don’t learn languages by looking at them.
Before Day 1: Setup
- Install Terraform (latest 1.x) and one cloud CLI — AWS, Azure, or GCP free tiers all work; the exam is provider-agnostic.
- Create a dedicated sandbox account/project so you can destroy things fearlessly.
- Bookmark the official Terraform Associate study guide and exam objectives — the objectives list is your syllabus, and everything below maps to it.
- Bookmark the Terraform Associate exam guide for the exam logistics (format, cost, registration) so none of that occupies brain space during the month.
Week 1 (Days 1–7): Foundations and the Core Workflow
Day 1 — IaC concepts. Why infrastructure as code: idempotency, versioning, repeatability, drift. Declarative vs. imperative. Where Terraform sits relative to configuration management tools. This is the conceptual layer the first two exam objectives draw from.
Day 2 — Providers and init. Write a minimal config with required_providers and version constraints. Run terraform init and look at what it created — the .terraform directory and the lock file. Understand provider authentication for your chosen cloud.
Day 3 — The core workflow. init → plan → apply → destroy on a config with 2–3 resources. Read every line of the plan output until the symbols (+, ~, -, -/+) are instant.
Day 4 — Resources and data sources. Add a data source that feeds a resource argument. Understand implicit dependency ordering and when depends_on is actually needed (rarely).
Day 5 — Variables and outputs. All the type constraints: string, number, bool, list, set, map, object, tuple. Variable precedence (defaults → tfvars files → env vars → CLI flags). Add a validation block. Mark something sensitive and observe what it does — and doesn’t — hide.
Day 6 — Lab day. Build a small but real stack from scratch: network + compute + one managed service, parameterized with variables, with useful outputs. No copying from Day 3 — from scratch is the point.
Day 7 — Review + diagnostic. Take the free interactive TF-004 practice questions cold, then the 25-question written set if you want more reps. Don’t worry about the score — you’re establishing a baseline and discovering question formats. Log what you missed.
Week 2 (Days 8–14): The Configuration Language
Day 8 — Expressions. Conditionals, for expressions over lists and maps, splat syntax. Open terraform console and evaluate expressions until they’re boring.
Day 9 — Functions. You don’t memorize all of them; you learn the families: string (format, join, split), collection (lookup, merge, flatten, toset), filesystem (file, templatefile), encoding (jsonencode, base64encode). The exam tests recognition, not recitation.
Day 10 — count and for_each. The highest-yield single topic in the language. Work through index shifting, the map/set requirement, and the conditional-resource idiom — our count vs for_each guide is structured exactly as a study session for this day.
Day 11 — Dynamic blocks and locals. Generate nested blocks from a variable. Know when a local beats repeating an expression.
Day 12 — Lifecycle meta-arguments. create_before_destroy, prevent_destroy, ignore_changes, replace_triggered_by. Trigger each one deliberately and watch the plan change. Also today: provisioners exist, and the correct exam answer about them is “last resort.”
Day 13 — Lab day. Refactor Day 6’s stack: convert repeated resources to for_each, add a dynamic block, add lifecycle rules where they make sense.
Day 14 — Review. Re-attempt every question you missed on Day 7. Write one-line explanations for why the right answers are right — articulating it is the test of whether you’ve learned it.
Week 3 (Days 15–21): State, Modules, and the Outer Workflow
Day 15 — State fundamentals. What’s in the file, why it exists, why secrets in state matter. Read the state management deep dive — state is consistently the heaviest-tested area, and this day’s material pays the most rent on exam day.
Day 16 — Remote backends. Migrate your project from local state to a real remote backend (S3+locking, Azure Storage, or GCS). Break a lock on purpose and fix it with force-unlock.
Day 17 — State surgery. state list, state show, state mv, state rm. Rename a resource and fix the plan with state mv, then do it again with a moved block. Remove a resource from state and re-adopt it with an import block.
Day 18 — Modules. Consume a registry module with a version constraint. Then write your own: inputs, outputs, sensible defaults. Understand module sources (local, registry, git) and what init does with them.
Day 19 — Workspaces and the CLI long tail. CLI workspaces (new, select, list), terraform.workspace in config, fmt vs validate, apply -replace vs the deprecated taint. The commands cheat sheet is today’s reference — drill its “which command?” table until it’s automatic.
Day 20 — HCP Terraform. Sign up for the free tier. Connect a VCS repo, trigger a run, set workspace variables. Understand what Sentinel/OPA policy as code is for, the workspace types (CLI-, VCS-, API-driven), and how HCP workspaces differ from CLI workspaces.
Day 21 — First full mock exam. Take a full-length, timed mock under real conditions — 60 minutes, no notes, no pausing. This is where the Sailor.sh Terraform Associate mock exam bundle enters the plan: eight full-length exams means you can burn one per review cycle for the rest of the month without repeating questions. Score it, then spend the remaining time reading the explanations for every question — including the ones you got right by guessing.
Week 4 (Days 22–30): Mock Exam Cycles
The final week is a loop: mock → analyze → patch weak areas → mock again. Each cycle, your score should rise and your time pressure should drop.
Days 22–23 — Patch cycle 1. Take your Day 21 results, group the misses by objective, and restudy only those areas — docs plus a hands-on rep of each missed concept.
Day 24 — Mock exam 2. Timed, full-length. Target: noticeably above your first score.
Days 25–26 — Patch cycle 2. Same drill. By now misses are usually clustered in two or three places — commonly state subcommands, HCP details, or function behavior. Hit those with hands-on reps, not rereading.
Day 27 — Mock exam 3. Target: 85%+ comfortably within time. That’s the readiness threshold — candidates who clear 85% consistently on realistic mocks pass the real exam with margin.
Day 28 — Final gaps. One more focused pass on anything still shaky. If you’re above target, take a fourth mock for confidence instead.
Day 29 — Light review. Skim your error log, the plan symbols, the state command table, variable precedence. No new material — the goal is calm, not coverage.
Day 30 — Exam day. Test your webcam, ID, and room setup for online proctoring ahead of time. The format will hold zero surprises, because you’ve already sat it four times.
The Three Rules That Make This Plan Work
- Type everything. Every concept gets a hands-on rep the same day you read about it. Terraform muscle memory is what survives exam adrenaline.
- Keep an error log. One line per missed question: the concept, and why the right answer is right. Reviewing this beats rereading any guide.
- Mocks are for diagnosis, not validation. A mock you don’t analyze afterward is a wasted exam. The explanations are the product — that’s why every question in the Sailor.sh bundle explains the wrong options too, because eliminating plausible distractors is the actual skill the real exam tests.
Frequently Asked Questions
Q: Can I compress this to two weeks? A: With daily Terraform use at work, yes — keep weeks 3 and 4, skim weeks 1 and 2. Without that, compression mostly trades a pass for a retake.
Q: Which cloud should I practice on? A: Whichever you know best, or AWS by default. The exam is provider-agnostic; the concepts transfer completely.
Q: How many mock exams before I’m ready? A: Three to four full-length, timed attempts is the pattern among first-try passers — enough to find weak areas, fix them, and verify the fix.
Q: What score on practice exams means I’m ready? A: Consistently 85% or better, finishing with time to spare, on mocks you haven’t seen before.
Q: Is the Terraform Associate even worth a month of evenings? A: We wrote an honest assessment of exactly that question — is the Terraform Associate worth it in 2026? Short version: for almost anyone in or entering DevOps, yes.