Giter Club home page Giter Club logo

devops_skill_set's Introduction

devops_skill_set

1.Soft skills and communication: As we say earlier DevOps is trying to combine operation and development. It is obvious, DevOps job requires so much communication.

Empathy is also a good thing that every DevOps engineer should have to be successful. Your empathy will be shown in your team-first mindset. Conflicts and arguments are obvious in any teamwork. This is where your empathy will be tested. You should not let these arguments lead to frustration or pointless anger. Empathy will isolate an argument, therefore, no one will keep personal grudges.

Next important soft skill has DevOps engineer should have is integrity. We know that DevOps is a different culture of traditional software development culture. And DevOps bring together people from various IT sectors together. Therefore you should be honest and genuine with what you are capable of doing. Trust within team members is an important quality required to achieve the goals of DevOps team.

2.Knowledge of source control system: Git CVS SVN Mercuria Must have Knowledge of any of the Version Control system.

3.Knowledge of Continuous Integration. The cornerstones of DevOps is Continuous integration. This is shortly called as CI. CI is a set of processes which is part of the Build Pipeline. We learned from the previous paragraph that DevOps use a single version of the system for both the development team and the operational team. What CI does is merging individual developers code to the master copy of the main branch. You can merge any number of times in a day code. That's why we call it continuous integration. Jenkins is a famous tool for CI. every developer should know at least one

4.Knowledge of containers

A lot of people argue that containers and DevOps were built for one another. Container ecosystem has helped the popularity of DevOps immensely. Containers introduced three concepts to DevOps culture; flow, feedback, continual experimentation; which is now considered to be the three pillars of DevOps. Let's have a brief introduction to those three concepts.

A container work as a silo. You can easily forget about the system when you are inside the container. Inside the container, everything will work in an acceptable manner. This is called flow.

Containers are a great way to separate the application while providing a way to ship the environment that allows you to have fast feedbacks from customers.

Containers make the testing much easier.

Docker is a famous container technology that every DevOps engineer should know.

5.Knowledge of infrastructure automation tools

Another key element of DevOps is Automation. You can not think of DevOps without thinking automation. Most of the manual tasks can be automated using Python, Shell, Bash. Automation helps DevOps Engineers to ensure consistent performance. Moreover, It will save a lot of time DevOps engineers which can be spent on more important goals. Therefore the knowledge of Automation is vital for the success of any DevOps engineer.

6.Knowledge of clouds Competition in the software development world is getting bigger day by day. As a result of that product development and releasing has become highly sophisticated over the last few years. Business agility has reached the key to survive in this competitive market. Most organizations are started using clouds considering many benefits it offers.

Knowledge of cloud has been relevant not only for DevOps but also for software developers. For many organizations, the cloud has been a major part of DevOps culture. Both of them have great potential to offer speed and agility to businesses. The following list will show you 5 benefits using cloud within DevOps culture.

Easy Automation - we learned about automation in the previous paragraph. Cloud makes automation easier.

Cloud-server replication - back up is an integral part of any cloud service. Still, you have to start the servers first and then restore the backup on a different environment.

Orchestration - it is a special way of automation. It is a way of providing complete coordination and control in automation which covers the entire hierarchy in the infrastructure. Some examples of orchestration tools are Chef, Puppet, and Ansible.

Effective Monitoring โ€” Most Cloud Services provides you with tools to monitor your application.

Rapid Deployment - you can find many tools with your cloud provider to deploy your application faster.

It is quite obvious, that knowledge of cloud technology is vital for the success of any DevOps engineer.

7.Knowledge of Security. As I have already mentioned, the primary goal of DevOps is to release codes faster. It is obvious that faster releases lead to vulnerabilities. Data breaches have been the biggest threat to software applications. Therefore, it is the responsibility of the DevOps to protect the applications from attacks. These attacks could vary from SQL injections to XSS attacks to unrecognized attacks. All security threats do not have to be invoked by a human. There could be security pitfalls in the application itself. DevOps should have an idea about all these things. DevOps Engineer does not have a security expert. But having trained in security can help his job greatly.

8.Testing The main objective of DevOps is to accelerate the delivery of software. But there is no point if there are bugs in whatever you deliver. The quality component is an important factor in any software release. Therefore every DevOps team must adopt continuous testing to their DevOps culture. Therefore, Testing is an important skill for anyone who is going to be a DevOps engineer.

Let's discuss what is testing in a DevOps environment really means. If you consider the top performing DevOps organizations like Amazon and Netflix, they use performance testing, load, automated regression, and security testing. Their goal is to build software quality on DevOps pipeline. So they are ensured to be run on every build. To do such things, obviously, you have a good knowledge of testing.

9.collobaration DevOps engineers do not work for personal goals. They have team goals. Any problem is everyone's problem. DevOps engineers should help to assist coworkers in their troubles. The key is to have empathy towards others. Another point is, DevOps engineers work in small batches from performing code testing. It allows coworkers to do their job easily.

Big picture Thinking

DevOps always considers the customer is the most important things. Their purpose is delivering the product for the customer. This requires them to have a big picture of what they should be doing. They have to clearly understand the requirement of the customer. Often, DevOps engineers lack this ability. The main reason for that is, most of the DevOps engineer coming from the software development background. There are not too many who have been practices to become a DevOps engineer. Essentially, there is a gap between software and DevOps engineer. Understanding this gap will help you to do your job successfully. A software developer only has to code what was asked to code. As a DevOps engineer, you should see the bigger picture, which is required to satisfy the customer.

Also, you can take a break from the project to another project. Thinking the bigger picture will help you solve this problem as well.

devops_skill_set's People

Contributors

bikennepal avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.