Things I Wish I Knew at 18 (After 25 Years in IT)

Notes from someone who is still learning, still rebuilding, and still getting things wrong.

Last updated: 2025-12-28 (This is a living document. I update it as I learn.)


How to Read This

This is not a tutorial.
This is not career advice.
This is not a checklist.

These are field notes — lessons pulled from decades of real systems, real outages, real people, and real consequences.

You don’t need to read this in order.
You don’t need to agree with everything.

Many of these lessons apply across IT:

If you’ve ever:

This is for you.


Production Systems Don’t Care About Your Feelings

Production systems don’t care about your feelings.

They don’t care that:

They only care about reality.

This is true whether you write code, manage networks, test software, or operate infrastructure.


Jack of All Trades Is Not a Failure

I am a jack of all trades.
A master of none.
And a student of constant change.

That used to be normal in IT.
It’s becoming rare.

Breadth matters because:

No one knows it all.
Anyone who claims they do is full of it.

The most dangerous engineers aren’t the smartest —
they’re the ones who understand how everything fits together.


An Ode to the Greybeards (and the BOFHs)

If you’ve never been embarrassed by a greybeard, you probably haven’t pushed yourself far enough yet.

I grew up under people who:

Some were patient.
Some were blunt.
Some were full BOFH.

They taught me something critical:

Every system you touch has a history.
Someone already paid the price for the rules you’re about to break.

Pester the old guys.
They like the attention — if you’re prepared.


Your Homelab Is a Tool — Not the Goal

Gear doesn’t impress.
Understanding does.

Nobody worth working for cares what brand you run.

They care if you can explain:

A cheap system you understand deeply beats an expensive one you copied blindly.


RTFM Is Not an Insult

Man pages.
--help.
Official documentation.

This is where real engineers live.

Blogs rot.
Videos oversimplify.
Copy/paste culture kills understanding.

If someone tells you to RTFM, they aren’t dismissing you —
they’re pointing you toward mastery.


Resource Constraints Make Better Engineers

I started on 286s, 386s, 486s, early Pentiums.

You couldn’t throw hardware at problems.
You couldn’t afford to.

Every kilobyte mattered.
Every process mattered.
Optimization was survival.

That lesson still applies.

If your solution only works because you added more CPU, RAM, or VMs —
you don’t understand the problem yet.


Optimize First. Scale Last.

Before adding resources, ask:

Hardware should fix known bottlenecks, not hide unknown ones.

Anyone can make fast hardware perform badly.


“It Works on My Machine” Is Not a Defense

From my QA days:

If you report a bug, be prepared to prove it exists.

Because the first response will be:

Professional bug reports include:

If you can’t prove it, it doesn’t exist yet.


Time Is Not Optional (NTP Matters)

If time isn’t correct, nothing else matters.

Without proper NTP:

First question during incidents:
Are the clocks in sync?


Logs Are Evidence — Treat Them That Way

Logs are:

Learn to read them.

Logrotate Exists

Don’t let your server fall over because the disk filled with logs.

That’s not bad luck.
That’s negligence.


Document Every Production Change — and WHY

Write down:

Future you will not remember.
Other people were not there.


Always Have a Rollback Plan

If you don’t know how to get out safely, you’re not ready to go in.

Hope is not a rollback strategy.


Smoke Test Your Shit

rm -rf is forever.

Test assumptions.
Test restores.

Backups?

3-2-1. No exceptions.

If you haven’t tested restore, you don’t have backups — you have hope.


Automate the Boring Shit

An old manager told me:

“If you have to do something more than twice — automate it.”

Automation:

Done right, it protects you from yourself.


Automation Doesn’t Remove Accountability

I once caused my company to lose over a million dollars.

Accidental deletion.
System didn’t care.
Contracts protected the client.

We paid.

I owned it. Completely.

Own your mistakes. Period.

That’s how trust is built.


Troubleshooting: Start With the Stupid Stuff

Before going deep:

Most “complex” problems are simple ones in disguise.


Ask Questions. Get It in Writing.

Clarify everything.

Personally?

Fuck phone calls.

Email.
Tickets.
Written decisions.

If it’s not written down, it doesn’t exist.

That’s not paranoia — it’s professionalism.


Closing

Production systems don’t care about your feelings.

But they do reward:

Read the docs.
Respect the system.
Show your work.
Optimize before you scale.
Document what you change — and why.
Always have a rollback.
Take breaks.
And never assume you’re done learning.

That’s the long game.