Linux admin to Devops engineer

KUPI

New Member
Joined
Aug 30, 2019
Messages
16
Reaction score
3
Credits
90
Hello All,
Good day.
I am working as a Linux admin(SLES, RHEL). I have 5 years of experience.
I am trying to move in devops team.

I have knowledge about AWS, git, ansible and basics about terraform.
To become a devops engineer, what and all I need to learn.

I know shell scripting. is it mandatory to have java programming knowledge to become a devops engineer.

I am about to learn jenkins next. what devops engineer will do in jenkin.. Is groovy mandatory to work on jenkins.

I have not started to learn about kubernets/docker. If I get an understanding about the devops engineer role on kubernets then it will be easy to prepare.

Kindly guide me to prepare well.

Thanks in advance.
 


kc1di

Well-Known Member
Joined
May 14, 2021
Messages
913
Reaction score
771
Credits
6,502
This Article pretty much tells you what you need to do to become a Dev op engineer. Good luck in your study.
 

TheProf

Gold Member
Gold Supporter
Joined
Jun 15, 2021
Messages
255
Reaction score
243
Credits
2,431
Hello All,
Good day.
I am working as a Linux admin(SLES, RHEL). I have 5 years of experience.
I am trying to move in devops team.

I have knowledge about AWS, git, ansible and basics about terraform.
To become a devops engineer, what and all I need to learn.

I know shell scripting. is it mandatory to have java programming knowledge to become a devops engineer.

I am about to learn jenkins next. what devops engineer will do in jenkin.. Is groovy mandatory to work on jenkins.

I have not started to learn about kubernets/docker. If I get an understanding about the devops engineer role on kubernets then it will be easy to prepare.

Kindly guide me to prepare well.

Thanks in advance.

The first thing to understand, is that DevOps in nature is more of a culture/framework that became very popular with the growth of public clouds. DevOps has been around for many years, but only recently, we started to see more and more folks getting into this area of IT.

For the most part, you can use different tooling, there isnt a one tool that you have to learn to do DevOps. There are also many jobs that say they need a DevOps engineer, but they list things like Javascript, Python, PHP, etc as a required skill. There are also different types of jobs in the DevOps realm, such as automation engineers, cloud engineers, platform engineers, etc. All these jobs have some DevOps practices integrated into their workflow.

What is important to understand, is that you need to master some skills when it comes to Cloud, Scripting, Monitoring, etc... What I recommend, is that you at very least, get comfortable with Cloud, so in your case, it could be AWS, Linux knowledge is a huge plus because a lot of DevOps tooling relies on Linux more so than Windows. Knowing either Bash, PowerShell, Ansible, Terraform is a big plus for automation, although if you learn Bash, you can learn anything! And then there's also tools like Prometheus, Splunk, etc that are also important to know. This is not to say that you have to do all these, but at least knowing one cloud, one scripting language, and one operating system really well will set you on a good path to be working in a DevOps environment.

There's also the concept of GitOps that you should get yourself familiarized, GitOps is basically working with Git in your workflows, for example, committing/merging your code base with a VCS, doing things like pull requests, and just building out a CI/CD pipeline in general is really important.

When it comes to orchestrators like Kuberentes/Docker Swam or containers like Docker/Podman, these are good solutions to learn, but usually, Kuberenetes in itself is a full time job, if you dont spend a lot of time with K8s, it will be hard to get good at it, it is a very complex solution and also the reason why a lot of customers look at Kubernetes managed service vs doing it themselves. K8s is a good skill to have, even if you dont know it completely, but it does take a lot of time to master.

I know this is a lot of info, but I feel that if you start with Linux, AWS, Bash, and Git, you'll be in a good spot to develop more skills as time goes on.

P.S I work in the DevOps realm, just basing this on my experience.
 
OP
K

KUPI

New Member
Joined
Aug 30, 2019
Messages
16
Reaction score
3
Credits
90
The first thing to understand, is that DevOps in nature is more of a culture/framework that became very popular with the growth of public clouds. DevOps has been around for many years, but only recently, we started to see more and more folks getting into this area of IT.

For the most part, you can use different tooling, there isnt a one tool that you have to learn to do DevOps. There are also many jobs that say they need a DevOps engineer, but they list things like Javascript, Python, PHP, etc as a required skill. There are also different types of jobs in the DevOps realm, such as automation engineers, cloud engineers, platform engineers, etc. All these jobs have some DevOps practices integrated into their workflow.

What is important to understand, is that you need to master some skills when it comes to Cloud, Scripting, Monitoring, etc... What I recommend, is that you at very least, get comfortable with Cloud, so in your case, it could be AWS, Linux knowledge is a huge plus because a lot of DevOps tooling relies on Linux more so than Windows. Knowing either Bash, PowerShell, Ansible, Terraform is a big plus for automation, although if you learn Bash, you can learn anything! And then there's also tools like Prometheus, Splunk, etc that are also important to know. This is not to say that you have to do all these, but at least knowing one cloud, one scripting language, and one operating system really well will set you on a good path to be working in a DevOps environment.

There's also the concept of GitOps that you should get yourself familiarized, GitOps is basically working with Git in your workflows, for example, committing/merging your code base with a VCS, doing things like pull requests, and just building out a CI/CD pipeline in general is really important.

When it comes to orchestrators like Kuberentes/Docker Swam or containers like Docker/Podman, these are good solutions to learn, but usually, Kuberenetes in itself is a full time job, if you dont spend a lot of time with K8s, it will be hard to get good at it, it is a very complex solution and also the reason why a lot of customers look at Kubernetes managed service vs doing it themselves. K8s is a good skill to have, even if you dont know it completely, but it does take a lot of time to master.

I know this is a lot of info, but I feel that if you start with Linux, AWS, Bash, and Git, you'll be in a good spot to develop more skills as time goes on.

P.S I work in the DevOps realm, just basing this on my experience.
Thank you so much for the detailed information.
This is what i was expecting.
I was little confused from where to start. Also I thought java programming knowledge is mandatory to become a devops engineer. Since i am from Infrastructure operations background, i don't have much knowledge about java, j2ee, maven, reactJS. etc,,

Now I got a clarification. I will follow your advise and start with AWS and then git, Ansible, kubernetes.

Thanks again.
 

TheProf

Gold Member
Gold Supporter
Joined
Jun 15, 2021
Messages
255
Reaction score
243
Credits
2,431
Thank you so much for the detailed information.
This is what i was expecting.
I was little confused from where to start. Also I thought java programming knowledge is mandatory to become a devops engineer. Since i am from Infrastructure operations background, i don't have much knowledge about java, j2ee, maven, reactJS. etc,,

Now I got a clarification. I will follow your advise and start with AWS and then git, Ansible, kubernetes.

Thanks again.

No problem!

I also want to point out, that, there instances where Developers who write code in Java, or Python switch to a more of a DevOps role, in that case, you do see the requirement for programming languages where there might be a need to bridge the gap between software dev and infrastructure. But DevOps in nature, is not like a one specific role, you can have many different types of DevOps roles.

What you want to do, is focus on some key areas of Infrastructure if that Infrastructure is what you want to work with. Dont worry about learning a programming language for DevOps, it is a lot easier to learn a scripting language than a programming language if you've never programmed before.

Scripting languages are important for automation, and depending on the role you take, you will have to use either IaC, CM, or some other type of scripting language like Bash, this is because a big part of DevOps is to automate as much as possible.

I would leave Kubernetes to the end unless you want to work with Kubernetes, so in your case, it should be Cloud, Operating system (Linux), Git, and some scripting language (Bash/Terraform/Ansible). Then when you get comfortable with all these tools, you can then look at other tooling, like K8S/Containers, etc... Reason for this to make you dont spread yourself thin on too many technology stacks. Start small and work your way up and you'll be successful in no time.
 
$100 Digital Ocean Credit
Get a free VM to test out Linux!


Latest posts

Top