This blog was originally posted on New Relic.
We recently took a close look at the habits of highly successful software developers, including an array of non-technical skills and characteristics often found among extraordinary devs. Now, it’s time to look at the development team’s mission-critical partner in most software shops: operations. What sets the ops pros apart from the rest of the pack?
Just like with their dev counterparts, a successful career in ops does not depend upon technical expertise alone—though, yeah, serious tech chops are kind of table stakes for ops roles. But what we wrote about developers in our previous post holds true for operations as well, albeit with a small edit: “Highly successful software developers operations professionals also cultivate critical behavioral characteristics and mindsets that set them apart from the crowd.” Read on for the habits and traits that define the ops elite in the modern software world.
1. You Have an “OpsDev” Mindset
There’s been plenty of attention focused on DevOps in recent years. But Michael Surma, New Relic’s director of global infrastructure, notes that operations pros might be best served by flipping the term to “OpsDev” to reflect a shift in how operations teams approach their work—and, by extension, how today’s software teams build and manage great applications. It’s not that ops practitioners need to become developers; rather, that as the traditional walls between software teams come down, there is value in ops adding dev-style processes and mindsets to their approach.
“Successful operations engineers are making the transition to development-style work, where they’re not just focused on the manual process that fixes the fire in front of them today,” Michael says. “Rather, they’re focusing on the long-term and saying: ‘OK, what’s the thing that I can do to automate this so that it doesn’t ever happen again?’”
That’s a shift that New Relic’s own infrastructure team has been working on internally. It’s likely to be an increasingly sought-after trait in operations pros in the software world at large. Michael notes that this approach needs to be fostered in part by an organization’s leadership because it can require a culture shift, one that not every person may welcome with open arms, so it helps when the bosses are on board and empowering the team to evolve in this manner.
2. You Embrace Automation
The key word in Michael’s description of the OpsDev mindset: automate. The most successful modern ops pros treat automation as a mission-critical objective, one that’s best for both their organization but also their long-term careers.
“Their goal is to automate themselves out of a job,” Michael says. Wait, what about that whole long-term career thing? He continues: “There’s another job that’s more interesting to be doing that isn’t fighting the fires—making the tooling better, making it so teams can self-service and get out of that ticket-chasing mentality as much as possible.”
Phil Phillips, director of DevOps at Experts Exchange, puts it this way: “A good sysadmin or DevOps engineer should be lazy. No top-tier professional should want to troubleshoot or build every system manually; it’s not an efficient strategy. They should be using tools to help them with monitoring and creating alerts when things are out of the ordinary, and have automated processes for building systems. When a system inevitably fails, they can replace the flawed piece with automation rather than digging in to troubleshoot.”
3. You Learn a Programming Language
Again, successful ops pros don’t need to become devs. But becoming at least familiar with a modern programming language (or two) is a key technical skill for scripting and automation, one that increasingly marks the ideal operations pro, according to Michael Surma.
The actual choice of language could be guided by your current team (“This is the language we develop our tools in, therefore it’s a no-brainer for me to learn it”). Or, if you’re looking for some specific suggestions, Michael’s got you covered:
“The languages that we see lots of teams at New Relic use for these types of things are Ruby, Go, and Python—they’re kind of the top three languages, in no particular order.”
4. You Know How to Work With Devs
One element of modern ops success entails eschewing the dedicated ops mindset of the past in favor of a broader, less siloed role to help drive resiliency and reliability throughout the entire organization. Michael Surma points to sharing some traditional ops tasks with devs—a common element of the DevOps movement—as a prime example. At New Relic, devs are on call for their own applications, too.
“If you want to see something that’s a problem in production fixed, put the developer on call,” Michael says. “They only need to get woken up a couple of times at 3 a.m. to go fix it.”
And they’re empowered to fix it, too, because they wrote the code. That’s not typically true of traditional siloed ops. “If you put a traditional ops team on call for an application that they have no ability to fix, then there’s burnout—you’re constantly fighting against the same interruption of work, and you can’t pivot,” Michael says. By shifting some of the responsibility back to devs, ops can help to ensure that devs take greater ownership in the quality of their software. Being willing to actually do that is another key success factor.
5. You Communicate and Document Clearly via Multiple Channels
For all of the emphasis on the modern IT pros to be able to communicate effectively—no more hiding out in a server closet—people tend to overlook that this is a multi-faceted skill set. “Communication” occurs in many forms these days. For ops pros especially, documentation itself is an important form of communication, notes Connor Leech, senior technical recruiter at Mondo. Connor says clear communication and documentation across multiple channels is a key trait of successful ops pros. Those channels include, but aren’t limited to, email, collaboration software like Slack and HipChat, face-to-face, and project management tools such as JIRA and Trello.
A particular balancing act comes into play here, according to Connor. The key is being able to communicate effectively with managers and other stakeholders while monitoring multiple networks and applications. Successful ops folks can do it all without breaking a sweat.
6. You Always Treat Security as a First-Class Citizen
Security should be everyone’s responsibility, sure. And, of course, ops people should be working closely with internal security experts at their organizations. But let’s face it—if ops doesn’t take the health and security of systems and data seriously, then who will?
“Making sure your systems are secure is part of the job,” says Amir Jerbi, co-founder and CTO of container security firm Aqua Security. “It won’t win you any prizes, but failing at security could cost an ops person their job. So keeping security top of mind must be part of their DNA.”
The good news: This doesn’t necessarily require deep security expertise. Rather, it’s more a paying attention at every stage of an application’s lifecycle. In fact, even just simple curiosity is a great start.
“It doesn’t mean they have to become a security expert, but every time—and I mean literally every single time—I have seen DevOps people get curious about securing the application development and delivery process, the deployment team and the deployment itself benefits,” Amir says. “For example, you don’t have to be a security engineer to understand the benefit of best practices such as keeping access privileges to a minimum, regularly changing passwords and never ever using defaults, and remembering to revoke the credentials of users who no longer need them. They don’t even have to know how to use the tools that implement those kinds of controls—they just have to believe it matters.”
Amir shares a few more security best practices of successful ops pros: “Never blindly trust new code running on your servers—make sure that the necessary upstream security tests were run before deployment. Never give anyone root access to servers, and don’t share credentials with team members or other teams.”
7. You Have Empathy for Non-Technical People
That old-school ticket-chasing mentality that Michael Surma described often goes hand-in-hand with a certain amount of grouchiness. (And, hey, when your phone is ringing at 2 a.m. because a server went down again, who wouldn’t be grouchy?)
Top-notch ops pros trade surliness for patience and understanding, according to Connor Leech. “Be empathetic with employees to understand their pain points and the organizational needs,” he says. “Have patience for people that are not as technically inclined as the IT operations manager.”
Every company is a software company these days, as New Relic is fond of saying. But that doesn’t mean everyone in the organization has serious software skills, and ops has a key role to play in helping others in the organization better understand and leverage the various technologies they increasingly need to do their jobs.
8. You Have a Crystal Ball
Clairvoyance might not actually be a part of the job description, but the most successful ops people have a knack for seeing what’s around the corner. “Think ahead of supervisor and employee needs by knowing where the company is headed and what future needs or pain points will be,” Connor advises.
This brings us full circle to Michael Surma’s first point about the modern ops mindset. By getting out of the firefighting business, ops can become more strategic and valuable as it takes the long view instead of getting constantly bogged down by the issues occurring right now—and the painful, manual solutions for those issues.
Take containers. From Michael’s perspective, containers are replacing the deployment artifacts of the traditional sysadmin days, such as an RPM or .dev package. Developing container-related skills, then, is both smart and perhaps even necessary.
But in the even bigger picture, Michael points out that the ops practitioner has a significant role to play as container adoption continues to grow. In reality, most organizations have yet to fully wrap their heads around the implications of containerization, and strategic ops pros well versed in containers and their potential challenges are likely to become increasingly invaluable—so long as they’ve gotten out of the ticket-chasing game.
“There are a bunch of management aspects to containers—you have to manage the thing that the containers reside on, and operationalizing that platform is a significant responsibility,” he says by way of example. “Running containers sounds great, but it’s not free. There is work to be done. It changes the problem domain, but there are still problems.”
Embodying these eight attributes won’t necessarily make you an ops superstar. But they can’t hurt, and even just spending some cycles focusing on what’s really important to your career in IT ops can go a long way toward getting you where you want to be.