OpenFeature maintainer & CNCF Ambassador. Speaking, consulting, and workshops on feature flagging, developer experience, and open-standards adoption — Austria, DACH region and remote.
Herodotus wrote of a bird that lived five hundred years in Arabia, and when its life came to an end, it did not wait to be surprised by death. It built its own nest of cinnamon and myrrh, set the nest and itself alight, and let a new bird rise from what the fire left behind. The Hestia argued for tending a fire that must never go out. That’s true, and it isn’t the whole truth. Teams end. People…
A hearth fire required no priest, no temple, no calendar date. It required a fire and a household. When a city sent settlers to found a colony, they didn’t design a new fire from scratch. They carried an ember from the one already burning at home. The same fifty representatives who ran the Boule’s business for their ten days in charge also tended the city’s public fire. Not a separate role. The…
Pausanias, walking through Athens centuries after the Boule had done its daily work, recorded something easy to miss. An altar to Pheme stood in the agora itself, near where the decisions got made, honoring not a ceremony but a thing that just happened on its own. Talk. Report. Whatever moved from one mouth to the next once the room had spoken. The Boule left one question open on purpose. The room…
The Boule was a council of five hundred, fifty chosen from each of ten tribes. It didn’t replace the Assembly. It prepared what the Assembly would decide, and carried the city’s business in the space between full gatherings. Trireme answered a narrower question than it looked like it was answering. Three functions, one team, agent as the fourth participant. Fine for a room small enough to fit…
Before a young Athenian took his full place in the city, he spent two years in the ephebeia. Training happened in the gymnasion, organized by tribe, the same tribes that would later send him to represent them in the Boule itself. Nobody handed him full standing first and hoped the judgment would follow. This should have been post seven. It’s showing up as sixteen because the gap only became…
Metron was the Greek word for a measure: the standard you judge a thing against. It gives us metric, and metronome. Pick the wrong metron and everything you count against it comes out wrong, no matter how carefully you count. Ask most teams how they know AI adoption is working, and the answer is some version of: we’re shipping more. More PRs, more tickets closed, more velocity on the board. None…
Mimesis was the Greek word for imitation, and the oldest theory of how we learn: by copying a thing long before we understand it. Understanding, if it comes, comes after. The End of the Craftsman ended with a promise. The junior question deserved more than a paragraph, I said, and would get its own post later. This is that post. Aristotle had a word for how humans learn a skill before they…
WeAreDevelopers World Congress has happened. Sadly my talk wasn’t accepted for the conference, but it was good enough that I got a virtual spot, and with that a ticket. So I thought it was a good idea to meet up with old friends, check the booths and vendors for open positions, and get a glimpse of where we’re heading. Being a free agent changed how I approached the conference. It was liberating.…
The kybernetes was the helmsman who steered a Greek ship, reading the wind and working the steering-oar to hold a course. The word is the root of two others: govern, and cybernetics, the study of how systems steer themselves. The Oikonomos ended with a shrug. Someone has to own the loop, I said, and left the how for later. Fair complaint if you actually run one of these things and want to know…
To be on the hook is to be the one who answers when something breaks. Every team carries a picture of where that hook hangs. This is about whether the picture was ever true. It’s the first question any skeptical engineering leader asks about this model. The agent implements from a spec the team agreed on. Something breaks in production. Who’s on the hook? The question assumes an answer that was…
The most important step in the old process was never written down: the confused developer getting up, walking across the room, and asking. It worked precisely because no one designed it. Ask what could go wrong with a Spec Session and the list comes fast. Sessions that run long and never converge, especially when everyone’s trying hard to agree. The wrong people in the room, or the right people…
In an ancient Greek household, the oikonomos was the steward: the one trusted to manage the estate’s resources so the whole household prospered. The word is the root of economy, which began as the art of running a household well. Every engineer on your team has their own agent setup right now. Their own system prompts, tuned over weeks. Their own skills, written for their own habits. Their own…
My previous role was something special. Although I had been wearing three hats, I never felt stressed, overworked, or dragging my team down. I was a software engineer, a team captain, and a tech evangelist on top. The role of a software engineer normally would not need a lot of explanation. But our team was small and crucial. We were developing the centralized feature flagging solution for a big…
An astrolabe doesn’t map every star. It gives you a way to find your position relative to the ones that hold still. That’s the instrument I reach for when someone asks which AI tool they should be using. The honest answer is that the tools will be different in six months. The layers won’t. I spent a week trying to make sense of a handful of names that kept showing up in the same conversations.…
A trireme was the warship that made Athens a power in the Mediterranean, not for its size, but for its structure. Three banks of oars, a hundred and seventy rowers, every bench pulling in time with every other. Take enough rowers out of one bank and the ship doesn’t row slower. It stops being a trireme. There’s a counterargument to this whole series that I keep hearing, and it’s a good one. One…
Every engineer learns it early. Program to an interface, not an implementation. Depend on the contract, not the concrete class. We just never apply it to ourselves. Companies don’t define what a unit must provide to the rest of the organization. They define how the unit must work internally. The roles it must have. The ceremonies it must run. That’s not an interface. That’s an implementation —…
The Athenian agora wasn’t a building. It was an open space where citizens gathered to think in public: argument, trade, philosophy, policy, all happening in the same place at once. Nobody scheduled it. The space was simply there, and showing up was the default. Six posts in, I keep pointing at the same room and never walking into it. I keep calling it the Spec Session. I’ve said it’s where the…
The Library of Alexandria was the ancient world’s greatest repository of knowledge. And its greatest single point of failure. It didn’t burn in a single night. It declined across decades, through neglect, through the slow erosion of what it had been. By the time it was gone, almost no one had noticed it going. There’s a pattern I’ve been watching for a while, and I don’t think it’s going well. A…
In folklore, a genie grants wishes without judgment. It gives you exactly what you asked for, whether or not it is what you needed. The danger was never the genie. It was the wish. Fiona Fung, who leads Claude Code at Anthropic, said it on Lenny’s Podcast last week: her engineers now ship eight times more code than they did a few years ago. And they had to start scheduling lunches so people would…
I noticed something a few months ago: I was talking to my colleagues less. Nothing was wrong. I’d have a question, describe it to an AI, get something useful back. Why pull in a human when the loop already closed? It took me a while to notice what that was costing. There’s a version of the AI story where the interesting work just disappears. The agent implements, the spec session produces the…
When I wrote about shifting the engineering process left (spec sessions, autonomous agents, humans reviewing output rather than writing code), a question kept coming up. Where does the Product Owner fit in all of this? It’s the right question. And I think the answer is more interesting than “the PO disappears.” Let’s start with acceptance criteria. We invented them to bridge a gap. The team needed…
“A fool with a tool is still a fool.” — often attributed to Grady Booch I keep coming back to this quote when I watch teams adopt AI. In my last post I wrote about shifting the engineering process left: spec sessions, autonomous agents, humans reviewing output rather than writing it. A few people asked the obvious follow-up: if an agent implements and an AI reviews, why do I need a team at all?…
Every company I talk to wants AI in their development process right now. Most put it in the same spot: the IDE, the terminal, right where the code gets typed. That part is easy. Where it actually belongs is the question. Most teams I see have done the same thing. Handed developers access to an AI assistant and told them to move faster. Copilot in the IDE. Claude in the terminal. Pick your tool.…
This blog started as a place to collect ideas. Mine, specifically. Thoughts that might resonate with others, or at least stop rattling around in my head. I talk to a lot of people right now. Exploring options, having conversations. Every person brings a different view, a different way of working. Combining all of that is genuinely fun. It also generates an unreasonable number of ideas. Hard to…
The current situation is odd, and I am not sure how to tackle it. Getting laid off by Dynatrace was a first in my career. Although I am enjoying this extended time off, it has a strange feeling to it. Garden leave ends in June, and I am planning to extend my off time by two more months, just to enjoy a summer with my kids. I am looking forward to this, but there is still this feeling of being…
We instrument everything and hope something useful comes out. That’s not a strategy. That’s noise management. The reaction path and the reasoning path are different problems. The reasoning path needs breadth, history, correlation, anomaly detection, fleet-wide baselines. That’s where observability platforms earn their place. But the reaction path is different. Signal in, decision out. Local,…
Observability tooling was built for humans. Dashboards, notebooks, query interfaces — they exist so an engineer can look at data and make a decision. That’s a valid use case. Business reporting, capacity planning, post-mortems. Fine. But that’s not what agents need. An agent doesn’t need a pretty graph. It needs data. Clean, structured, semantic data it can reason over. The entire visualization…
There is a lot of conversation happening right now about agentic systems. How to build them. How to trust them. How to keep humans involved. The “human in the loop” crowd wants approval gates. The “human on the loop” crowd wants oversight without bottlenecks. I’ve been sitting with a different question. What if the role isn’t in the loop or on the loop, but on the system itself. Designing the…
In our first post we learned how we can extract our build into an own centralized file. Within this post we are focusing on configuration via environment variables. This is a post of a series on our approaches. GitLab CI - Configurations via environment variables GitLab CI - Centralization Configuration Environment Variables The environment variables offer a good solution to define external…
My company is currently migrating to GitLab and also to GitLab CI. We do have a lot of similar projects which rely on similar tooling and therefore the CI configuration is also pretty similar. This created the need to centralize it but we still wanted to provide some configurational options with an explanation without spoiling the run pipeline UI. This is a post of a series on our approaches.…
I released version 0.3.0 due to some interesting bugs and some misconceptions. All the functionality is covered, but i opened a box which was maybe not a good idea to open. Fixed topics Misconception I was not careful enough when reading the GitLab Documentation regarding Gradle and the GitLab Package Registry. It turns out, that you are able to download from two different endpoints: Group…
My biggest problem with my Blog is my bad writing. I am making to many mistakes, either typos or bad formatting. This bothered my heavily and it is also something, which can be easily prevented (to some degree) by automation. In this Blog Post i will shortly talk about: the tools i am using how to integrate the tools in GitHub Actions who inspired me Inspiration I have to be honest here, i did not…
My work on the Gradle Repositories Plugin is progressing quite fast. I released version 0.2.0 today. Mainly because i setup proper CI and also think that i reached a fine maturity level. Findings Furthermore i found some interesting improvements along the way. I am still not sure if all of them are good practice, but anyways it is worth sharing. Avoiding of Class imports In my first iteration it…