loading...

What specifically should I learn for a career in DevOps (more explanation below)

ronsoak profile image ronsoak Updated on ・1 min read

Wanting to move from Data to a field where I get to automate things and so I'm looking to cross skill into DevOps.

Yes I know everyone says DevOps is a culture and not a job which tells me that it'll be around for as long as stupid devs exist.

The mantra seems to be, start with Linux, Python and anything AWS / Git.

But that's a very broad list of things to learn.

To give an example from my own world if someone wanted to become a Data Analyst, saying just learn SQL is not quite true, don't bother learning how to do ETL, don't bother with views, and don't try to tackle PLSQL until much later.

So what are some specific examples of things I should learn to do in Linux / python / AWS??

MANY
MANY
Thanks in advance :)

Discussion

markdown guide
 

I'm gonna share a short list that might help you get started:

  • Linux: how filesystem permissions work (search for chmod), how to use package managers, networking, how to work with services (search systemctl), how to install a web server within common stacks such as LAMP / LEMP.

  • Virtual Machines: learn the difference between VMs and containers, and maybe try VirtualBox and Docker.

  • Automation: this is the most exciting part of devOps in my opinion. Once you get a hang of those Linux topics, you can go for a tool like Ansible (because it's the simpler) for configuration management / automation. You can use virtual machines with Vagrant to learn.

I hope that helps!

 

I think that is a very good starting point.

I'd like to throw in the classic phrase: "just build something" in here.

I think, when it comes to learn new tools, the best approach to become proficient is, using them.

So to translate your own advice into DevOps:

To give an example from my own world if someone wanted to become a Data Analyst, saying just learn SQL is not quite true, don't bother learning how to do ETL, don't bother with views, and don't try to tackle PLSQL until much later.

I'd say:

Don't bother with Kubernetes, ServiceMeshes, and/or learning various cloud-provider APIs, trying to get something to "auto-scale".

I'd say, read up on Linux, VMs (containers), and pick one of the various automation tools and use them to set up a little pet-project (just a little VM maybe). Try to explore them and continue with the one you've felt most comfortable with.

And most importantly - Have fun.

 
 

I was going to write down a list of specific things, but decided to not do that.

Every company has it's own way of doing things, and it's hard to say what you should learn specifically because different companies might require different skills. That's why a lot of different people will give you a long list of skills.

I'd say, learn a bit of everything.

 

I am late to the party. I bought a Dell PowerEdge r720 on eBay and learned to install virtual machines on it and am currently learning to use Puppet for configuration as code. Having HW to play around with helps a lot, and enterprise computing is very different that consumer electronics, so it introduces you to a lot of things you probably have never had to deal with (SAS and disk protocols, RAID adapters, networking concepts).

 

Here is the DevOps map from roadmap.sh that is pretty complete. You can see where you are down the learning road and where you should go.

 

Thanks thats really cool!