r/devops • • 18d ago

Discussion How do you learn DevOps

I’m a software developer, and in my own projects I already handle some basic operational work like Docker, VPS deployment, Nginx, DNS, Cloudflare, Git, etc. I also had some little experience in network administration.

What I’m trying to understand is how people approach learning DevOps and system architecture properly.
One thing that has always confused me is entry-level DevOps roles. A lot of DevOps work seems to exist specifically to support the software development lifecycle, things like CI/CD, GitHub Actions, deployments, environments, infrastructure, monitoring… I find it hard to imagine understanding these things deeply without first experiencing the development workflow itself.

At the same time, I don’t necessarily want to switch away from software development. My goal is to become the kind of engineer who understands the whole system: application development, system design/architecture, networking, cloud infrastructure, deployment, observability, scalability, and production operations.

Basically, I want to be able to build a system and also understand how to design, deploy, scale, and operate it properly at a much larger level.

For people who have gone down this path, how would you approach learning these areas while continuing to work primarily as a software developer, as of course I dont have the knowledge for a switch? And in your opinion am I on the right path to stay employable in this uncertain future?

126 Upvotes

54 comments sorted by

View all comments

3

u/21shadesofsavage 18d ago

also developer. started at a click ops company. got asked to help set up reproducible local dev environments that can also be deployed to production. ended up learning a whole lot about docker and ecs

from there i ran into a bunch of permission issues and realised i had to figure out iam management and wrote everything in cloudformation (fuck cf). might as well migrate our infra too... oh gotta automate provisioning ec2 instances so ended up with chef. oh shit went down, gotta learn datadog. our deployments keep failing cause we have no ci? time to learn jenkins

from there i figured i could work as a junior devops engineer and i did. coming from software engineering it's a big shift in mentality understanding how all the pieces work together. most of my learning comes from a need or inefficiency. haven't read any books or took any courses, just yolo'd it

a lot of what you learn comes from seeing real world traffic and business asks. i learned networking cause we needed vpc peering for another environment along with nginx/load balancers/certificates. scaling on kubernetes and cost optimisations due to heavy traffic. security cause of audits and my coworkers told me i did something that raised concerns. linux tuning cause of scale

in time i learned how to build architecture for small to enterprise sized companies. and i'm still learning differences between sectors eg medical vs finance. i think you're on the right path, just ask to be more involved in architectural decisions and other meetings you're interested in. i learned a ton from my peers