Subscribe to Stuck in an Infiniteloop        RSS Feed


Icon Leave Comment
I have been programming professionally for over six years. All of it has been in the government contracting space. It wears on you after a while. Itís not the fact that your tech stack could be out of date by years or people that are retired in place. Itís not that you have ďtestersĒ that donít know what a Linux terminal is. Itís not the fact that the idea of a bug tracker is anathema or the notion of fixing bugs before writing new code is a foreign concept. Itís shelfware.

Are you familiar with the good idea fairy? The good idea fairy is an individual who doesnít actual contribute in any meaningful sense, but has ďgreat ideasĒ. The sentence always begins with ďit would be great if...Ē. Leaders should have vision. Leaders should have goals. Good idea fairies have neither. A good leader will identify their producers and say here is the requirement, go forth, and come back to me when it is done. Having an idea is free. You see this all the time on the internet. ďGuys, I have the greatest idea, I just need you to implement it. Also I donít have any money.Ē

Good idea faries and shelfware are inextricable. The idea by itself is pointless. Who is going to use it? Who is asking for this software? If no one is asking for it, why build it? There is plenty of other things to spend time on. The line is thin. Innovation is just on the other side of working on things no one wants. Henry Ford once said if I asked people what they wanted, they would have asked for a faster horse.

The trick is to be able to decipher when the request is going to be shelfware. I have had over half a decade to perfect my skills. The question you must ask is why? Why does this need to exist? I have heard that great software or new programming languages all began with a personal itch the creator had. There was a need and it was filled. Look around in the cloud space, the start up community, web 2.0-esque, etcÖ A great deal of these companies are solutions in search of a problem. Philosophically speaking, why do anything? Iím not qualified to answer that, but I do know that I (and by extension programmers) need to have a purpose to the work. I would rather do nothing than work on something that is going to gather dust or is an exercise in mental masturbation.

I have been on both ends of the requirements spectrum. On one side, years of requirements gathering and generation in a large organization where no unilateral command authority existed. Death by committee, if there was ever a slogan to aptly describe the circus. And now on the other, people just doing whatever the hell they want. Some middle ground please.

Shelfware exists when there is not rapid prototyping and immediate usage/testing of a product, feature, or service. Get something in operation and refine from there. You get actual feedback from gasp users! There is a reason industry has largely moved away from strict waterfall development. We canít know what we donít know: a known unknown courtesy of Rumsfeld.

This is the part of the blog post where I provide the solution for this problem. It pains me to say there is no solution. The code equivalent of running in a hamster wheel will continue to be written and solutions will strive to find problems. In practice, existential nihilism towards software doesnít produce anything of value, so the choices are despair or invention of meaning. The latter being where shelfware springs into existence. Always ask: why? That is the defense against the onslaught of pointlessness.

0 Comments On This Entry


November 2020

222324252627 28


    Recent Entries

    Recent Comments

    Search My Blog

    5 user(s) viewing

    5 Guests
    0 member(s)
    0 anonymous member(s)