WavebreakmediaMicro - Fotolia
How do you keep software engineers happy and productive? The key lies in understanding how they think and what they expect from a cultural perspective.
Engineers who have adopted the DevOps mindset don't necessarily think like other employees. They're working for more than just a paycheck.
Yes, the usual perks and DevOps characteristics -- a good salary, a nice working environment, incentive-based bonuses and the like -- will help you to attract and motivate these professionals. But on their own, they won't be enough to ensure that your talent is as happy and productive as it can be.
Cultural factors that motivate DevOps engineers
To keep DevOps professionals really happy, you have to have the right culture in place.
Engineers want the following DevOps characteristics:
- Flexible roles. Part of the point of DevOps is to have flexibly defined roles. In a DevOps world, professionals expect development, IT ops and other workflows to overlap. They don't like having their job title strictly dictate what they can and cannot do. So, while it doesn't make sense in most cases to do away with roles entirely, be flexible about them. Allow DevOps engineers to step outside their official roles from time to time and consider defining hybrid roles.
- Permission to pick their own tools. DevOps folks tend to be opinionated about tools. They don't want to have a tool set forced upon them. For that reason, it's important to empower them to choose their own tools, within reason. If the rest of your organization uses Jenkins, but one of your DevOps teams wants to use Travis instead, don't stop them.
- The ability to dissent. Continuous improvement requires the ability to recognize and address problems early and often. This is true not just when it comes to software delivery, but to the way DevOps engineers work in general. If they don't like a certain process or tool set, they want to feel empowered to speak up.
- Freedom from redundancy. DevOps engineers live by the mantra, "Build once; deploy anywhere." It's an essential DevOps characteristic. Engineers don't like having to repeat tasks. To the extent possible, strive to streamline their workflows by excising duplication and redundancy, except in situations where some redundancy can be beneficial, like software testing.
- Freedom from tedium. DevOps engineers also hate tasks that feel tedious and could be easily automated. Provisioning servers, coordinating incident alerts, managing schedules and backing up data are examples of tasks that can be automated using tools. Allow your engineers to automate as much as possible so they can spend their time doing things that feel truly meaningful.
Providing your DevOps professionals with these abilities, along with a decent salary, will help ensure that they enjoy every minute of their jobs and strive constantly to do better. That's good for them and good for your business.
Get started as a software tester
Becoming a software tester takes more than simply having the necessary skills of the trade. As expert Gerie Owen relates, being a software tester is as much about having a nimble mindset for problem solving as it is about knowing a well-defined playbook.
Developing DevOps engineer skills means being open to growth
DevOps adoptions mean security for DevOps engineers
ATTN: Your DevOps engineer job description is wrong