How to make good software: on combining two worlds, DevOps, and triceratops | 3004

Table of Contents

DevOps combines software development, deployment, and maintenance. If done well, it can increase productivity and improve the quality of software. How does this look in practice? Aleksander Owrew, Adam Brodziak, and Jarek Wachowicz talk about the work of DevOps specialists at Future Processing.You represent the DevOps Business Line of Future Processing. Could you briefly describe your typical workday and the parts you like best?

Architect for DevOps, Adam Brodziak: The fact that every day presents fresh and exciting problems is what I enjoy most about my job as a DevOps Architect. My field of expertise is very broad since I deal with issues related to software development, delivery, and maintenance. When I solely worked with programming, I missed it. I receive input now that I didn’t previously in the field of DevOps. As a result, I am aware of how software functions, if it is functioning correctly, and whether it contains any defects.This information, in my opinion, is crucial for the creation of high-quality software.

DevOps brings together production and development, and that is what it is all about. We may see the development and operation of software. This creates the dynamics that I enjoy so much: there is constantly activity.The senior DevOps engineer, Aleksander Owrew: The fact that we handle almost every facet of the software delivery cycle—including the code, testing, configuration, implementation, and monitoring of the application—is what I appreciate best. We continue to advance because new obstacles are presented at each step.

Aleks: If I had to sum up DevOps in one line, I’d say it’s a set of solid practices that boost performance – provided they’re applied during the development and maintenance phases of software.Adam: Exactly. It is a collection of ideal procedures founded on a certain philosophy.

In actuality, we provide value and problem-solving to our clients in addition to software development. All of the actions that are referred to be DevOps techniques originate from this.Aleks: They are good practices from both a technical and an organizational culture and collaboration point of view. Continuous process and personal growth are the cornerstones of DevOps.

You are a Senior DevOps Engineer, Aleks. Could you further elaborate on this position at Future Processing?

Aleks: Future Processing puts a lot of faith in me as a Senior DevOps Engineer. I have complete freedom over how I organize my job. I determine the infrastructure’s specifics in accordance with the needs of the customer, talk with my colleagues about potential solutions, and offer my system and process construction and maintenance expertise.

You are a DevOps Architect, Adam, which is an even higher degree of proficiency. What makes your job different from Aleks’s?

Adam: Although I don’t avoid coding, the majority of my work is focused on strategic initiatives and coaching others while attending to their growth. I have a lot of freedom, just like Aleks does. Engineers may always come to me with questions regarding the strategy adopted for a particular project, and we can discuss the problem together. For instance, Aleks and I discussed potential solutions multiple times when he had a technical or process-related concern. But at Future Processing, mentoring is a two-way street. I will ask Aleks how he completed a few tasks in the AWS Cloud Development Kit soon since I require that for my work. If required, I will also delve through the code personally or address issues with servers, for instance.

Give us some background on mentorship. How does Future Processing operate?

Aleks: Future Processing aggressively disseminates its expertise. We have a large community to exchange knowledge with and ask for assistance from, including not just the veterans but also our fellow interns, as I’ve already indicated.Adam: We have a DevOps Business Line inside our community where we concentrate on the advancement of our industry. Nearly twenty employees are already employed in the DevOps department, but we want to expand this team. Our primary objective is to spread DevOps ideals throughout the organization and, to raise the standard of the software we create as a consequence.

Your job descriptions make it clear that DevOps and SysAdmin are two distinct concepts, yet other employers frequently conflate the terms when naming positions. What do you believe is the cause of that, exactly?

Adam: I believe this is the result of the current DevOps hype. Agile experienced the same thing ten years ago. Now, DevOps is in a comparable situation. Everyone now professes to be involved with DevOps, but this isn’t always the reality. Despite the fact that their role and responsibilities remain the same, administrators frequently become DevOps due to DevOps’ close links to infrastructure, computers, and servers.

They don’t acquire any more instruction, and they don’t comprehend the previously described philosophy. Companies commonly claim to be searching for DevOps, but it later becomes clear that what they really want is to hire system engineers or administrators.

As the DevOps line at Future Processing, we don’t do that. We can offer them other roles with opportunities for development and for future change towards the DevOps line if we look for people with experience in IT infrastructure management, expertise in the field of operations rather than development, and some knowledge of Linux, the Cloud, and Infrastructure as Code tools.Head of DevOps Jaroslaw Wachowicz: When it comes to job titles, we must note that DevOps is distinct from other -Ops. There are several: DevSecOps, CloudOps, DevSecMLOps… like the triceratops in this meme.

What is this triceratops thing all about?

Jarek: Everything started with a meme illustrating the growth of DevOps. Numerous names have evolved over time, ranging from Ops itself to longer concoctions that resemble buzzwords. The joke is that TriceratOps will be the next phase of development. People are curious in the specific meanings of these names and how one line varies from another.

What is the operation of that at Future Processing? What distinguishes distinct jobs, positions, and business lines?

Adam: DevOps at Future Processing is concentrated on creating a platform that aids the development team. In actuality, this refers to setting up infrastructure that would make it simple—or, to put it another way, automated—to develop software, integrate it, and then distribute it to testing and production environments. By deploying services and systems and configuring them in line with IaC, DevOps correctly prepares these environments.

We value IaC greatly since it enables version-controlled maintenance of both the infrastructure and the application code. Environments may also be copied and modified without having to do it manually every time. IaC also acts as documentation for this system component.The other components of the titles, such as NoOps and DevSecOps, all allude to specific techniques and strategies associated with DevOps processes. For instance, “Sec” stands for the ethical standards that guarantee system security, but “NoOps” is a software maintenance strategy that is prepared for failures and able to manage them automatically, to automate administration.

As a result, there is no Ops work with this method because operational assistance is seldom ever required.Although we don’t add all of these parts to the titles of DevOps positions, we do use the associated methods. There isn’t any required on-call or on-standby support as a result. Although the technical parts of DevOps that I’m discussing here are crucial, we also need to keep them in mind. about the culture and ethical standards, as well. We are in charge of spreading them throughout the business.

Let’s get to the point: what technologies are you employing in your current projects now that we’ve finished with nomenclature and dinosaurs?

Aleks: Just the intriguing ones. For me, this generally involves working with the cloud infrastructure, which is now available in AWS and Azure. In a managed Kubernetes cluster, I launch the apps. I maintain the pipelines close to the repository in GitLab and Azure Pipelines, and depending on the project, I define the architecture using the CDK or ARM (for Azure). It’s important to note that we can select the approach we like if it is not required by certain criteria: Of course, within the bounds of good judgment and acceptable standards.Adam: I have a love-hate relationship with the CDK.

Why does that matter? Please elaborate on the CDK.

Adam: This is a useful tool that streamlines work, especially for programmers. With the aid of the CDK, a complex setup may now be expressed in code—something that programmers utilize on a daily basis. Our two worlds—the world of development and the world of operations—come together in this endeavor, as an example. Why did I use the phrase “love-hate relationship”? Because this fantastic program has negative aspects, such as several problems. I’ve already repaired one of them and reported numerous more. Despite this, the tool is efficient. and facilitates our job.

How do DevOps initiatives at Future Processing look like?

Aleks: Every project, in my opinion, is unique, just like the individuals that work on it. Depending on the team’s aggregate experience, the DevOps job may alter. I currently work with seasoned teams whose members are familiar with the finest methods for software development. The majority of what I do there is essentially technical labor, such as creating and maintaining the infrastructure.

These teams are receptive to recommendations, but in the end, it is up to them to decide which procedures to implement.Adam: Our primary responsibility on all projects is to promote DevOps techniques. We work as a team to raise understanding of and usage of DORA metrics, which demonstrate the practical advantages of utilizing DevOps. We are somewhat similar to consultants.

We create platforms that enhance the efficiency of development teams, working alongside the developers and specialists who will later handle system maintenance. A nice example is the CDK, which has previously been mentioned here. Code is created from intricate structures. As a result, developers receive code that they are familiar with and understand, saving them the time and effort of learning complicated AWS setups.

How did the notion to concentrate on DevOps in your work life occur to you? Wouldn’t you prefer to work as a.NET or Java developer?

Aleks: DevOps, in my opinion, presents more difficulties than programming does. Deployment, maintenance, setup, and other ancillary software delivery chores have always interested me. I’m an inquisitive individual that wants to grow. I would rather have some knowledge of every technology than focus on just one.Adam: With me, it’s essentially the same.

In 2009, I started my DevOps journey; at the time, I was completely unaware of the term’s existence.I still recall my chat with the head of technology, and how our opinions on the significance of DevOps coincided. We both saw that the top businesses in the sector were already using it, which indicated that our clients would soon follow suit and begin enquiring with us about DevOps. And that is what took place.

The large, well-established businesses that Future Processing works with are aware of what DevOps is, how it works, and why they should utilize it. They are able to witness how DevOps leads to improved outcomes. The DORA reports demonstrate a statistically supported relationship between an organization’s success and the adoption of DevOps best practices. Additionally, our clients trust statistics.

Is a job in DevOps one that emphasizes development? What are the chances, in your opinion, for you to increase your project experience and expertise in this field at Future Processing?

Aleks: The DevOps job path is undoubtedly focused on development. We encounter many problems every day, and learning new skills is necessary to overcome them. At Future Processing, there are specialized professional development programs. You can get knowledge about technology that clients are increasingly requesting.

When I was a member of my former team, I participated in a similar program. I was given a certain period of time to advance my DevOps skills, along with a study package and the assistance of other, more seasoned DevOps professionals.Adam: Self-learning programs are created so that once you finish a course, you can jump right into a project and use the knowledge you’ve just learned.

Mentoring is another chance, as I’ve already indicated. Every newcomer to the field of DevOps is given a mentor, and the two of them work together to choose their course for further development. FPAcademy, a separate subsidiary of Future Processing, focuses on learning and growth. Of course, as trainers, we work with this department. Recently, we’ve discussed a course on Kubernetes because we observe an increasing demand for learning about it among developers as well as DevOps. The FPAcademy department is supporting this grassroots project.

Is having technical expertise in DevOps the only requirement? What qualities, in your opinion, should a competent DevOps engineer possess?

Aleks: Technical proficiency is required. At the junior level, one does not become a DevOps. This position is geared toward those with technical knowledge; often, these are developers and QAs with coding experience. The ability to communicate your vision and persuade the team to it is what counts most in this situation as far as soft skills are concerned. Your communication abilities are necessary.

I need to be able to interact with the customer as a DevOps in order to convey my thoughts and argue that a particular solution is the best one.Adam: In truth, soft talents are extremely concrete skills. The capacity for persuasion—the capacity to sell your ideas—is crucial in this regard. You also need to be able to explain your values, views, and the reasoning behind them. You should also be familiar with the software development, deployment, and maintenance procedures that are used in your organization.

Practice will help with all of that. Because of this, we look for persons with experience—individuals who have encountered several problems and malfunctions and can relate amusing tales about them.Finally, please share with us your favorite aspect of working at Future Processing.Jarek: Definitely the environment. Adam and I have both previously worked for a variety of organizations, and we definitely enjoy the culture. during Future Processing. Being a part of the company purpose and promoting employee satisfaction is not just a catchphrase.Adam: The development that Future Processing has undergone since I joined the team has greatly pleased me.

Future Processing evolved from a sizable, poorly organized corporation into an even larger, flawlessly organized organization that has maintained its culture and basic beliefs.Jarek: The management board is adamant that the adjustments won’t compromise the organization’s core principles. We often conduct research (such as the yearly “Happy Team” study), which aids in gauging employee sentiments and carefully examining how recently implemented improvements affect them.

If required, we alter our course; if the research shows that our modifications were the right ones, we continue. And that’s what I find amazing—that the “soft” factors, like happiness and distinctive culture, are assessed using certain models and fostered more intensely as a result. This combines the emotions with the mind.

Leave a Comment