DevOps (a clipped compound of development and operations) is a term used to refer to a set of practices that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes.
What are DevOps skills?
Our respondents identified the top three skill areas for DevOps staff:
- Coding or scripting
- Process re-engineering
- Communicating and collaborating with others
These skills all point to a growing recognition that software isn’t written in the old way anymore. Where software used to be written from scratch in a highly complex and lengthy process, creating new products is now often a matter of choosing open source components and stitching them together with code. The complexity of today’s software lies less in the authoring, and more in ensuring that the new software will work across a diverse set of operating systems and platforms right away. Likewise, testing and deployment are now done much more frequently. That is, they can be more frequent — if developers communicate early and regularly with the operations team, and if ops people bring their knowledge of the production environment to design of testing and staging environments.
Discussion of what distinguishes DevOps engineers is all over blogs and forums, and occurs whenever technical people gather. There’s lots of talk, for example, about pushing coders — not just code — over the wall into operations. Amazon CTO Werner Vogels said in an interview that when developers take on more responsibility for operations, both technology and service to customers improve.
“The traditional model is that you take your software to the wall that separates development and operations, and throw it over and forget about it. Not at Amazon. You build it, you run it. This brings developers into contact with the day-to-day operation of their software. It also brings them into day-to-day contact with the customer.”
The resulting customer feedback loop, Vogels said, “is essential for improving the quality of the service.”
Longtime developer and entrepreneur Rich Pelavin of Reactor8 also sees benefits from DevOps culture in terms of increased responsibility for everyone: “I’ve seen organizations where engineers get beepers, so they’re the ones who get beeped if it goes wrong [in deployment]. That pushes them into the rest of the software lifecycle. I think that’s a great idea.” That’s a real change from non-DevOps environments, where developers make their last commits and head home…or to the ping-pong table.