DevOps boils down to a collection of technical and cultural practices that allow organizations to build products at a more efficient clip. By implementing these practices, DevOps engineers increase collaboration and reduce friction between developers and operations teams. If everything works as it should, developers are incentivized to write software and come up with new features, while operations personnel focus on stability and uptime.
“The fundamental lesson that companies are learning is that you can’t have a dev team just hand off code to the ops team and expect things to work,” explained Will Bradley, lead web developer at SimpleWAN, which builds cloud-networking solutions. “Your dev team and ops team need to be working closely together at many stages of the process so that what code is delivered can actually be run on the actual systems without exploding,”
Thanks to the benefits of such close collaboration, the demand for DevOps engineers has skyrocketed.
Embrace the Spirit
Wesley Novack, senior systems engineer at Pluralsight, recommends that anyone interested in transitioning into DevOps do some reading first. Learn about the history of DevOps, why the movement came about, and the problems it proposes to solve. Understand the core values, which include culture, automation, measurement, and sharing.
Many people work on something DevOps-related without even realizing it, at least at first. If a developer coordinates closely with an operations team, or an operations team collaborates with developers on a project, they’ve entered the realm of DevOps. “If you have the ability to take [the] initiative and be an enabler of the DevOps philosophy and DevOps culture, that’s a good way to get started,” Novack said. “No matter what role you’re in, work towards evangelizing the philosophy and showing the benefits of what can happen when you bring about the DevOps culture.”
Develop the Skills
People looking to transition into this segment should be familiar with both IT and programming. “There are programmers out there who don’t know about web servers and networking and internet technologies and load balancing and routers, which are all needed for a successful website to run,” Bradley said. “Likewise, there’s plenty of IT people who know all about routers and networking and internet technology but know nothing about whatever programming language the service is being written in.”
An aspiring engineer should have some experience with guiding a project from the development phase through operations and maintenance.
Allen Yeh, a senior software engineer at Scientific Research Corporation, suggests that having good documentation and communication skills can prove as crucial as work experience when it comes to landing a DevOps job. “You want to be able to deliver the same product all the time, rather than one that only works if you get in the environment and magic stuff up,” he said. “Any developer can make things work by going into the system and changing things, but if you have to hand it over to someone else, someone else needs to be able to also do those things and make it work.”
Being able to communicate easily with development and operational teams is likewise important; the word “empathy” comes up a lot in DevOps, Novack said: “You need the willingness to have empathy for others within the software development lifecycle.” That means working to understand the various roles in the software production and deployment process.
DevOps isn’t just about interacting with developers and operations; there’s also management and, in some cases, the end user. The job entails “taking these three or more groups with different motivations and different goals and different understandings and managing their communication such that not only do you have a successful project, but you have ongoing process/procedure/culture of communication” to allow collaboration, Bradley said.
Interacting with Others
Devopsdays is a series of technical conferences that’s a great place to learn more about the intersection of software development and IT infrastructure projects (or focus on one or the other). Events are run locally by volunteers and typically include both curated talks and self-organized content about automation, testing, organizational culture, and more.
Be Aware of Current Roles Within a Company
Before accepting a DevOps position, find out how the company’s development and operations teams interact. Novack recommends looking for an organization that embraces a collaborative culture. Such a culture can streamline the DevOps process, especially when it comes to shipping new features and maintaining software quality. While it’s certainly possible to help companies build a DevOps culture from the ground up, it’s a supremely difficult task for any DevOps neophyte.