Sitemap

DevOps.dev

Devops.dev is a community of DevOps enthusiasts sharing insight, stories, and the latest development in the field.

Member-only story

The 6 Terminal Habits That Separate Senior Engineers From Everyone Else

5 min readMay 20, 2026

Senior engineers don’t just know more commands — they think about the shell completely differently.

Press enter or click to view image in full size
Senior engineer terminal session showing tmux panes and bash scripts — DevOps productivity
Senior engineer terminal session showing tmux panes and bash scripts — DevOps productivity

I used to be proud of my terminal setup. Custom prompt, fifty aliases, a .bashrc that looked like it was written by someone who really knew what they were doing. I’d zip through commands, chain a few pipes together, and feel good about myself.

Then I paired with a senior SRE during an incident. Watching him work was like discovering I’d been holding a pen with my fist my whole life. He wasn’t faster because he knew more shortcuts. He was faster because he didn’t make the mistakes I didn’t even know I was making.

This is what I actually changed after that session — and the sessions, outages, and code reviews that followed.

The Script Header That Saves You From Yourself

Most bash scripts I wrote early in my career had no error handling. They’d barrel forward through a failing command, produce garbage output, and I’d spend twenty minutes wondering why my deployment half-worked.

The single highest-leverage habit I picked up is putting this at the top of every script:

#!/usr/bin/env bash
set -euo pipefail
IFS=$
'\n\t'

Create an account to read the full story.

The author made this story available to Medium members only.
If you’re new to Medium, create a new account to read this story on us.

Or, continue in mobile web
Already have an account? Sign in

DevOps.dev

Published in DevOps.dev

Devops.dev is a community of DevOps enthusiasts sharing insight, stories, and the latest development in the field.

Daniel Valev

Written by Daniel Valev

I have been a Software Engineer for 8+ years and am highly experienced with Python, Golang, Next, JavaScript, AWS, Microservice, Generative AI, Security, etc.

Responses (10)

Unknown user

Write a response

set -euo pipefail

If you use the 'long form' in your template:
# prevent forest fires
set -o errexit
set -o nounset
set -o pipefail
You give 'the next guy' a clue and you can turn off what you don't want in this script with an octothorpe at the beginning of the line.
This…

15

some-command 2>&1 | grep "ERROR"

Bash has a more succinct syntax:
some-command |& grep "ERROR"

9

Then I learned process substitution, and I felt genuinely embarrassed about the past.

The reason nobody taught you, is because this is a bash-ism. It's not supported in the original Bourne shell.

6