<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/">
  <author>
    <name>Jan Dudulski</name>
  </author>
  <id>https://dudulski.pl/</id>
  <link href="https://dudulski.pl/feed.xml"
    rel="self"/>
  <title>dudulski.pl</title>
  <updated>2026-02-14T16:19:56.880608+00:00</updated>
  <entry>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://dilbert.com/strip/2018-01-22"><img src="http://assets.amuniversal.com/aa0c23f0d6c801350cc9005056a9545d" alt="Dilbert" /></a></p>

<p>I'm a huge fan of <a href="https://twitter.com/hashtag/noestimates">#NoEstimates</a> movement. After more than ten years as a software developer, I still suck at estimations, sometimes even for simple things. And I will probably ever be. The thing is that <a href="https://projectjournal.co.uk/2016/02/20/66-of-it-projects-fail/">I'm not the only one</a>:</p>

<blockquote>
  <p>On Average, Large IT Projects Run 45% over Budget and 7% over Time</p>
</blockquote>

<p>I don't want to get into details how <strong>no estimates</strong> approach works neither when and how to <em>estimate</em> what needs to be estimated. I will not dig into reasons why we, developers, are so inaccurate in estimations.</p>

<p>Instead, I would like to sell you this methodology with arguments that already sold it to me.</p>

<h2 id="stress">Stress</h2>

<p><strong>Estimates that one cannot make are stressful to everyone.</strong></p>

<p>Starting from a developer who either blames someone else who acts as a dependency or feel guilty as a lame programmer. That will feel anger on the manager or customer that made pressure to put lower estimations. Or some authority that during estimation round told everyone <em>nah, that's easy</em>.</p>

<p>Through manager who acts as a proxy and has to handle customer anger, ask hard questions to the team or response to the customer with bad news.</p>

<p>Finally customer. The one that pays our bills and starts wondering if someone tries to make him fool.</p>

<h2 id="quality">Quality</h2>

<p>Have you ever tried to lace your shoes in a nervous hurry? <strong>Even the simplest things that you do every day with closed eyes, start being complex under pressure.</strong> Imagine that you have to, in such conditions, create something complicated or fix a bug that doesn't work for unknown reasons. Something that requires focus, time and deep thinking.</p>

<p>With the burden on your shoulders instead of well-crafted solutions, you start looking for shortcuts. You stop thinking about maintainability. Code reviewer will know that whole this crap should be buried in the 7th circle of hell but there is no time to make it proper, so just close your eyes and accept this spaghetti that even creator could not understand.</p>

<h2 id="useless-meetings">Useless meetings</h2>

<p>Let's say that you have sprints 2 weeks long. Every other Monday your team spend some time to estimate. Multiply the number of meeting participants by hours spent by your wage and you can throw that money to the basket equally.</p>

<p>It's an open secret that developers are bored during such meetings. They rarely can fully concentrate. But even if they can <strong>there are a lot of unknowns on the sprint track</strong>.</p>

<p>There will be issues to be covered outside of the scope.</p>

<p>There will be unexpected interruptions.</p>

<p>There will be dependencies that we have to wait for.</p>

<p>There will be misunderstandings.</p>

<p>Finally developers - as probably all human beings - tend to overstate their skills and will be <strong>really sure</strong> that can accomplish this task in a proposed timeframe which, as we already know, rarely will be real.</p>

<h2 id="what-instead">What instead?</h2>

<p>Should you instead allow a developer to tackle the task as long as they wish? Definitely not. There are a lot of articles, probably even thesis, about benefits of deadlines. The key here is to take advantages and hide shortcomings.</p>

<p><strong>Instead of estimations we should demand defined deliverables every day.</strong></p>

<p>When a task is too big to be delivered in a single day it should be split as soon as developer notice that fact.</p>

<p>As a side effect, this would require making proper plan before tackling the task… and that could give you a tool for more accurate estimations. Small portions of work in single tasks allow measuring real velocity of a team in <strong>tasks per day</strong>.</p>

<p>It would also require leaving project at the end of a day in a state without tasks open for weeks. If any developer won't come to work another day others in the worst case could start the work from scratch - not so much will be lost.</p>

<p>Yes, I know that good <a href="http://agilemanifesto.org/">Agile</a> practices require the same thing, and some still have estimations. But it doesn't reduce problems mentioned above and it's much easier to lay back discipline of small tasks when they're actually not crucial in your methodology.</p>

<p>This approach might not be intuitive for many, definitely, it makes tricky long-term assumptions, but I encourage you to give a try. <strong>It's one of this thing that once tried, you never want to go back.</strong></p>
</div></content>
    <id>https://dudulski.pl/2017/09/25/noestimates</id>
    <link href="https://dudulski.pl/2017/09/25/noestimates"/>
    <title>NoEstimates</title>
    <updated>2017-09-25T22:50:00+02:00</updated>
    <dc:date>2017-09-25T22:50:00+02:00</dc:date>
  </entry>
  <entry>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Have you ever rotated a mobile screen while reading a post on LinkedIn and lost it? Have you ever closed a social media post because content wasn’t available to read without an account? Have you ever had a hard time following the Twitter/X post spread into a thread? Have you ever missed a post of someone who you follow, but it never showed up on your feed? Have you ever struggled to find a post that you didn’t have time to read when it showed up? Have you ever been trying to find a specific past post on any of the social platforms?</p>

<p>Why do we do this ourselves?</p>

<p>We are feeding the rich with our knowledge without any benefits in return. Instead, they make content hard to read, hard to search, hard to edit, and hard to follow. And hire algorithms to throw trash into our feeds.</p>

<p>The most powerful aspect of the internet is that everyone can participate in shaping it. You can plug in your machine and host whatever you like in any form. You can own your data, even a full platform. You can utilize open standards (like HTTP or RSS/Atom) and give the audience freedom how to consume what you produce.</p>

<p>Unfortunately, we used to give up on freedom.</p>

<p>Making a blog is trivial and can be <a href="https://render.com/docs/static-sites">easily</a> <a href="https://www.netlify.com/">hosted</a> <a href="https://docs.github.com/en/pages">for</a> <a href="https://static.app/">free</a>. <a href="https://gohugo.io/">You</a> <a href="https://www.bridgetownrb.com/">can</a> <a href="https://gitlab.com/alicela1n/litestatic">use</a> <a href="https://github.com/BlazorStatic/BlazorStatic">any</a> <a href="https://github.com/myles/awesome-static-generators">language</a> or <a href="https://ghost.org/">pickup platform</a> that <a href="https://micro.blog/">makes sense</a>. With minimal investment, you can host under your domain (and you should). You can <a href="https://blog.burkert.me/posts/in_praise_of_syndication/">notify your readers</a> about new content in a standard way and allow them to consume it at their pace.</p>

<p>You can be googleable. Or duckduckgoable. You can own your data and make it look unique if you like. Or just use <a href="https://justfuckingusehtml.com/">plain HTML</a>.</p>

<p>Social media is useful to tease the content and bring attention. Maybe discuss. But please, stop ruining the internet, and if you value what you produce and your audience, let us read properly.</p>
</div></content>
    <id>https://dudulski.pl/2025/10/15/fix-the-internet</id>
    <link href="https://dudulski.pl/2025/10/15/fix-the-internet"/>
    <title>We broke the internet. We can still fix it</title>
    <updated>2025-10-15T19:25:00+02:00</updated>
    <dc:date>2025-10-15T19:25:00+02:00</dc:date>
  </entry>
  <entry>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Recently I was giving <a href="https://luma.com/se3qppbl">a talk about the Decider pattern</a>, and I was asked when Event Sourcing clicked for me. I’m too old to remember <em>when</em>, but I still remember <em>what</em> it was.</p>

<p><a href="https://www.monterail.com/blog/introduction-to-domain-events">Let me quote myself</a>:</p>

<blockquote>
  <p>My personal greatest benefit of events is the influence on the way I think about designing the system. <strong>The moment when you have to name the fact that actually happens opens a magic box in your head</strong> that unveils edge cases, impacts on other parts of the system, or unknowns that you have to ask the client. It really changes the way you think and communicates with others. It shapes your language.</p>
</blockquote>

<p>I still remember this mind-blowing effect when I realized how powerful this simple concept is. That instead of overriding a row in the database, I have to name <strong>in business terms</strong> what just happened (so no to <a href="https://codeopinion.com/crud-sourcing-is-why-your-event-streams-are-bloated/">CRUD-sourcing</a>).</p>

<p>If you think that naming is hard, you will quickly realize how painfully hard it is to name every operation in the system. And that often you simply don’t know why something happens. Or what consequences such actions should have. But thanks to this pain, you will quickly become a person who is not afraid to ask “dumb” questions or start thinking a few steps ahead. You will start noticing when duplication is a pattern to DRY or when it is just similarity that should stay duplicated. That leads to simpler solutions and maintainable systems that are more flexible and easier to change.</p>

<p>It’s a win for business and for you.</p>

<p><small>Of course, just the fact you use events does not mean you have to use event sourcing. However, event sourcing pushes you for real business naming, so it a has bigger impact.</small></p>
</div></content>
    <id>https://dudulski.pl/2025/11/23/when-es-clicked</id>
    <link href="https://dudulski.pl/2025/11/23/when-es-clicked"/>
    <title>When Event Sourcing clicked for me</title>
    <updated>2025-11-23T18:30:00+01:00</updated>
    <dc:date>2025-11-23T18:30:00+01:00</dc:date>
  </entry>
  <entry>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Two thoughts from this week</p>

<ol>
  <li>Understanding of good code/architecture will now be evaluated by how well AI can pick it up.</li>
  <li>AI is the new China. Cheap mass production and making it easy to throw away always displace tailored production. Security issues? Nothing new, just think about toys that are eventually banned from the EU market as dangerous for toddlers, materials that should never get in contact with food, things that are broken on first contact, etc.</li>
</ol>

<p>Which reassures me that <a href="https://eventmodeling.org/">Event Modeling</a> with <a href="https://www.jimmybogard.com/vertical-slice-architecture/">Vertical Slices</a> is a perfect choice for years to come:</p>

<ul>
  <li>optimized to parallelize and automate the work</li>
  <li>optimized to throw away parts that are broken or don’t fit the needs</li>
  <li>quality of a part (slice) is less of a problem as they are easy to replace or recreate</li>
  <li>slices are limited to just two standardized types which makes them easy to roll for mass production</li>
  <li>it’s easier to stop chasing opus magnum quality in every single place</li>
  <li>at the same time, chasing for quality in one part will not slow down others as they are fully decoupled</li>
</ul>

<p>Actually, that’s actually more than two thoughts, but AI can’t count and nobody cares.</p>
</div></content>
    <id>https://dudulski.pl/2026/02/14/ai-is-the-new-china</id>
    <link href="https://dudulski.pl/2026/02/14/ai-is-the-new-china"/>
    <title>AI is the new China</title>
    <updated>2026-02-14T18:30:00+01:00</updated>
    <dc:date>2026-02-14T18:30:00+01:00</dc:date>
  </entry>
  <dc:date>2026-02-14T16:19:56.880608+00:00</dc:date>
</feed>