My perspective is - when you work and manage different IT professionals with diverse backgrounds, including system operators, software developers, UI and UX developers, and other IT “knowledge-based” staff during the drafting, planning, developing, and deployment of a functional system or application, then you’re a DevOps engineer.
Others claim at least fifteen years of IT proven practice would qualify a person to be called a DevOps engineer, but I believe three or five years in the industry and depth understanding of deployments and releases you’re pretty qualified (leave a comment on this).
Let’s dive into what you should know as a DevOps engineer.
Sounds weird, right?! For this role, you have to figure out yourself, how to interact with other people and what makes you worked up so quickly. If you do not know your traits ( I know you know you:) ), you will have difficulty handling different personas because you’d be managing and working with different professionals in IT-related work.
The team members will sometimes depend on your expertise, and a senior or a junior will not understand your input and can get you infuriated. Figure out how you will handle your annoyance because lashing out at someone will affect the development or slow down on whatever you’re working on.
After working on your attitude, having good communication skills will get the team on your side or what objectives and goals you’re trying to achieve. DevOps is all about working with a team as a family, meaning you want the family members to work in one direction. Your ability to communicate would enhance the collaboration aspect. You would not want an application created under your watch throw all sorts of code errors during production because of poor communication. It is a must-have virtue or trait for DevOps engineers to be successful.
What will you communicate to your team members if you do not have that little observability trait? It is a crucial trait you need to have as a DevOps engineer. You should know what code or a JSON script the software developer is shipping to the application for you to communicate your thoughts. If it is debugging, ensure the cleaning process is done correctly to avoid repetition or that everything is within the stipulated time frame. In other words, be aware of what is going on.
4.Coding and Scripting
5.Infrastructure as code
As a DevOps Engineer, it is important to ensure that the application or system under your watch is built in a structured manner for ease in future reference. You have to learn to use Infrastructure as Code (IaC) tools such as Terraform and AWS CDKs (Cloud Development Kit).
You can’t miss Cloud-related stuff as DevOps Engineer. They are related. Your production team may require your expertise on cloud platforms or services that are suitable for automation. Therefore, it is important to know these services to simplify the processes of monitoring, performing tests, code checks, and release and deployment.
Many companies are adopting DevOps methodologies and approaches in their system development and management. As a DevOps is necessary to understand continuous delivery (CD) theories to help these companies move towards cloud-world and automation because it is not easy. Knowing CD tools and systems will allow your team to create functional delivery pipelines.
It is another aspect of the Ops Engineer to understand different operations such as logging, monitoring, and alerting. It would help if you balanced these aspects in order to manage the entire process of production systems. Also, you’ll need to have experience working or using operating systems like Centos, Linux, Ubuntu, Windows, and RedHat Linux. Not to forget, familiarize yourself with web servers like Nginx and Apache.
Last (but not the end:) ), know how to manage your time. The production cycle works in phases, and you can’t be dealing with designing and development at once. Delegate duties or have a schedule that you’ll follow to ensure you monitor, test, and deploy without the pressure of completion.
DevOps practices are a never-ending discussion, meaning you have to learn every day taking this role. Technology never dies. It keeps growing or evolving. You’ll need to be flexible and be open to any changes that may occur in the future. Remember to be successful in tech; you have to watch out for the new tech in the block :).
Top comments (2)
What a great post, definitely worth a bookmark! @cndavu
A small DevOps Bible right here :)
As for 4 + 6 I also believe scripting and automations require a lot of "Out-Of-The-Box" Thinking.
There is always a way to automate and reduce the amount of time spent on each task a DevOps personal works on, especially on various "Second Day" operations.
As you mentioned: "you’d be managing and working with different professionals in IT-related work" so optimizing and automating each of these tasks to the bear minimum of effort and time may help you get that cup of coffee your'e trying to drink since 9 AM.
Indeed, effective automation will give you the break you deserve. Now, this may come down to the type tool using and your team...