Case study H
In February I asked someone to explain automation to me as a beginner, because I was one. By September I was running extraction pipelines against a model API and auditing multi-hour media before it reached a client. This is what actually changed — including the mistake I made three separate times, and the things seven months cannot prove.
2026. I wanted three applications to talk to each other so that incoming mail stopped landing entirely on me. I could describe the system I wanted in detail. I could not build a single piece of it, and I knew enough to know I couldn't — so I asked for a learning path and said, in as many words, that I was a beginner.
I'm keeping that sentence on this site because it's the honest starting line, and because the distance from it is the only thing here that can't be faked.
Nothing about the seven months was a course. Every single thing was learned because the operation needed it that week and nobody else was going to do it.
Not the tools. The tools are the least interesting part and I'd learn different ones tomorrow if the work asked. What changed is the questions I ask before starting.
| In February I asked | By September I asked |
|---|---|
| How do I get this data? | What would make me believe this data? |
| Did it work? | How would I know if it had silently failed? |
| Is the answer right? | Which direction is it more expensive to be wrong in? |
| Is it finished? | What does this not do, and who needs to be told? |
| Can I automate this? | What has to stay a human decision, and why? |
Every row on the right came from something going wrong. The left column isn't naive — it's just the set of questions you have before you've been bitten.
The single biggest shift is in the second row. Early on I checked whether things worked. Now I assume anything that can fail quietly already has, and I build the check that would catch it — because an empty result and a broken fetcher look identical, and so do an empty library and a broken matcher.
Writing these case studies put something in front of me that I hadn't seen while doing the work. The same failure appears in three of them, in three different disguises.
| Where | The hazard | What I did |
|---|---|---|
| B | Two pipelines writing to one destination would duplicate | Wrote “keep their lists separate” in the contract document |
| D | An old script silently reverts the current template routing | Wrote a warning telling the reader not to run it |
| F | Assets can enter the library without provenance | Made recording provenance a practice, not a gate |
Three times I identified a real hazard, described it accurately, and then filed the description as the fix.
Every one of those should have been a check, a lock, or a deleted file. A rule I only follow when I remember it isn't a rule — it's a note about a bug. I know the shape of this now, which is not the same as being cured of it, so it goes on the list of things to watch for in myself rather than being quietly corrected out of the record.
I optimise for this delivery and pay on the next one. Ten numbered renderers and a pipeline copied per run; one-off tooling for a media request that will obviously be made again. Both times copying was thirty seconds and parameterising was an hour, and both times the deadline was that morning. That trade is sometimes correct. I just never made it consciously.
I build snapshots when the problem wants a monitor. I reconciled two systems into one clean file and handed it over — weeks after building continuous change detection for a different dataset. The machinery was written. It did not occur to me to point it at the new problem. Having a pattern and recognising where it applies are two separate skills, and the second one lagged.
Seven rules that started as a fix for one specific disaster and turned out to apply everywhere. These are the actual output of the seven months — more than any particular system.
Not one of those is technical. They'd apply to a finance reconciliation, a clinical registry or a supply chain audit without changing a word — which is the strongest argument I can make that the seven months produced something more portable than a list of tools I happen to have used.
If I were reading this site rather than writing it, I'd want to know what these seven months haven't tested. So here it is, before anyone has to ask.
I'd rather say all of that plainly than have someone find it out in an interview. It's also, fairly precisely, the list of what I want to learn next.
Build against real work, not exercises. Every rule on this site exists because something broke in front of someone who was depending on it. A tutorial cannot teach you that a governing body's own list can be confidently wrong, because a tutorial has no stakes.
Write the specification even when you're the only reader. I started doing it in June, and it's the clean line in these seven months: everything before it was improvise-then-repair, everything after was decide-then-build. It felt like bureaucracy for about a week.
Write down what went wrong, in a form the next project will actually read. One hour spent listing the traps from the last build meant six expensive failures cost nothing the second time. It's the highest-return work I have ever done and it looks exactly like procrastination.
And be suspicious of anything that succeeded quietly. Nearly every serious error in these seven months looked, at the moment it happened, like things working normally. The empty page that wasn't empty. The duplicate whose every row was individually valid. The photograph that was correctly captioned — of the wrong child. None of them announced themselves.
Learning to distrust a clean result is most of what I actually learned.