For a long time Terraform seemed like a mystical technology, so I avoided learning it. When I finally got around to putting my mind to it, it turned out that learning Terraform was a simpler and quicker process than I imagined.
How long does it take to learn Terraform? *Learning Terraform can be easy and could take as little as 1 week to master the basics, and as little as 3 months to really master if you are spending adequate time learning. *
But, of course—as always—there are some additional factors which affect how long it can take to learn Terraform. Let’s take a look at what those factors are…
If you’re after a rough timeline for how long it could take you to learn Terraform, the below table should give you a rough idea to set your expectations. The times given depend on the depth of knowledge that you are after.
| Beginner | Can use Terraform and it’s commands to create infrastructure. | 1 week |
| Intermediate | Understand Terraform well, can refactor and structure Terraform code. | 1-3 months |
| Advanced | Understand all the nuances and advanced features of Terraform, such as functions, modules, etc. | 3 months+ |
Of course these numbers are only a rough indication, and different factors can affect how long it takes to learn Terraform. Let’s now go through the different factors that will affect the time it takes you to learn Terraform.
If you’re new to infrastructure as code, I suggest checking out: Infrastructure As Code: An Ultimate Guide
The factors that affect how long it takes to learn Terraform are: your knowledge of the underlying cloud provider, your knowledge of command line tools, and how you plan to learn Terraform. Let’s break each of these factors down…
The first major factor that will affect how quickly you can learn Terraform is how well you know the underlying resources that you create. Terraform is typically used in parallel with some cloud provider such as AWS, GCP, etc.
If you already understand the underlying resources that you are creating with Terraform that will make writing your configurations easier. But, that said; knowing the underlying provider isn’t essential to learning Terraform.
In fact, I actually recommend learning Terraform before learning cloud, as it makes your learning experience easier. If you’re curious to find out why that is, check out: 5 Important Reasons To Learn Terraform Before Cloud Computing.
The second factor that will affect how quickly you can learn Terraform is your familiarity with command line interfaces (CLI’s) since that’s the main way that Terraform is distributed and executed.
In order to use Terraform locally you’ll need to download and install their command-line tool. This isn’t mandatory as Terraform can be installed remotely, but it’s likely that you want a local copy to help you experiment and learn.
If you already have prior knowledge of, and are comfortable using a CLI then learning Terraform will be an easier process for you. If not, you might want to factor in some time to read up about how command line interfaces work.
Lastly, the final factor that will affect how long it takes to learn Terraform is how you choose to learn. There are many different courses that exist which can help you structure your learning, Hashicorp even have an official certification course.
One mistake many people make when learning Terraform is spending time learning advanced features that aren’t necessary to a beginner, such as modules, the inbuilt functions, and logic such as conditional resources, etc.
If you can stick to the basics at first, this will drastically speed up your learning of Terraform. Ideally, I’d suggest getting as hands-on with Terraform as soon as possible, as that’s the best way to learn Terraform in my experience.
If you’re a person that learns via books, I highly recommend the O’Reilly book, Terraform Up & Running as good reading on the core concepts.
Generally speaking, Terraform is not a particularly hard technology to learn. And is a great compliment to many different roles, ranging from front end engineers to data scientists.
If you are still interested to start learning Terraform and you’re looking for a place to start, I’d recommend reading the article: Learn The 6 Fundamentals Of Terraform — In Less Than 20 Minutes.
The post How Long Does It Take To Learn Terraform? And How To Speed Up Your Learning. appeared first on The Dev Coach.
Lou is the editor of The Cloud Native Software Engineering Newsletter a Newsletter dedicated to making Cloud Software Engineering more accessible and easy to understand. Every month you’ll get a digest of the best content for Cloud Native Software Engineers right in your inbox.