# DevOps and infrastructure engineer: the role that builds the environment code runs in and the road that leads there

> What does a DevOps and infrastructure engineer do? Packaging, the CI/CD pipeline, setting up infrastructure in code and shipping to cloud environments.

- Highlights: 6 years
- Experience: Since 2020
- Updated: 2026-10-31
- Source: https://muhammetsafak.com/expertise/devops/
- Language: en-US
- Author: Muhammet Şafak

---
## Me in this ecosystem

DevOps, for me, is not a list of tools but the whole road from the developer's
machine to the environment the code runs in. Packaging, verifying and shipping
look like separate jobs, yet they are parts of one pipeline; when one is weak
the reliability of the others drops too.

I package the environment with Docker, define test and deploy steps in GitHub
Actions or Jenkins and describe infrastructure in code with Terraform. Because the pipeline is described in code, how a change goes live can be read
from the repository, and the same pipeline can ship to cloud environments and
to self-hosted platforms alike.

Infrastructure as an architectural subject I write about in the
[Engineering section](https://muhammetsafak.com/engineering/); this page is the everyday, hands-on side
of the work.

## What is the DevOps & Infrastructure Engineer role?

A DevOps and infrastructure engineer makes sure software reaches the environment it runs in safely, from the developer's machine. Packaging the environment, automating tests and deployment, configuring the server and network layer and keeping the running system observable are their ground.

## What does the DevOps & Infrastructure Engineer do?

The day-to-day work is packaging the application as a container, defining test and deploy steps in a CI/CD pipeline, setting up infrastructure in code, and configuring services on the server and the layer in front of the application, and reducing the gap between environments. I do this with tools such as Docker, Kubernetes, Terraform, GitHub Actions and Jenkins, on environments such as AWS and Google Cloud.

## Technologies I pair it with

- Docker: Development environment and deployment unit.
- Kubernetes: The orchestration layer where containers are run, scaled and restarted across machines.
- Linux: The server operating system applications run on.
- nginx: The layer in front of the application.
- GitHub Actions: The CI/CD pipeline that defines test and deploy steps in the repository.
- Jenkins: The automation server that runs build, test and deploy steps.
- Terraform: For describing infrastructure in code and setting it up repeatably.
- Dokploy: Self-hosted PaaS; container-based deploys.
- Cloudflare: The DNS, proxy and content delivery layer in front of the application.
- AWS: Cloud provider; virtual machines, storage and managed services.
- Google Cloud: Cloud provider; virtual machines, storage and managed services.

## Questions in this area

- [How do I shrink Docker images with multi-stage builds and distroless?](https://muhammetsafak.com/just-ask/shrinking-docker-images-with-multi-stage-builds-and-distroless/) (2026-06-12)
- [How do I isolate self-hosted CI/CD runners and build an ephemeral, clean-after-each-run environment?](https://muhammetsafak.com/just-ask/isolating-and-securing-self-hosted-ci-cd-runners/) (2026-06-12)
- [How do I set up secretless AWS access in CI/CD with OIDC and IAM roles?](https://muhammetsafak.com/just-ask/secretless-ci-cd-with-aws-iam-roles-and-oidc/) (2026-06-12)

## Frequently asked

### What does a DevOps engineer do?

They make sure software gets from the developer to the environment it runs in safely and repeatably: they package the environment, build the test and deploy pipeline, configure the infrastructure and server layer and look after the running system staying observable.

### How long have you worked in DevOps?

Since 2020, 6 years.

### Are DevOps and infrastructure engineering the same thing?

They overlap but are not the same. DevOps puts the pipeline and the way of working between development and operations first; infrastructure engineering puts the server, network and platform layer that pipeline stands on first. This page holds both.

### How do you build a CI/CD pipeline?

With GitHub Actions or Jenkins: tests run on every change and the deploy steps are defined in the same pipeline. Because the pipeline is described in code, how a change goes live can be read in the repository.

### What is the difference between Docker and Kubernetes?

Docker packages an application and its environment as a container; Kubernetes manages running, scaling and restarting those containers across multiple machines. The first is a packaging question, the second an orchestration one.

### What does managing infrastructure as code mean?

Setting up servers and services not by hand but from files that describe them, with a tool such as Terraform. That makes the infrastructure repeatable and its changes trackable in the repository.

### Which cloud and deployment tools do you work with?

On the cloud side AWS and Google Cloud, for self-hosted deployment platforms such as Dokploy, and Cloudflare for the DNS and proxy layer. The role of each tool is written in the Technologies section of this page.

### How is this different from backend development?

Backend development covers the application itself, that is the API, the data and the queue; DevOps and infrastructure cover packaging it, shipping it and the environment it runs in. I do not think of the two as separate, but I describe them on separate pages.
