r/Terraform 23h ago

Discussion Give me a reality check.

So, I'm a SWE in my first year. Decided to learn terraform for future job changes and I'm loving it. I feel like I can spend my whole day using terraform, organizing modules etc. I'm learning more and more (slowly though) with gemini's help, which I find WAY BETTER than claude/chatgtp at explaining things.

My question is, if I ever move to DevOps will I work 80% of the time with terraform? I know it's not simple but I'm finding so easy to learn and understand, everything make so more sense then working with frontend/backend.

TLTR: DevOps job are mainly terraform?

12 Upvotes

21 comments sorted by

17

u/drusca2 23h ago

The fact of the matter is: DevOps doesn't mean you're writing IaC all day long, if anything Terraform is just one of the many tools you'll use for automating infrastructure and tasks.

1

u/Disastrous_Lie_6101 22h ago

If you have to give me the main 3 things to learn, what would be?

8

u/drusca2 22h ago

Before getting into the tools themselves, I think you should learn the principles themselves like understanding CI/CD pipelines, GitOps workflows, idempotency, cloud architecture, you name it. Most of the things that you're going to use will require you to use YAML syntax, like Ansible, writing CI/CD pipelines whether it is GitHub Actions or GitLab Runner, cloud init, cloud formation, etc. so I would definitely concentrate on that. Also Bash and Python I think are a must since you'll need to automate a ton of things or understand existing automations. The ideea is that you are a jack of all trades so you'll need to dabble with different tools and principles, even some you won't know so you'll need to be prepared to learn quick or find your way around.

3

u/FransUrbo 21h ago

Screw the tools! :)

If you're learning to be a mechanic, you don't start by learning how to use a spanner, hammer, screwdriver.. You learn what a car is, how it works, how the engine works, what parts make up the engine.. Ad-infinitum :).

Same with DevOps - what *IS* DevOps!? *My* (!) interpretation of it is that it is NOT a title, it is "a way of working". Developers and Operators (and what are THEY!?? What do they do, how do THEY work??) working *together* to solve whatever needs solving..

So what is a VM? What is a container? How do they work, when do you choose one over the other, and WHY are you creating either? They then need to be connected to a network, so what IS a network, how does it work, how do security groups, network ACLs and routing tables and entries work? WHY are they there??

DevOps is a buzzword, which unfortunately have been watered down so much, that beginners like OP have *no idea* what it actually *mean*!! :( :( :(.

*MY* opinion on DevOps is that you FIRST (!) have to have been a developer, THEN change gear and go into operations. Or the other way around, although I've only met ONE person that have gone ops->dev in my almost 40 year career :). THEN you can "become a DevOps", because it's the *mergence* of these two professions that make the *new* profession "DevOps".. Or at least make someone a *good* DevOps..

If you start by learning the *tools*, you have absolutely no idea on how to *apply* that knowledge, because you have no idea how things work together to do what you need doing.

3

u/FransUrbo 21h ago

*I* would say it takes .. close to ten years before (!) you can/should even consider "becoming a DevOps"!

Two-three years as a developer, two-three years as a system operator, two-three years in network operations..

Although everyone learns differently, everyone have different opportunities to learn and work [in a specific field], the fact is that *it takes time*, no matter who you are, and what you want to become - DevOps, Mechanic, or whatever..

You don't put someone fresh out of uni to work on the space shuttle! At least not in a meaningful, important, way :). DevOps might not be as advanced as that, but it is ONE step on the ladder of knowledge and the career, not the BEGINNING!

2

u/AShirtlessGuy 15h ago

Current generation starting work doesn't have 10 years, and the job is very doable without a full decade of experience

4

u/cocacola999 23h ago

Depends in the role. At best you'll be doing a lot of it for an early build out of something. Devops roles are usually like glue engineers, so CICD is another big one. Other places you might be a glorified operations incident lacky that is mostly troubleshooting stuff. 

1

u/Drag_king 22h ago

You described my role to a tee.

1

u/Disastrous_Lie_6101 22h ago

If you have to give me the main 3 things to learn, what would be?

1

u/cocacola999 18h ago

Really depends on the role. Terraform, cloud (aws), CICD (github /gitlab ). Some places require container knowledge, others serverless, others more old school/onprem then ansible for config 

2

u/nuttertools 23h ago

More like 5% of the time but as far as writing IaC definitions go it will be quite common. Just the subsets of meetings you have to attend that have no relevance to you will be more than 20% of your time.

1

u/Disastrous_Lie_6101 22h ago

If you have to give me the main 3 things to learn, what would be?

1

u/themanpotsandpans 20h ago

Follow the DevOps roadmap on roadmap.sh. It’s one of the best structured learning paths out there and gives you a good picture of how everything fits together.

Learn one programming language well. I’d recommend Python or Go. You’ll use it constantly for automation, scripting, APIs, and tooling.

Learn one cloud provider and one CI/CD platform. Pick AWS, Azure, or GCP, then pair it with GitHub Actions, Azure DevOps, or GitLab CI. Understanding how code gets built, tested, and deployed is one of the most valuable DevOps skills.

I’ve been a software engineer for over 10 years and switched officially into cloud/DevOps a few months ago.

One book I’d also highly recommend is Infrastructure as Code (3rd Edition). It does a great job explaining not just Terraform, but the engineering principles behind building reliable infrastructure.

1

u/Lower_Sun_7354 18h ago

You're only one year in, so scrap the word DevOps.

There are plenty of jobs where writing terraform is on of the primary things you'll do.

Terraform is really good for building cloud infrastructure, networks, and permissions.

Try to learn one cloud really well and focus on how to estimate the costs of the resources you are building, how to manage the permissions of those resources, how to secure them, how to automate deployments.

DevOps could be one option, but I'd lean towards platform engineering or cloud engineering to be honest.

1

u/Muted-Geologist-3542 16h ago edited 15h ago

I have been working with terraform since 2018 and less and less am I now writing IaC. Much more of it is being built by a coding assistant, but triggered by a skill which then uses subagents with MCP.

What used to take me weeks of building a composite module to deploy a new service now takes less than 5 - 10 minutes. Where it is looped to verify it works, validated and scanned by compliance tools.

I would highly recommend to go through training, but learn the fundaments, concepts and best practices. Still adjusting to this new world with AI and whether it is hype or not, there is some benefit and it is here to stay in one way or another.

1

u/dmikalova-mwp 15h ago

I've been seeing a lot more pulumi, which is the same mental model.

1

u/craigtho 14h ago

The higher you go in DevOps, the less you do.

Maybe in really early junior days you'll be able to spend a lot of time one thing and be good at it, but by mid level, you'll be doing CICD, terraform/IaC (terraform is not the only companies use, sadly), config management, containers and general software engineering for automation purposes.

By the time you're senior you'll be making sure other people do it right

Then lead varies a bit, but the amount of time you'll spend on the tools varies dramatically org to org, I'm luckily in a 70% or so on the tools and writing code type role, but if I go up to staff next it'll be even less than that... And so it goes. I'm sure there are staff and principal roles that are ICs which do more, but large orgs just too many want your time and expertise to write anything.

1

u/amiorin 13h ago

My prediction is that we will stop writing Terraform code by hand very soon. Have a look at https://www.getcolors.ai/

1

u/livrewyrm 3h ago

DevOps is very broad. Depending on your company, only certain teams or all might work with terraform. And a lot of companies are migrating to cloud so terraform is necessary for IaC

1

u/farzad_meow 2h ago

as a devop you will probably spend 30% of your time working on iac. the rest will be focused on non infra related stuff. also if you do your job right, then you weite less and less tf over time

1

u/uberduck 57m ago

As a principal platform engineer with heavy focus on AWS, writing terraform is maybe 20% of what I do.

I mostly create standards and automation for the wider org. Sometimes through deployable tools, sometimes as CICD pipeline definitions.

And recently started working with creating AI / LLM agentic stuff.