We have some talented colleagues in our Product and Engineering teams. They are passionate, they are resourceful and they're willing to create something that’s never been created before. And because they work on such interesting projects, we want to share more of that with you, our readers.
We spent some time with Vlad Stanciu, Principal Engineering Manager, who is leading our DevOps team to learn more about their team structure, the tech stack they use and why you should be interested in joining them.
How would you describe your team’s mission here at UiPath?
Our main mission is to standardize the DevOps practices inside the company, grow DevOps practices adoption and help developers be productive. Usually this happens by automating the processes that facilitate the transition of our code from development to production. This automation is usually connected to CI/CD processes and to building the cloud infrastructure. Everything happens through some already existing tools. For example, we use Azure DevOps.
How is the team structured?
Our DevOps team is formed of three different sub-teams.
The first one is called DevOps Core and it is responsible for the deployment strategies and standardizing this across the company (both from a pipeline perspective and cloud infrastructure). This team is focused on the continuous deployment process, taking the artifacts and delivering them to the production environments.
The second team, DevSecOps, is focused more on the security aspects. Their main mission is around increasing our security stance: they integrate security tools in our CI/CD processes and work towards hardening our cloud infrastructure.
The third team is handling Dev Tooling, integrating different tools on the CI side and building systems for internal use. For example, we have a platform which we use to generate the agents for Azure DevOps on demand and deleting them when we stop needing them. Another tool we are currently working on will help us see the KPIs for different CI/CD pipelines.
What is unique about this team?
The difference between our team and other DevOps teams is that we are more like a development team, and less like the usual DevOps people. At the end of the day, the owners of these automations will be the Product teams, as they are the ones who will use it. They have the responsibility to maintain them and fix whatever issues come up. So, our DevOps team is more like an enabler, delivering reusable components that are then integrated into what our Product teams build, making them more efficient.
Our team adapts depending on the level of knowledge our colleagues have. In some cases, the Product teams are autonomous, and our goal is to just review their work and make sure it is designed correctly. In other cases, we work together on what is needed and we upskill those teams, so they become more independent. We are flexible and willing to always roll up our sleeves if needed.
How do you plan your work?
We work in sprints. We plan our deliverables; we code and test them. This is one of the reasons people on this team are called Software Engineers.
What are some of the technologies you use?
We mostly use Microsoft centered technologies like Azure DevOps, Azure Cloud, PowerShell, but not only. We also use Terraform because it’s a great tool and suits our needs. On the cloud infrastructure side, we mainly use managed services and Kubernetes.
What are you looking for in a future colleague?
During interviews, I’m not looking for a specific language or technology. I’m aiming for core DevOps skills and coding knowledge. Usually in DevOps you’ll find people coming from various backgrounds, like SysAdmin, or QA, or Software Engineering, etc. Regardless of the background our candidates have, what we’re looking for are people with skills in DevOps practices and automation mindset.