Starting with modern software development can be stressful, especially if you’re creating a new team, so Johanna Ambrosio has provided some advice to make the process easier and help you hire the essential DevOps roles in a GitLab’s blog post.
The first step is choosing the developers. Some job requirements include being able to test code, write automation scripts, provision infrastructure, use Scrum, Kanban or other Agile methods. Because this position is always changing it’s good to keep in mind that they would want to continue growing and develop their skills.
The next role is System administrator. He’s the person that not only checks if the software is running smoothly but also manages the cloud, helps with creating monitoring and analytics, integrated into code and helps resolve problems. People in this role also need space to grow by learning new skills, such as programming languages and deeper understanding of security.
Another essential role in a DevOps team is an Evangelist. This is a senior-level person that communicates with the team the business’s most important needs and makes sure everyone is involved in DevOps.
A team should always have a Project manager. This is the person that tracks the team’s progress, sets goals and timelines and makes sure everything is on time. Being able to solve problems, create schedules and meet the client’s needs is advisable for this role.
Testing your software is necessary, that’s why your team has to have a QA Engineer. In this role thinking out-of-the-box and having the ability to look at the bigger picture are important.
Having a Security engineer from the start can help you avoid many difficulties in the future. This role needs a person who can be strategic and collegial. It is crucial for them to provide the developers with tools to solve security problems by explaining the challenges and technologies.
The last role is User Experience (UX) professional. This person focuses on how the software looks from the client’s perspective and puts his needs into the development process.
These are the most important roles when starting out. As your software develops, your team will grow as well so it’s good to consider other positions such as software architects, system engineers and an infrastructure engineer. Another great option is reskilling and in this case communication and collaboration is important. The DevOps institute offers training on topics such as site reliability engineering and how to create CI/CD pipelines.