Writing

Feed Software, technology, sysadmin war stories, and more.

Saturday, July 21, 2012

Pragmatism as an impediment to creation

I'm a big fan of pragmatism, but I'm beginning to think that it can have some negative outcomes. It all depends on how you look at software development relative to the apparent audience and what you feel about "spec" projects -- one that's done without an obvious user or buyer in mind.

I have no shortage of ideas for things which could exist. Many of them could be implemented with software. However, because I personally have no use for them, nothing happens. Likewise, unless someone comes to me and says that they're having a problem where that would be the solution, nothing happens.

With development out of the picture, the most which can become of such an idea is that it turns into a post here. This isn't the end of the world, since it still means it gets put on the record as existing as of a certain date, and it can serve to inspire others. Also, the act of fleshing it out enough to stand as its own post frequently captures a bunch of details I might otherwise forget.

Ultimately, it means I don't chase after an idea unless it's going to do something for me or for someone or something I care about in one way or another. Without that element of caring, I just can't get into a project, and it probably won't go anywhere. I've tried to brute-force my way around it by just working on a "spec" project anyway, and it inevitably stalls out.

This only applies to stuff I am doing totally in a vacuum. If it's something at work, or something for a friend, or a family member, or maybe just to help some random person on IRC, the spark is there. It's not even correlated to money, really, since a lot of these projects happen without any compensation.

It goes a little like this: let's say I have an idea for a small tool which will help someone visualize CIDR notation for IP routing and subnet calculations. If my assessment of a situation is that such a tool will help a friend learn more about networking and have an easier time reconfiguring his office, that'll probably get me going.

Now, take that same idea for the same tool and have it pop into my head completely disconnected from any use case involving my friend. Odds are, it'll end up as a one-liner in my huge pile of ideas and will never see the light of day.

What this all means is that a great many things will never be written because I can't make the connection between them and actual people. It's not that I don't have the energy or time to do it, because I usually have both. It's not a lack of skills, either. It's just the lack of humanity.

So, if you want me to hack on something for you, make sure I understand what the problem is and why it's bothering you. The rest should just happen organically. That's what I do: real solutions for real problems affecting real people.

I bet life is rather different for people without this filter. I wonder what that's like.