What is DevOps? We hear the term almost daily. It has taken the industry hostage, and yet, there is a great deal of confusion as to what it really means.
Before we dive in to what DevOps is, let's clarify what it isn't. DevOps is not magic. It is not hocus pocus, mystical powers granted to select engineers that fixes all of your problems with little to no effort. DevOps is not perfect, nor is DevOps easy.
Now, onto the fun stuff. "what exactly is DevOps?" DevOps is the offfspring of Developers and Operations with vast input during its rearing from aunts and uncles (qa, automation, test, monitoring, IT, security, et cetera).
Oh great, so DevOps is the redheaded stepchild of the company? Yep, but unlike the child of lore that noone wants or needs, everyone wants DevOps. DevOps is a culture; a mindset if you will. It unifies teams by bridging the gaps between them. The top DevOps engineers have diverse backgrounds that allow them to work with and for many teams, usually simultaneously.
DevOps engineers possess skills that allow them to further company objectives by establishing practices and procedures that reach multiple scopes, instead of a single scope.
There is a downside to their robustness, however. Many DevOps engineers will be strong in many areas and able to contribute, but their efficiency in any single scope may be lower than that of a single dedicated engineer focused solely on one area of specialization.
As an analogy, a top developer will have experience in more than one language. Ask them how many they are "guru" at, and you will often times hear them narrow the choices to select languages. This doesn't mean they canot use any other language, but rather, that they are not as efficient with them. The same is true in DevOps. We may excel in some areas, but there are others where we adapt out of necessity (or desire).