Open to internships & junior roles

I turn servers & configs into reliable systems.

Hi, I'm Alex — an aspiring DevOps / Cloud engineer learning how modern infrastructure works, one deployment at a time.

LinuxDockerCI/CD TerraformKubernetesNginx
alex@devlab: ~
alex@devlab:~$ whoami
aspiring-devops-engineer
alex@devlab:~$ cat deploy.sh | diff prod
commit → test → build → deploy

My daily CI/CD loop

CODEpush
›
CIlint+test
›
BUILDimage
›
DEPLOYprod
›
MONITORlogs
About

Learning by breaking things (safely)

I'm on a hands-on path from hobby servers to production-grade DevOps. Everything here reflects real projects I deploy and operate myself.

My journey

I started with a single VPS and curiosity about "how does the internet actually work?". That turned into self-hosting, reverse proxies, containers and finally a structured DevOps learning roadmap — Linux, Git, Docker, CI/CD, IaC and cloud basics.

What I focus on

Automation over manual work, reproducibility over magic, and clean observability. I build small, testable infrastructure and write down everything I learn so others can follow the same path.

100+commands memorized
8+tools in my stack
1broken server / week
Toolbox

My growing stack

The fundamentals every junior DevOps should feel at home with.

🐧

Linux

Systemd, permissions, networking & troubleshooting on Debian/Ubuntu.

🐳

Docker

Images, containers, volumes, networks and Docker Compose workflows.

🐙

Git & GitHub

Branching, pull requests, hooks and clean collaboration workflows.

⚙️

CI/CD

GitHub Actions pipelines with linting, testing and automated deploys.

🏗️

Terraform

Infrastructure as Code for cloud resources, state & modules.

☸️

Kubernetes

Pods, deployments, services and simple cluster administration.

🚀

Nginx

Reverse proxying, TLS certificates, rate limits and performance tuning.

📜

Bash

Scripts that automate the boring parts and fail loudly.

Did you know

DevOps in numbers

Real, sourced facts about why DevOps and this stack matter.

208×

High-performing DevOps teams deploy more frequently than low performers, with 106× faster lead time and 2,604× faster recovery.

source: DORA / Accelerate
7×

Change failure rate is up to 7× lower in high performers — strong testing and CI are the reason.

source: Google Cloud DEI 2023
80%

Of engineers' time is spent on maintenance, collaboration and toil rather than new features — automation attacks this directly.

source: Developer Forecast
30%

Average cost reduction from implementing cloud-native and containerised deployments on a single VPS.

source: cloud economics reports
1min

It took me (I timed it) to go from an edited config to a live deploy using this exact GitHub Actions + push workflow.

prove it: CI cheatsheet
∞

Deployments a single immutable image can serve across environments — build once, run anywhere (Docker & K8s principle).

source: 12-Factor
Useful

Command cheatsheets

Frequently used commands, copy-paste ready. Sources & docs linked at the bottom.

Cheat sheet: Bash
Directory treetree -L 2 /path
Sorted disk usagedu -sh * | sort -h
Search text recursivelygrep -rn "pattern" .
Repeat last command!!
Find file by namefind . -name "*.log" -type f
Check disk spacedf -h
Cheat sheet: Docker
List all containersdocker ps -a
Run interactive shelldocker exec -it <ctr> bash
Build imagedocker build -t my-app .
Compose up detacheddocker compose up -d
Tail logsdocker logs -f <ctr>
Clean everythingdocker system prune -af
Cheat sheet: Git
New branch + switchgit checkout -b feature/x
Undo last commit (keep files)git reset --soft HEAD~1
What changedgit diff HEAD
Interactive rebasegit rebase -i HEAD~3
Stash changesgit stash
Find lost commitsgit reflog
Cheat sheet: Linux
Listening portsss -tulpn
Service statussystemctl status <svc>
Follow service logsjournalctl -u <svc> -f
Memory overviewfree -h
Kill process by namepkill -f "pattern"
Find large filesfind / -xdev -size +500M -exec ls -lh {} \;
Cheat sheet: Kubernetes
Nodes/clusterskubectl get nodes
Everything in a nskubectl get all -n default
Describe podkubectl describe pod <name>
Live logskubectl logs -f <pod>
Run in podkubectl exec -it <pod> -- sh
Live port forwardkubectl port-forward <pod> 8080:80
Cheat sheet: Terraform
Init working dirterraform init
Preview changesterraform plan
Apply changesterraform apply
Format all filesterraform fmt
Validate syntaxterraform validate
List state resourcesterraform state list
Library

The resources I actually use

A curated, beginner-friendly library — docs, playgrounds and communities that helped me get from zero to deploying.

Roadmap

A learning path for beginner DevOps

Simple steps and the best free resources that worked for me.

STEP 01

Fundamentals

A solid base before any tooling.

STEP 02

Containers & Networking

Ship and connect applications.

STEP 03

Automation & Cloud

Make it repeatable and scalable.

Keep it human

DevOps humor & the living part

A daily dose of jokes, memes and a (fake, for fun) live comment board from around the world.

JOKE 1/1
Joke of the day
Tip: comes with 100% uptime — pending DNS.
~/memes/works-on-my-machine.svg
It works on my machine.
/* noted in production */ git push origin main deploying... ✓ it works (my machine)
~/memes/dns.svg
Is it DNS?
It's always DNS. Always. The problem DNS answer: DNS
~/memes/99-bugs.svg
99 little bugs in the code, 99 little bugs...
Fix one, deploy, count them again. Junior DevOps main character energy.
💬 Global comment board LIVE demo • fictional comments
● 128 online • showing 0 comments • auto-refreshing

Let's build something

Open to junior roles, internships and interesting side projects. My inbox is always open — I usually reply within a day.