Aug 2, 2023

Colleague Chronicles: Richárd Rőfi, DevOps intern

Colleague Chronicles: Richárd Rőfi, DevOps intern

How long have you been working for the company and in what role? Can you tell me a bit about it?

I have been working at the company since August 22, 2022, as a DevOps engineer. Basically, my job is to maintain the SCSD systems and create pipeline systems. I deal with everything related to integration and the deployment process of the finished product. Additionally, I handle infrastructure management. In the world of DevOps, this is called "Infrastructure as Code" (IAC), where we describe every infrastructure element as code. Lately, I've been mainly working with Kubernetes clusters.

Can you explain simply what DevOps is? Because I think many people may not know.

The problem is that I often find it difficult to fully explain because this role is quite diverse. First of all, DevOps is a compound term combining "development" and "operations," essentially combining or bridging the work of developers and system administrators. Some people are more inclined towards the system administration side and less towards programming, while others strike a balance or primarily focus on programming while also performing system administration tasks.

Do you use different technologies than the developers?

As a DevOps engineer, I use various technologies like Docker/Docker Compose and some kind of CI/CD tool, such as GitLab CI or Jenkins, for continuous integration. Additionally, for continuous delivery, I utilize ArgoCD or GitLab CI. I also make use of monitoring technologies like Zabbix or Prometheus. Currently, we also have our own project with one of my colleagues, and there we primarily develop in PHP using the Symfony framework.

As a DevOps engineer, what does a typical day look like for you? What tasks do you usually perform?

It varies quite a bit. If there isn't any urgent task like "Ricsi, please do this quickly," then we work on project related issues. Some of my typical tasks include creating queries in MongoDB, fixing something in the Toll Management System project, adjusting settings in a cluster, modifying or creating CI/CD pipelines.

In your opinion, what is the most important skill or what does it take to be a good DevOps engineer? What else is required apart from the things developers use?

Let me think. You definitely need to know how to handle Ubuntu and Linux-based operating systems. That's the alpha and omega.

Do the technologies you use only run on these?

At least 90% of Docker containers run on Linux-based environments, and since DevOps engineers work extensively with Docker, it's important to know how to use them. So, I would say that's a fundamental skill, along with Docker and networks. I would add one more thing: learning a scripting language like Python, Bash, or Go. Although I would consider the last one more like a programming language, it's important to learn a language that allows you to automate tasks.

Why is automation so important, and why is a scripting language necessary for it?

Let me give you a very simple example. Let's say there's a website certificate that needs to be updated every three months, and it's not a trivial task that you can simply schedule. Instead, you need to write a script that takes additional parameters, such as how it should run, including setting a specific date or other options. Perhaps another example would make it easier to understand: creating a script that can generate backups from multiple databases. Essentially, you provide the script with information in a file, such as the type of database, how to access it, the username, and password. The script takes this information and runs the appropriate commands accordingly.

What have you learned or worked on recently that you found interesting, new, or captivating?

I think the Toll Management System project is something I've been working on a lot recently, and it's been very interesting. I've been extensively using Kubernetes technology there. It has been a great learning project for me, as I've gained a lot of knowledge from it.

Is there anything you would highlight from your career since joining the company? Something that made you particularly proud or that you look back on fondly?

Perhaps the Toll Management System project and another project, a CI template. It allows us to standardize the operations that describe CI/CD, so we don't have to write them separately for each project. Usually, they are scattered, and you have to manage each one separately, but I developed a solution where multiple projects can use the same CI/CD template, making it equally efficient. And you only need to make modifications in one place. I’m proud of it because it was quite challenging, and it's still an ongoing project that keeps expanding.

As an intern currently working at the company while attending university, how do you balance your studies, work, and personal life?

It's challenging. It's not that difficult for me anymore to balance because I don't have many courses left at the university. I only have one or two practical classes and the rest are exams. So, I can work alongside my studies. When I go home, I allocate a certain amount of time for studying, and then I focus on my personal life if there is any remaining time.

Why do you enjoy working here, and why would you recommend this company to others?

I've gained a lot of valuable knowledge through various projects. These projects are genuinely interesting, and I enjoy working on them. There are many opportunities for growth within the company since we work with up-to-date projects. Additionally, the atmosphere itself is great, both in Szeged and Budapest.

 

 

If you're interested in learning about the Toll Management System project they worked on, you can read it here: https://p92.com/blogdetails/toll-management-system