Terraform

Terraform Roadmap

Step by step guide to learn Terraform in @currentYear@

This page is a visitor-friendly snapshot of how William currently sees this area: what feels strong, what is still being refined, and where the evidence is still partial.

3

Done

4

Learning

2

Target

0

Skipped

110

Tracked

Status meanings

Done: enough evidence to present this area as a solid strength.

Learning: an area of active development with growing confidence.

Target: relevant and intentional, but still earlier in the journey.

Skipped: not a current priority relative to other areas.

How the estimates are formed

Profile and manual review: 9

Evidence from project experience: 0

Competency mapping alignment: 0

Quiz-backed updates: 0

These signals help estimate progress, but they are still best treated as directional rather than perfectly complete.

Areas currently being strengthened

Project Initialization

This is actively developing and would benefit from more practice, proof, or recent examples.

Resources

This is actively developing and would benefit from more practice, proof, or recent examples.

terraform plan

This is still an intentional growth area where William wants stronger depth or evidence.

State

This is actively developing and would benefit from more practice, proof, or recent examples.

Modules

This is actively developing and would benefit from more practice, proof, or recent examples.

Introduction

Updated 3/21/2026

Done
Profile and manual reviewEvidence: theoretical

What is Infrastructure as Code?

Updated 3/21/2026

Done
Profile and manual reviewEvidence: theoretical

What is Terraform?

Updated 3/21/2026

Done
Profile and manual reviewEvidence: theoretical

Usecases and Benefits

Untracked

CaC vs IaC

Untracked

Installing Terraform

Untracked

Project Initialization

Updated 3/21/2026

Learning
Profile and manual reviewEvidence: theoretical

Providers

Untracked

Terraform Registry

Untracked

Configuring Providers

Untracked

Versions

Untracked

Hashicorp Config. Language (HCL)

Untracked

What is HCL?

Untracked

Basic Syntax

Untracked

Resources

Updated 3/21/2026

Learning
Profile and manual reviewEvidence: theoretical

Resource Behavior

Untracked

Resource Lifecycle

Untracked

Meta Arguments

Untracked

depends_on

Untracked

count

Untracked

for_each

Untracked

provider

Untracked

lifecycle

Untracked

Variables

Untracked

Variable Definition File

Untracked

Local Values

Untracked

Input Variables

Untracked

Type Constraints

Untracked

Environment Variables

Untracked

Validation Rules

Untracked

Outputs

Untracked

Preconditions

Untracked

Output Syntax

Untracked

Sensitive Outputs

Untracked

Format & Validate

Untracked

terraform fmt

Untracked

terraform validate

Untracked

TFLint

Untracked

Deployment

Untracked

terraform apply

Updated 3/21/2026

Target
Profile and manual reviewEvidence: theoretical

terraform plan

Updated 3/21/2026

Target
Profile and manual reviewEvidence: theoretical

Inspect / Modify State

Untracked

graph

Untracked

list

Untracked

output

Untracked

Clean Up

Untracked

terraform destroy

Untracked

State

Updated 3/21/2026

Learning
Profile and manual reviewEvidence: theoretical

Remote State

Untracked

State Locking

Untracked

Import Existing Resources

Untracked

Splitting State Files

Untracked

Versioning

Untracked

Sensitive Data

Untracked

Best Practices for State

Untracked

-replace option in apply

Untracked

show

Untracked

rm

Untracked

mv

Untracked

Modules

Updated 3/21/2026

Learning
Profile and manual reviewEvidence: theoretical

Root vs Child Modules

Untracked

Published Modules Usage

Untracked

Creating Local Modules

Untracked

Inputs / Outputs

Untracked

Modules Best Practices

Untracked

Provisioners

Untracked

When to Use?

Untracked

Creation / Destroy Time

Untracked

file provisioner

Untracked

local-exec provisioner

Untracked

remote-exec provisioner

Untracked

Custom Provisioners

Untracked

Data Sources

Untracked

Template Files

Untracked

state pull / push

Untracked

state replace-provider

Untracked

state force-unlock

Untracked

Workspaces

Untracked

CI / CD Integration

Untracked

GitHub Actions

Untracked

Circle CI

Untracked

GitLab CI

Untracked

Jenkins

Untracked

Testing

Untracked

Unit Testing

Untracked

Contract Testing

Untracked

Integration Testing

Untracked

End to End Testing

Untracked

Testing Modules

Untracked

Scaling Terraform

Untracked

Splitting Large State

Untracked

Parallelism

Untracked

Deployment Workflow

Untracked

Terragrunt

Untracked

Infracost

Untracked

Trivy

Untracked

KICS

Untracked

Security

Untracked

Secret Management

Untracked

Compliance / Sentinel

Untracked

Terrascan

Untracked

Checkov

Untracked

HCP

Untracked

What and when to use HCP?

Untracked

Enterprise Features

Untracked

Authentication

Untracked

Workspaces

Untracked

VCS Integration

Untracked

Run Tasks

Untracked

Version Management

Untracked