Last Updated on February 18, 2023 by cscontents
Introduction
In this article we will discuss, how DevOps engineer as a career path makes you an overall good engineer and makes you an independent engineer in some extent. Just to give analogy, in cricket we have batter, baller and all-rounder who can bat as well as ball. DevOps Engineer is kind of all-rounder or jack of all trade 😊.
Software Industry is a huge industry where we have engineers for all the roles available.
Traditional Roles in Software Industry
In old days, in a project roughly we needed engineers (with tech skill) from –
- Developer
- Frontend developer
- Backend developer
- Operation engineer
- DB engineer
- Network engineer
Modern day Roles in Software Industry
Nowadays, in a project roughly we need engineers (with tech skill) from –
- Developer
- Frontend developer
- Backend developer
- DevOps engineer
- Operation engineer
- DB engineer
- Network engineer
Developer
Among the above engineers we all know “developer” is the most popular role. Developer is someone who mostly involved in writing code and generally a developer role does require ops skill.
Now as a developer if he wants to work on a project independently, then he will face challenge since he is having experience in only one part of the software project which is writing code.
Operation Engineer
An operation engineer is someone who handles server. He is the one who is responsible for supporting all the server related task/issue. And an ops engineer is not expected to know coding.
Now as an operation engineer if he wants to work on a project independently, then he will face challenge since he is having experience in only one part of the software project which is dealing with servers.
DevOps Engineer
“DevOps” is basically a culture or practice. SDLC uses DevOps methodology to improve software delivery speed, detect issues at early stage etc.
An DevOps engineer is one who bridges between developer and operation engineer. With the help of DevOps engineer code moves faster from developer to operations, DevOps engineer fasten the delivery process. The role of DevOps engineer demands to have knowledge of ‘development’ and ‘operation’ both. It does not mean DevOps engineer need to have very good development skill and very good operation skill, but he/she must be aware of those process/skill to some extent.
If we analyze the role of DevOps engineer, we will see a DevOps engineer gets exposure to both the side ‘development’ and ‘operations’ which makes them to think about the whole picture of the SDLC (Software Development Life Cycle). And these ways a DevOps engineer becomes more independent compared to a ‘developer’ and a ‘operation engineer’.
Here by ‘independent’ I mean if a DevOps engineer wants to work on a project (e.g., personal project, startup etc.) then he won’t face that much challenge since he is somewhat aware of the skills & processes, maybe he can hire a developer and guide him to work accordingly.
Tasks of DevOps Engineer
Speaking about DevOps engineer’s tasks, for example –
- Developing ansible playbook (YAML) – VM provisioning, software provisioning, software configuration etc.
- Developing python script, shell script, PowerShell script etc.
- Developing Infrastructure as Code (IaC) using Terraform – developing infrastructure as code
- Developing Jenkins pipeline as code
- Handling application deployment on VM, OCP etc.
- Handling OCP, Kubernetes cluster etc.
- Troubleshooting server side issues, networking related issues etc.
These are few tasks only, there can be more task for which a DevOps Engineer can be responsible.
All those skills set makes a DevOps engineer kind of all-rounder 😊.
Thank You.
If you are interested in learning DevOps, please have a look at the below articles, which will help you greatly.
- Kubernetes Series: Part 1 – Introduction to Kubernetes | Background of Kubernetes
- Kubernetes Series: Part 2 – Components of Kubernetes cluster | Kubernetes cluster in detail
- Kubernetes Series: Part 3 – What is Minikube and How to create a Kubernetes cluster (on Linux) using Minikube?
- Introduction to Ansible | High Level Understanding of Ansible
- Basics of automation using Ansible | Automate any task
- 10 frequently used ansible modules with example
- Jenkins Pipeline as code – High level information
- What is End-to-End Monitoring of any web application and Why do we need it?
- What is “Monitoring” in DevOps? Why do we need to Monitor App/DB servers, Transactions etc.?
- DevOps Engineer or Software Developer Engineer which is better for you?- Let’s discuss
- How To Be A Good DevOps Engineer?
- Network Connectivity Troubleshooting Guide for Beginners
- How to do git push, git pull, git add, git commit etc. with Bitbucket