AI amplifies judgment. The engineer is the edge.
I lead enterprise data platforms and build AI workflows.
The routine runs on its own. Architecture and release decisions stay with me.
A step is one AI reply or one tool call. Spending money, publishing and deleting stay approval-gated.
Built and running.
The data platform I run
I'm responsible for an enterprise data platform, with a focus on architecture, reliable data pipelines and reporting. As a technical lead, I help the team make sound design decisions and maintain clear engineering standards.
- Loading is configuration-driven: shared loaders do the work, so a new source is mostly a new row of configuration. The loader itself still has to be written well, once.
- Changes reach production through a release path: test, merge request, main, then live, with checks on every merge.
Azure Databricks · Unity Catalog · Fabric · Power BI · GitLab CI
How I structure data platforms
I structure data platforms so that source data, validation and business models have clear responsibilities. That makes quality issues easier to trace and changes easier to reason about.
- Bronze keeps what arrived. Silver checks and refines it. Gold holds the shapes the business asks questions in.
- Reports read from gold, never from raw, so a fix lands in one place.
Databricks · Delta Lake · Unity Catalog · Power BI
How I make ingestion reusable
I use shared loading logic and configuration to reduce repeated code. Quality checks make failures visible before downstream work depends on the result.
- Configuration says what to load and where. One well-written loader does the work for all of them.
- A failed check stops the load and keeps the failing rows, so the fix can be tested against them.
Databricks Workflows · Delta Lake · Python
How I release changes
I want a release to be explainable and repeatable. Changes are checked, reviewed and verified where people actually use them.
- Automated tests run before a person spends time reviewing. A red result stops there.
- What gets deployed is the exact thing that passed. If any step fails, the change goes back to the start, never around.
GitLab CI · merge requests · automated tests
I replaced an ageing Joomla site with a static site and added online booking.
- It has a homepage and one page for each of the author's 18 books.
- Fonts, scripts and images come from its own domain. Social embeds load only when clicked.
- The old email booking option stayed available until online booking was ready.
- The scripted launch could be rolled back within five minutes. I checked the live site before calling it done.
Astro · Cloudflare Pages · Pages Functions · Resend
How I work
One half runs in shadow. The other returns to the light before it ships.
The way I work is the product.
- AlignFrameSet the goal, permitted tools and data, and acceptance criteria.
- AlignReplayThe AI explains the plan; I correct it before work begins.
- ExecuteRunExecute the agreed plan within its approved limits.
- ValidateVerifyCheck the result against the acceptance criteria.
- ValidateShipApprove and release the checked result.
What repeats becomes a safeguard.
What can run without me.
The longest unattended run so far was 1 019 steps, building one of my own applications. Every run is logged and its result checked.
Watch first, then trust
I watch new automations until they are reliable. Spending money, publishing and deleting always need my approval.
Bull in a china shop, then a diamond
Build the rough version fast in a separate, safe environment. Then harden, test and document it before release.
These examples come from my personal automations. I define the scope, check the result and approve its release. They sort my email, draft my support tickets and write my meeting notes.
What still needs my judgment.
If I cannot explain a change plainly, I do not ship it.
Explain the plan first
Before work starts, the AI explains the plan in plain English. I correct any misunderstanding first.
Verify the real result
A success message is not proof. I check what people will actually see or receive.
Turn mistakes into safeguards
When a mistake repeats, I turn it into a rule or an automated check. Serious risks get a safeguard immediately.
Say hello
Email KosieTechnical Lead Data Engineer · South Africa · LinkedIn