Rymden - stock.adobe.com
DevOps is about bringing people and departments together. It focuses on creating one unified system that combines development and operations tasks and goals.
For the DevOps philosophy to be successful in real life, IT teams and DevOps engineers must work together to keep up with continuous changes and updates. To do so, they need soft skills -- the ability to communicate, problem-solve and collaborate.
What are soft skills?
Soft skills are character traits necessary to work with others professionally. While technical skills get you noticed, soft skills make you stand out and advance within a team or company.
"I've heard DevOps defined as people, processes and technology -- in that order, so people come first," said Kyle Fossum, senior DevOps engineer at The Predictive Index, a hiring and talent management software provider. He compares software development to a team sport. Success takes coordination, and even convincing teammates to follow your lead. "Human interaction is really baked into software development at the lowest level," he said.
To get tasks done, collaboration and teamwork are essential. DevOps engineers who possess the necessary soft skills are good listeners and communicators, know when to ask for help and how to learn, and demonstrate curiosity and creativity.
1. Learn to listen
The ability to listen sounds like a given, but to understand someone's point of view can be a difficult skill to master.
"Listening well comes down to respect for people," said Mike Burrows, founder of Lean and Agile strategy consultants and training providers Agendashift and Agendashift Academy. Respect covers what other people are thinking and their experiences. It also means understanding the impact, negative and positive, that you have on that person's experiences.
Sorting out complicated problems is difficult enough, but not feeling heard or understood is even more frustrating. Put yourself in the place of others. Show respect for your team and supervisors. Listen well when making decisions and solving problems.
2. Communicate clearly
Communication is key for a DevOps environment to succeed. How do you approach conversations? Create an environment where other members of the team can share ideas and ask questions comfortably.
"How can we ask the right questions in a way that respects others? Recognize that they could be coming from a different place, which is positive and interesting. That's why organizations exist. All these different people with different experiences come together and create something that they wouldn't have created on their own," Burrows said.
Always be clear about your intentions in conversations -- otherwise, you could create anxiety and confusion for those around you. Misinterpretation or ambiguity in a conversation can be detrimental to a team's development and the project's success.
3. Know when to ask for help
A DevOps engineer must know when to reach out for help from a supervisor. A team functions well when there is a balance of self-help and collaboration.
Fossum has seen many juniors ask for help too early instead of running through basic troubleshooting steps. Before escalating to a superior, take the necessary steps to solve problems on your own.
But in some situations, it goes the opposite way. A DevOps admin might spend two days stuck on something that could have been resolved with a 15-minute conversation. Neither too much nor too little collaboration is time-efficient. Push yourself to resolve issues independently, but know when to stop and ask for help.
DevOps team members must also learn the difference between a good question and a bad one, Fossum said. For example, how to create a VM in Azure is a bad question. The answer is a quick online search away. What are the naming conventions used for resources in an organization's Azure environment is a good question, because it is information specific to your place of work.
Kyle FossumSenior DevOps engineer, The Predictive Index
4. Be curious
Get comfortable not having all the answers. As a DevOps engineer, you will be researching and learning constantly. Approach every challenge with this mindset: Don't solve it for me, but teach me how, so I can do it in the future.
"Curiosity," Fossum said, "is integral to any successful technology career."
Asking the right curious questions, as Burrows phrased it, helps a technical person clarify their thoughts and push ideas into new, fresh directions. Curiosity involves pushing yourself in skills, problem resolution and the ability to adapt to constant changes in ways that make sense to you. No two people are alike, so strive to see beyond your point of view to improve and solve problems.
5. Foster creativity
Thinking outside the box is a soft skill that helps DevOps engineers push the limits and advance their personal and organization's potential.
DevOps, as Fossum explained, "is a creative exercise that has strict rules associated with it."
It is similar to writing a book. The book results from a creative exercise. But the writer must adhere to rules for sentence structure and grammar to create it. Similarly, DevOps team members can play with different approaches and tools to solve problems, all within the DevOps guardrails.
6. Be willing to learn
Demonstrate that you are eager to learn by volunteering for projects, or to update old or incomplete documentation. Show initiative and take on projects that others don't want to do. Actively learning on the job tells people that you're motivated and will likely get you better projects down the line.
To continue learning in other ways, DevOps engineers should turn to all the resources available: From books and blogs to certifications and training courses, IT professionals have ample opportunities to increase their knowledge and experience. Pursuing a certification demonstrates to your organization that you want to improve continuously and are dedicated to your work.
Getting the job with soft skills
Anyone can write on their resume that they are a team player or self-motivated, so highlight in other ways how soft skills have aided your professional accomplishments, Fossum explained. For example, have you collaborated and communicated effectively with co-workers to resolve a deployment issue? Put that on your resume instead of "works well with others."
When building your resume, reflect on what you want, what you've done and where you want to go, Burrows said. Consider these specific questions:
- Do I want to be broad and work in lots of different things?
- What do I need to learn in the process?
- Who's going to help me learn in that process?
- How can I go about my day-to-day work in such a way that I maximize my opportunities for learning?
Translate those points into your resume with a focus on what you've delivered, learned in the process and contributed to.
DevOps teams use a lot of open source projects, which are a great opportunity to collaborate with others. Show your curiosity and desire to learn by joining an open source project. It's a great way to translate soft skills into a professional accomplishment. "If there's a GitHub issue or pull request with your name on it, point to that. That's part of your CV," Burrows said.
Interviews are critical to give organizations a sense of who you are. Use the interview as an opportunity to discuss working in a team and independently.
For example, when asked to talk about one of your accomplishments, don't focus solely on the technical aspect. "Being able to highlight the planning and communication that went into the instantiation of the project before you started putting hands to keyboard will go a long way to advertise strong soft skills," Fossum said.
How should companies promote soft skills?
Many organizations are crying out for leadership, especially during times of change, Burrows said. DevOps is all about change. To continue to adapt and grow with the technology, companies must make an active effort to promote soft skills.
Commit to progress
Before change can happen, organizations must commit to enforcing and promoting growth. How can organizations turn every deliverable into a learning opportunity? Burrows explained that to promote innovation requires organizations to resist the urge to impose tools or processes before outcomes are understood and agreed upon. A participatory process ensures that IT staff closest to the problem have a key voice in its solution.
Be open for discussions
Organizations must communicate openly with the DevOps engineers and other team members to create change. Everyone must feel included from the beginning, Burrows said. Organizations must hear everyone's thoughts and perspectives to create a productive environment.
Organizations should provide the technical team members with a clear document that outlines common pitfalls and ideal ways to accomplish tasks. The Agile framework Scrum is a great example of setting expectations to promote collaboration and discussion, Fossum suggested. Scrum is a project management framework that promotes teamwork, accountability and working toward a goal. A Scrum structure lays out clearly defined goals and roles for everyone to continually evaluate what works or does not. In addition, organizations should run training sessions to help DevOps admins develop soft skills and set expectations.