My inbox is FULL. Always.
GitHub PR approvals.
Google Cloud alerts screaming about latency.
And—wedged right in between—execution reports from a few brokers politely informing me I did something… emotional.
For years I treated these worlds as unrelated.
Coding was the rational, well-lit part of my brain.
Trading was the fun, dopamine-fueled corner where rules were optional.
That worked right up until a few “strong conviction” trades turned into a full-blown kernel panic in my P&L.
That’s when it clicked:
An options portfolio is just a distributed system with terrible documentation and hostile users.
If you wouldn’t run a production service on vibes, why are you running your money that way?
Trading Like It’s 1999 and Not in a Cool Way
Most people trade options the way we deployed code in the late ’90s:
Manual. Late at night. No rollback plan.
Someone sees a headline about NVIDIA, feels a tingle in their spine (FOMO is here), and smashes Buy Call like it’s a space bar in Doom.
In engineering terms, this is a snowflake server.
Unique.
Fragile.
Impossible to reproduce.
Guaranteed to die at the worst possible moment.
And we already know this truth, burned deep into our souls:
Manual processes are how outages are born.
Portfolio CI/CD: Build, Test, Deploy
In a real pipeline, code doesn’t hit production because “it feels ready.”
It passes tests or it goes nowhere.
Trading deserves the same discipline.
Instead of “I think the market goes up,” your pipeline asks boring, annoying questions:
- Is IV Rank above 50?
- Is delta between 0.20 and 0.30?
- Is this trade actually aligned with the current market regime, or am I just bored?
That’s the build step.
The deploy step is equally unromantic.
No staring at Level 2 like it’s going to confess something.
Use APIs. Automate execution.
If the checks pass, the trade ships. If not, nothing happens—and that’s a feature.
Real example: I run a small JS script that scans for overextended RSI on the daily chart.
When conditions hit, it calculates position size based on 2% of available buying power—my portfolio’s “heap”—and places a limit order (or notify me over WhatsApp).
No adrenaline.
No revenge trading.
Just code doing its job.
SLAs, SLOs, and the Magic of Losing on Purpose
In SRE, we define pain before it happens.
Latency crosses 200ms? Alarm.
Error budget blown? Rollback.
Trading is no different.
Your max loss is your SLA.
The current P&L is the SLI.
The acceptable loss is the SLO.
And the stop-loss is the automated rollback that saves your system from catching fire.
Here’s the part many people never internalize:
A stopped-out trade is a successful system behaving correctly.
Engineers get this instinctively.
Tests fail all the time.
That’s not shameful—that’s protection.
A stop-loss isn’t admitting you were wrong; it’s proving your risk model works.
Losses: Bugs vs. Legacy Systems
Not all losses are created equal.
Some trades go bad fast. That’s a bug.
You patch it (roll), kill it (close), move on.
Others linger. They sit there. Quietly. Judging you.
That stock you’ve held since 2021 because “it’ll come back”?
That’s not an investment. That’s legacy code.
It doesn’t fit the current architecture.
It’s eating capital.
And no one wants to touch it.
Engineers refactor ruthlessly.
If a component no longer belongs in the system, you deprecate it.
Same rule applies here.
Take the loss (especially on Q4 and calculate the tax implications), free the capital, and redeploy into something that actually belongs in today’s stack.
Are Engineers Are Great Traders?
The upside: systems thinking.
One trade should never take down the whole portfolio.
We like logs, metrics, automation, and postmortems that don’t involve shouting.
The downside: overengineering.
I’ve watched smart people build absurdly elegant volatility models, only to get wrecked because a CEO decided to tweet at 3 a.m.
The market is legacy code written by millions of humans over centuries.
It’s inconsistent, stateful, emotional, and proudly non-deterministic.
It does not care about your beautiful abstractions.
Treat your system as probabilistic, not perfect.
And remember to keep the KISS rule.
The Point (Before You YOLO)
Stop trading on vibes.
Start building a system.
Before your next trade, ask one question:
Would this code be allowed anywhere near production?
If the answer is no, close the trading tab, open your IDE, and fix the pipeline.
Money deserves the same respect as uptime. No?
Discover more from Ido Green
Subscribe to get the latest posts sent to your email.