Software rules the world. As more software is being developed, the DevOps role is gaining in importance at any company. We talked to Yannick De Backer, who is DevOps Engineer at TrustBuilder about what DevOps does and how it impacts the work of both his colleagues and our customers.
Before we dive deep into DevOps, let’s talk about your passion for IT and how you joined TrustBuilder.
Yannick: IT has always interested me. I was given my first computer when I was 12, and I immediately started trying out new things, writing scripts in VBS and programming. I have never been a gamer, but I really liked programming stuff like LegoTechnics. To me, it was only logical to study IT in high school. When I made my thesis about building websites, I found out that programming eight hours a day was not my cup of tea. I was more interested in the operational side of things.
Security was new to me when I joined TrustBuilder after my best friend, and current colleague Wesley advised me to make the move. I had no knowledge of protocols such as SAML or Oauth. I was hired for the position of consultant, but never really worked as a consultant full time. After my own training, I was asked to give product training myself and I also stepped into the job of internal IT. Doing that training was not easy, as I had just started at TrustBuilder. But as they say, giving a product training is the best way to learn all about the product yourself. Now I really enjoy passing on my knowledge.
How Docker and Kubernetes led to DevOps
And then you rolled into the DevOps job?
Yannick: At that time, TrustBuilder wanted to investigate how we could start using Docker and Kubernetes. And that’s how I took up my current role as DevOps Engineer. Up to this day, I carry out a multitude of tasks: DevOps Engineer, internal IT, trainer and architect of our cloud environment. And I like it that way. I am a curious person by nature and I want to learn as many different programs as possible. Having all these different tasks allows me to touch many different things. Actually, in my DevOps role too, I have to work with a lot of different programs. That makes my work fascinating.
What does a typical day look like for you?
Yannick: I have always been an early bird. My alarm usually goes off at 6.15 a.m. My day ends when I feel like I have achieved enough for the day, and when I am satisfied with the work that I have done. That is never 9 to 5. It is not in me to call it a day when there is unfinished business. What happens in a day is sometimes unpredictable. If there is an internal support issue, I have to make that a priority.
Because of Corona, I work mainly from home, but I prefer to work in the office, to be with colleagues, and feel the buzz of the company. I look forward to when we can go and occupy our new offices at d’Office. That will be awesome.
What exactly does a DevOps engineer do?
Yannick: A DevOps Engineer is really a jack of all trades. We are in between the development team, Dev, and the operations team, Ops. Hence the title DevOps. Development writes the products, Operations implement them at customers. DevOps bridges the gap between the two teams, brings them closer together and enhances collaboration between those two very different worlds. DevOps writes scripts, automates deployment, helps the testing team by automating tests, etc. That way we help bring software into production faster. If we are adding a new feature to TrustBuilder, my task is to ensure that the feature can be deployed quickly. An obvious task at a company like TrustBuilder is ensuring the security of a product in its interaction with applications.
TrustBuilder is not a huge company, so there is no huge gap between Development and Operations and we all work closely together. There is no need for me to be always involved in the development of a new product or feature from the very start. My job mostly starts when the new feature is almost ready for acceptance, most of the time just before the product goes into testing.
How important is knowledge of tools in DevOps?
Yannick: By the nature of my DevOps role, I have to keep up my knowledge with all new features that appear in Docker or in Kubernetes. I have to be proactive in keeping up to speed with these technologies.
The biggest challenge in my three years at TrustBuilder was the switch to Kubernetes and ensuring that TrustBuilder performed in a stable and smooth way in a Kubernetes environment. Kubernetes is a very scalable environment that adapts itself to demand. We need to offer the same high performance when there is one TrustBuilder instance active as when we require ten to run at the same time. Getting everything stable was a serious challenge. Another challenge was the move of TrustBuilder from our own datacenter to the cloud, while still using Kubernetes. This meant we got access to a lot of Google services that we could benefit from. My task was to see how we could automate those services.
Automation is key in DevOps
Your LinkedIn profile shows a quote, ‘Don’t ask three times, don’t execute twice… Automation is key.’ Did you always have a focus on automating?
Yannick: I have always been into scripting and automation. As soon as there is a task that I need to repeat more than twice, I look for a way of automating all the different steps. Automation doesn’t only make things easier, it also means fewer mistakes. Automation empowers people to do things themselves, rather than having to ask for help each time. The aim of automation is ensuring that things happen smoothly. If you do things manually, there is always a risk of human error, for instance by forgetting to fill something out. My aim is having to fill out manually as little as possible. This enhances the quality of what we do at our customers.
Do you get feedback from the consultants?
Yannick: When we introduce something new, there is always feedback from the consultants on how things help them or how I can make the process even simpler for them. Sometimes they ask me to automate less, because I have taken away too much of their freedom to adapt things for their customer. Having this interaction with the consultants helps me find the middle ground. In the past at TrustBuilder, we were too flexible in our installations. Going forward, we want to ensure that there is less difference in the installations we do at customers. This forces us to optimize the product even more before it reaches the customer. This is important, since we are moving to a software-as-a-service (SaaS) model, especially when you do upgrades. You want to be sure that all upgrades at every client happen in the same way.
What is the impact of what you do on the customer?
Yannick: For starters, updates happen more easily. That was the case, for instance, when we optimized Ansible, which made updates and upgrades go more smoothly.
DevOps sits between Dev and Ops. Is this like being between a rock and a hard place?
Yannick: As I said, we are a small team at TrustBuilder. There is no real clash between Dev and Ops. Developers and the consultants have always worked together well. I know in other companies Dev and Ops are sometimes siloed and hardly work together. I was the first official DevOps Engineer at TrustBuilder. We already had a level of automation, using Jenkins. That was mainly handled by Development themselves. The rest of the infrastructure was taken care of by the consultants. The number of DevOps Engineers you need in a software company depends on the complexity of the automation. We are at least one DevOps Engineer short at the moment, so I would say: “apply now!”
What does it take to be a DevOps Engineer
What skills do you need as a DevOps Engineer?
Yannick: You have to be open and receptive to different, new technologies. In the DevOps role you touch on many technologies, even things that are remote from the product itself, for instance networking. You need to be interested in scripting. For automation, we use scripting rather than programming. It goes without saying that you need to be able to think in a logical way. DevOps is a very broad area. DevOps is often represented by the symbol for Infinity, with the type of tools you can use in each stage of the process.
There are dozens of technologies out there. You have to keep up with a large number of these tools. You don’t need all of them, of course. Once you have defined your DevOps stack, you usually stick to those tools.
With all these tools, you need the capacity to learn fast. And you need to be a good team player. Collaboration is key at TrustBuilder. We have an open culture where everyone is involved. In a small club like ours, you need commitment from everyone. Management is open to constructive input and if you want to get involved, you can. That’s why I joined our HR workgroup when the opportunity arose.
The company also gives you plenty of opportunities for growth. I get the freedom to develop DevOps and become recognized, both internally and externally, for my know-how as a DevOps Engineer. That’s why I am going for certification for Docker, Kubernetes and DevOps Fundamentals. And that is also why TrustBuilder now gives me the opportunity to perhaps give a talk at DevOps World.
Would you recommend working at TrustBuilder to family and friends?
Yannick: Yes, I am actively helping recruit people for the DevOps role. I like the atmosphere here. And once we have moved to d’Office, there will be a great vibe. I look forward to that.
Are you interested in working at TrustBuilder? Check out our vacancies.