+title: The pragmatic tar pit
+tagline: about undeliverable products
+In this post I'm going to talk about something, that has been on my mind for some time now, but
+I wasn't yet able to express myself. I hope I succeed in doing so with this blog post.
+Let me start with this statement:
+<h2 class="statement">"I'm sick of the pragmatism dogma"</h2>
+And I mean it. Let me clarify what I mean. When I speak of pragmatism I mean the attitude
+that is derived from the movement of the [pragmatic programmers](https://en.wikipedia.org/wiki/The_Pragmatic_Programmer) or rather what some people make of it.
+The basic ideas are valuable to every programmer and have brought us techniques and manifestations such as [Agile](https://en.wikipedia.org/wiki/Agile_software_development),
+[TDD](https://en.wikipedia.org/wiki/Test-driven_development),[BDD](https://en.wikipedia.org/wiki/Behavior-driven_development), you name it.
+Let me continue with the following confession
+<h2 class="statement">"I strive to be a pragmatic programmer"</h2>
+That means, I acknowledge that their ideas are valuable and make me as a programmer more productive
+and possibly (hopefully) happier. At its core their techniques are all about maximizing the programmer's productivity and also maximizing the overall quality of
+the code that is delivered as the product of our work. A pragmatic programmer is self-aware and reflects on what he/she does, constantly analyzing and improving
+the ways of doing things. This mindset is very much in alignment with that of the early hackers:
+* don't be afraid to fail, but also make sure that you learn from your failures
+I'm pretty sure, you're nodding while you read this, as this attitude is obviously valuable and keeps us progressing.
+So what's wrong with it? And the answer is: "Nothing". But that is not the mindset I'm experiencing these days from
+people in the pragmatic programmers guild.
+That's why I've chosen the word "Dogma". Wikipedia defines dogma as follows:
+<blockquote><strong>Dogma is the official system of belief or doctrine held by a religion, or a particular group or organization.</strong></blockquote>
+You can not question these rules, you can not change or bend these laws. You must not. At least this what I think, these people tend to think.
+Of course in reality the pragmatic programmer's rules and guidelines are not a dogma.
+I constantly experience that people tend to reduce that mindset to just a bunch of rules, techniques and habits and pair that with an overly strict
+interpretation of "everything you do, has to be as practical and as usable and as marketable as possible" otherwise it's not worth doing it.
+So they're negating the possibility that actions that don't produce any value at all (at least to them) are worthwhile.
+They criticize your work, labeling it useless or invaluable, as it costs too much time, without actually delivering a product, that one can profit from.
+They're almost everywhere, at work, at congresses on the Internet and of course they're eager to spread their superior knowledge.
+Let's suppose that you're building a "totally useless" application, meaning that there is no chance you can turn it into a marketable product. Still you're telling
+about it to one of those *uber-pragmatics*. In fact you have good reasons to do it anyway. You'll learn something and it's going to be fun, also it allows you
+to use that new technology that you are otherwise not allowed to use.
+Anyway those dogmatists will talk down on you, telling you about your utter fail in putting the one and only pragmatic rules to practice. Maybe they'll tell you that you're
+not yet skilled enough to realize that, or that you're Noob and should go and study the pragmatic religion. One day you will be as good as them and you'll start to
+see the only way to be a programmer that's actually worth of being part of their elite circle. I've seen this, I've seen them for example on the IRC in channels
+like #RubyOnRails. And they spread their word unreflected intimidating newcomers or people that just want to talk about their ideas. Thus possibly missing valuable information.
+That's certainly not pragmatic. What they sacrifice here is their opportunity to learn from others, just because they're trapped in their pragmatic tar pit.
+Let me continue with two more statements I want to yell at you:
+<p class="statement">"I don't always want to produce something valuable"</p>
+... for whatever your definition of valuable is.
+<p class="statement">"Heck! If it is fun I sometimes don't care if it's usable at all"</p>
+For me programming is a creative act and sometimes I don't really know where I and up. I'm in the flow
+and things start to assemble. I can tell you that this is the most fun part.
+<p class="statement">"Programming is a form of meditation"</p>
+It allows me to escape the world that is ruled by physics into a world where only my mind is defining what is possible and what is not.
+That's something you lose if you always look for immediate value and take the pragmatic guidelines as a dogma.
+Feel free to do with your time, knowledge, money, computer and life whatever you think or feel is best.
+Stay curious, happy, open-minded, wasteful and strive for elegance.
+Oh and don't be afraid when you realize that you eventually and accidentally find yourself being a true pragmatic programmer.