Sign in

Tudor Girba

@tudorgirba.com
1.2K followers 250 following 810 posts

CEO feenk.com We modernize legacy systems. Through Moldable Development.

PostsRepliesMedia
Tudor Girba @tudorgirba.com · 17/09/2026
"Software engineering has changed radically. It is now mainly about reading code. But reading code does not scale. We need to delegate to AI." I am glad you now recognize code reading as a problem. However, the broader problem statement is not quite correct and neither is the conclusion.
software engineering has not changed radically.


it has always been mainly about understanding code.


but reading code does not scale.


we need to augment our understanding through contextual tools.
183
Tudor Girba @tudorgirba.com · 14/06/2026
The U.S. act to selectively allow Fable access based on nationality should make it finally obvious that an overly deep dependency on foreign actors is a threat to digital sovereignty. Hopefully, this can act as a wake-up call for Europe 1/
1100
Tudor Girba @tudorgirba.com · 09/06/2026
The first thing we need to do when working with an LLM agent is to define the context. The more specific the better. But how specific can it be? How about a single object? (Here I am exploring the actions of a website visitor and then ask it to add a view for that action to see the relevant page)
110
Tudor Girba @tudorgirba.com · 01/05/2026
But how does GenAI fit into the view of systems as knowledge work? Take a look here. I am exploring an API; the GitHub API in this case. I arrived at a contributor entity, and now I want to see what this contributor is linked to. 6/
110
Tudor Girba @tudorgirba.com · 01/05/2026
Systems are often seen as a set of features. An alternative is to regard them as encoded knowledge. 1/
211
Tudor Girba @tudorgirba.com · 25/04/2026
"I cannot read every line of code." Indeed, nor should you. But this does not mean you should not understand the code. Understanding systems boils down to answering questions about them. Use deterministic contextual tools to produce those answers. That's it. Read more at: moldabledevelopment.com
Transforming source into views and then contextualizing it with system specific information
020
Tudor Girba @tudorgirba.com · 13/04/2026
“Once men turned their thinking over to machines in the hope that this would set them free. But that only permitted other men with machines to enslave them.”
130
Tudor Girba @tudorgirba.com · 18/03/2026
Your systems are already valuable. They got you to where you are. But within them lies much more dormant potential. How can you uncover that potential? By improving your ability to understand your system. Once you understand it better, you can move faster, and thus create more value.
000
Tudor Girba @tudorgirba.com · 15/03/2026
"Text is everything now. Text is AI's native medium. Stay in text." Didn't we have this conversation before with just slightly different arguments?
1131
Tudor Girba @tudorgirba.com · 17/02/2026
"Please continue" That's what the documentation for Claude Opus 4.6 says when you happen to get empty messages from the magic box. I'm not sure whether "Please" is necessary, but I didn't dare try anything else for fear of upsetting the machine.
010
Tudor Girba @tudorgirba.com · 24/01/2026
"What do you mean?" In 2020 and 2021, StackOverflow asked an interesting question "What do you do when you get stuck?". The top considered alternatives were between googling and visiting StackOverflow. 2/
100
Tudor Girba @tudorgirba.com · 18/01/2026
When myths fall apart, new opportunities arise. "What opportunities?" Figuring systems out without reading code. Oh, and without asking LLMs to summarize them. "And how is that?" Go read the chapter. It's long, but I promise it's not boring. And it has pictures, too. moldabledevelopment.com 4/
041
Tudor Girba @tudorgirba.com · 15/09/2025
We can only perceive software systems through tools. This makes tools essential for anything we do with software systems, and in particular for software engineering. And we should pay attention to our tools' characteristics as they will influence how we are going to think.
171
Tudor Girba @tudorgirba.com · 27/03/2025
Ask n technical people "what is architecture?" and you might get n+1 answers. Change the question slightly to "what is architecture for?" and you will get just one: to support decision making. Read about software engineering as decision making in the book I am writing with @swardley.bsky.social 👇
120
Tudor Girba @tudorgirba.com · 03/03/2025
If you go in a meeting to talk about an existing software system, bring the system in that meeting. Otherwise, you will be talking about the various beliefs people have about the system. How should you do that? Through contextual tools that help you answer various questions quickly. 1/
130
Tudor Girba @tudorgirba.com · 16/02/2025
So, you might want to optimize this. To do that, you can start by measuring. "Measure what?" Time to answer (ttA) and time to question (ttQ). 4/
100
Tudor Girba @tudorgirba.com · 16/02/2025
How long does it take to answer a question about your software system? And how long until you get to a new interesting question? 1/
100
Tudor Girba @tudorgirba.com · 06/02/2025
Chapter 3: Questions and answers A new chapter in which we talk about the role of questions and answers in software engineering and describe the case study from chapter 2 from the point of view of commoditizing answers. We introduce two new metrics: ttA = time to answer ttQ = time to question 4/
110
Tudor Girba @tudorgirba.com · 06/02/2025
Chapter 2: How we make decisions This is largely similar to what we had before, but rewritten (same arguments and case study). We introduce Moldable Development and provide a concrete case study example. 3/
110
Tudor Girba @tudorgirba.com · 06/02/2025
We (@swardley.bsky.social and I) published a new installment of our Rewilding Software Engineering book on Medium: Chapter 1: Introduction medium.com/feenk/rewild... Chapter 2: How we make decisions medium.com/feenk/rewild... Chapter 3: Questions and answers medium.com/feenk/rewild... 1/
34210
Tudor Girba @tudorgirba.com · 16/01/2025
This was a very nice experience. @swardley.bsky.social and I worked last year on describing Moldable Development using the map below. And now we compared it with a diagram I drew 15 years ago. We changed a little the labels, like in the attached picture, and they just matched. Really great feeling.
020
Tudor Girba @tudorgirba.com · 13/01/2025
Another option is to look at a thermometer. 5/
100
Tudor Girba @tudorgirba.com · 13/01/2025
I use gtoolkit.com. For example, the reply to your post looks like this.
020
Tudor Girba @tudorgirba.com · 28/12/2024
In his book "The Software Architect Elevator", Gregor Hohpe describes diagram-driven design, a way of designing systems through visual representations rather than through words because "cheating in a picture is much harder than cheating in words". 1/
161
Tudor Girba @tudorgirba.com · 26/12/2024
As people are talking about the meaning of software engineering these days, it's useful to look at where it came from. The Computer Directory and Buyer's Guide from 1965 contains "software development" 5 times and "software engineering" one time, the first occurrence of the term I know of. 1/
120
Tudor Girba @tudorgirba.com · 24/12/2024
It turns out that using custom tools for every problem is both practical and can lead to better problem solving. It’s called Moldable Development. 5/
020
Tudor Girba @tudorgirba.com · 16/12/2024
The 2020 and 2021 StackOverflow surveys featured a fascinating "What do you when you get stuck" question. In 2021, the top spot was taken by "Google it" (~90%), with "Visit StackOverflow" coming second (~80%). I guess if they'd ask today, "Ask ChatGPT" would be the top preference. 1/
110
Tudor Girba @tudorgirba.com · 07/12/2024
This announcement is fascinating. Not because it announces the generation of documentation for software systems, but because of the motivation. Let's take a look. 1/
160
Tudor Girba @tudorgirba.com · 04/12/2024
The largest cost in software engineering is figuring the existing systems out. It's reading, not writing that we should optimize our work for. And that is the interesting bit. DX should help us make systems explainable to various audiences. This path leads to Moldable Development. 7/
010
Tudor Girba @tudorgirba.com · 04/12/2024
The typical discourse about DX (Development Experience) entails two pervasive assumptions: 1) that it's only for developers, and 2) that it's primarily for writing. We have to outgrow both. 1/
111
Tudor Girba @tudorgirba.com · 30/11/2024
We are playing with how to position context menus. Here is how that looks like: - we start with an example that creates a menu object - the Playground inspector view gives us a draggable point related to which we open the menu. - by dragging the point we can see how the menu positioning will react.
021
Tudor Girba @tudorgirba.com · 28/11/2024
What if visual anchors were delicious?
1152
Tudor Girba @tudorgirba.com · 28/11/2024
Wag the Dog but more casually.
010
Tudor Girba @tudorgirba.com · 24/11/2024
Anything in a software system can be seen in multiple ways. Actively choosing the perspective can accelerate how you answer questions about the system. For example: how did a file evolve? Looking at commits tells you when/who changed it. But: did the file grow? A new perspective answers better.
193
Tudor Girba @tudorgirba.com · 23/11/2024
When we execute a piece of code we might want to inspect the result at a later time. A user interface solution is to remember the execution result in a visual element next to the code. And the cherry on top would be to highlight the code when hovering over that attribute.
020
Tudor Girba @tudorgirba.com · 22/11/2024
In our quest to make creating custom views more and more inexpensive, we now got to the point in which we can create a view based on the object obtained from executing a snippet in the contextual playground from an inspector. Sounds complicated? It's really not. Just take a look. 1/
100
Tudor Girba @tudorgirba.com · 22/11/2024
How is a post with an embedded link described in the AT Protocol data? Let's inspect it.
000
Tudor Girba @tudorgirba.com · 21/11/2024
One of the beauty of building your own graphical stack is that you get to work on the little details. For example, we are redoing the support for contextual menus with a dedicated layout. It looks like this. Does it look delicious to you? Because it surely does look like that when I look at it.
150
Tudor Girba @tudorgirba.com · 20/11/2024
How did we debug this? We inspected the @jay.bsky.team ActorDefsProfileView in #GToolkit. The 20. message had the root post properly set ✅ But we noticed that the root post appeared above the 20. post in the timeline instead of at the bottom❗️. This led us to the hypothesis that we tested above.
021
Tudor Girba @tudorgirba.com · 20/11/2024
So, we think we can reproduce the problem: The thread works fine. See the first screenshot. But when you pin the top skeet, it breaks it. See the second screenshot. @jay.bsky.team it would be a pity for that pinned skeet to not work 😃 /cc @support.bsky.team
131
Tudor Girba @tudorgirba.com · 20/11/2024
I just noticed that in a recent thread by @jay.bsky.team appears broken in her profile posts. Only 19. and 20. appear. We noticed the same a few days back when creating threads from #GToolkit. We fixed it in the meantime. Is it possible that the default client needs updating @support.bsky.team?
111
Tudor Girba @tudorgirba.com · 20/11/2024
Well, that's just another question that we can make the system answer. For example, when inspecting the git history of a file we could see how ownership evolved over time. Today, that's available in Glamorous Toolkit out of the box. What is code ownership? 3/
101
Tudor Girba @tudorgirba.com · 20/11/2024
Who should I work with on this part of the code? Any question about a system can be answered through explanations provided by the system. These explanations summarize the system and accelerate how we answer our questions. That doesn't mean that we should stop communicating. Quite the contrary. 1/
100
Tudor Girba @tudorgirba.com · 18/11/2024
Chesterton Fence: "In the matter of reforming things... there is one plain and simple principle; a principle which will probably be called a paradox. There exists in such a case a certain institution or law; let us say, for the sake of simplicity, a fence or gate erected across a road... 1/
120
Tudor Girba @tudorgirba.com · 17/11/2024
Whether business-related or of technical nature, any question about the system has the answer in the system, and any decision has to relate to the reality of the system. Thus, how you get the information from the system is equally important for all stakeholders.
000
Tudor Girba @tudorgirba.com · 17/11/2024
"The inside of software systems should not be approachable by just a few... Whoever has a question about a system, the system should be readily able to provide the answer." Watch the rest of my chat with @swardley.bsky.social: youtu.be/abArhHOwdEc?...
020
Tudor Girba @tudorgirba.com · 17/11/2024
#MoldableDevelopment is a way of programming through thousands of custom tools ... per system. "How is this going to help me?" Watch the rest of the conversation with @swardley.bsky.social here: youtu.be/abArhHOwdEc?...
040
Tudor Girba @tudorgirba.com · 17/11/2024
The demo here shows the support for the tokenization output explanation like in the app that Andrej used. Only this time the explanation happens in the development environment. All it took were a couple of inspector extensions. Let's get back to how these extensions work a little later. 5/
100
Tudor Girba @tudorgirba.com · 17/11/2024
Not long ago, Andrej Karpathy put together a tutorial on tokenization which has multiple parts including the stepwise implementation of an algorithm. It starts with a general explanation for which he used tiktokenizer.vercel.app to show graphically how the tiktoken library from OpenAI works. 2/
110
Tudor Girba @tudorgirba.com · 15/11/2024
"If you can bring the cost of creating a custom tool to be less than the cost of investigating manually once, then you have a new economic model" Watch the rest of the conversation with @swardley.bsky.social here: youtu.be/abArhHOwdEc?...
0132