Terraform Certification: The Last Resort
You don’t have Terraform experience. Or maybe you have a little, but it’s not enough to wow a resume screener.
You’ve searched through all the Udemy and Cloud Academy courses. Maybe even watched some YouTube videos. But you’re feeling like it’s just not enough. You want something official. Something that says “you can trust me.” Something that will tell those recruiters you know your stuff.
You land on the Terraform Associate (003) certification page on Hashicorp’s website. But something’s holding you back. A little voice that’s asking “Is it worth the time and money?”
To certify or not to certify. That is the question.
How Humans Learn
Most of us learn through trial and error. We tinker. We play. We experiment. Through this interaction with the world, we observe patterns.
The learning pyramid tells us the effectiveness of remembering based on how we learn new things.
How do you study for a certification exam? You read and watch videos.
How do you learn on the job? Someone shows you (watch a demonstration), you talk about it with them (engage in a group discussion), then you do it yourself. Eventually, you are expected to teach other new team members (teaching a subject).
Which way do you think is most effective?
Despite the failures of the current “concept first” education system, we still accept it as the right way to learn.
Ironically, in a cage match between job candidates, the one with more experience almost always wins.
A Note on Certifications
There are lots of certifications out there for computer engineering. Some have been around for decades. Some are older than many of you reading this.
They started with great intentions.
- Standards of learning
- Consistent education
- Time tested knowledge
- Controlled examination environments
Let’s not kid ourselves. Over time, they became about something else. Money.
Only “certain” places can conduct certification exams. Only “certain” certifications are better than others. Only “certain” training courses give you everything you need to pass the exam.
It turned into business. The business of taking your money in return for a piece of paper.
But then those pieces of paper became currency, just like the dollar. The major cloud providers established partner programs that incentivized the collection of certifications. A “certain” amount of engineers had to be certified in order to gain access to exclusive opportunities from the companies that owned the certifications.
This was their way of guaranteeing the quality and consistency of the implementation knowledge for their platforms. Because of this, they require their partners to have them.
This can be observed in the number of requests that you see for cloud provider certifications.
Take note that “Terraform Certification” is requested on a statistically meaningless number of job postings. However, AWS leads the certification pack at a factor of 3x. Who has the largest and richest preferred partner program in the world? You guessed it: AWS.
What about all those resume scanners that just look for keywords and aren’t smart enough to view your GitHub profile? Out of 10,000 job postings that I searched, 0.42% mentioned “Terraform Certification”. Are you telling me that someone from HR is going to:
- research all the technologies in a job description
- independently find the names of certifications
- configure the resume keyword scanner to look for them in the submitted resumes
- not bother putting the name of the certification in the job posting
- do all of this without any input from the hiring manager
It’s possible, yes. But highly unlikely.
More Doing. Less Reading.
The learning pyramid reminds us that the best way to learn is to do.
But how do you “do” Terraform if you don’t have any experience?
- Open a cloud provider account. I recommend starting with AWS because it is requested on over 50% of DevOps job posts. (NOTE: Set up a billing alert for a low amount like $5 to prevent accidental spend)
- Install the Terraform extension into your IDE. Clone a common Terraform module from GitHub. Become familiar with the code decorations and highlighting so your eyes get used to identifying problems.
- Create a public repo following Hashicorp’s repo best practices.
Need a project idea to get your creative juices flowing? Try these.
Cloud Resume Challenge
The Cloud Resume Challenge - Terraform is an excellent way to present your resume to employers by hosting it on the cloud. Choose the AWS route to align with the recommendations above.
The key is to be actively engaged. You must be doing. Not just copying and pasting code.
Type the commands and the code so you get used to the formatting and syntax.
Most importantly, have fun. Experiment. Tinker. Break things.
Build A Business
There is never a better time to start your own business than when you are already unemployed!
- If you have a great idea, run with it. If you don’t, copy someone else’s and build a competing product. Don’t try to be Amazon. Think smaller. Keep it simple.
- Don’t worry about developing the application. Worry about the infrastructure. Keep it simple.
- Create an architecture diagram with a piece of paper and a pencil. Keep it simple.
- Research available Terraform modules that already handle your infrastructure requirements. Read through their source code and “borrow”. Only take what you need. Keep it simple.
- Build your Terraform code. Don’t use variables. Keep everything in a single file. Use the MVP approach. Keep it simple.
Assume the role of CEO, CTO, and CFO. Be scrappy, use the right technology, and keep it cheap. Tear everything down when you’re done.
Most importantly, have fun. Experiment. Tinker. Break things.
Hint: If you use AWS Lambda and AWS DynamoDB, you don’t have to set up a VPC.
Contribute to Open Source
There is one other option that we have not explored yet. I believe it to be the best way to learn because it simulates how you would be using and learning Terraform on the job.
Odds are, as a junior, you will not be expected to write Terraform modules from scratch on Day 1. You will be maintaining someone else’s code, troubleshooting
terraform apply failures, and remediating security findings.
Open source contributions to public Terraform modules and projects are a great way to simulate this situation. You’ll be thrown into the deep end, expected to read documentation, and at the very least, will experiment to solve issues on your own.
I built this tool to find opportunities for aspiring engineers to contribute DevOps to open source. The tool uses security testing violations as a way to introduce you to the project. It also adds immediate value by raising the security bar for the community. This approach forces you to fully understand the codebase. You will never get a PR approved if you do not understand what you are doing.
Each repo page in Experience Builder shows all of the violations and cites the recommended best practices that should be implemented. Links to instructions on how to remediate are included directly in each repo’s description page.
Almost every repo contains a
CONTRIBUTING.md or contribution instructions in the
README.md. It tells you how to set up your local environment to begin development, as well as the process to submit a Pull Request with prerequisites.
What are you waiting for? Dive in!
For the third and final time, have fun. Experiment. Tinker. Break things.
Terraform certification is one of many ways to learn Terraform. But there are more effective ways that will help you learn faster and better.
In the end, you just want your resume to be noticed out of the hundreds of other applicants. Getting real experience through projects, business building, and open source contributions is the best way to do that.
Hiring companies are not incentivized by a Terraform partnership program to collect certifications, unlike cloud platform certifications. This can be seen by inspecting the number of job postings that request Terraform certifications, of which there are less than 1%.
So, should you get that Terraform certification? You want my advice? Save it for the last resort.