Perceptions in the Software Industry - Some Rambling from my contractor days

February 26th, 2004

Even though the software industry is compared to other service industries, it remains unique. It is unique in its scale, costs and problems.

As a software developer I am often faced with the task of producing a quote for writing and implementation of a software product. This usually takes the form of a web site that is specialized in doing a very unique and singular task. When I offer a quote in the order of $5000 for this site I am faced with expressions of horror. You would think that I am asking for their first born.

The client then tells me that I am overcharging, and that he will get (word “buy” deliberately omitted) a copy of Microsoft FrontPage or any one of a dozen HTML editors and then create it for himself. After a couple of months of letting him try I usually find a web site that does not do what he asked, or no web site (nothing at all), or someone else has done the job. I have learned that these sorts of clients are usually too embarrassed to come back to me, or they end up settling for a less costly solution delivered by the “Hack-a-Web” company.

What should I do? Lower my prices. I have tried this, but it has become increasingly difficult to convince my landlord that they should cut my rent just because I am having trouble getting paid for my software development. Maybe I should ignore the customer’s requirements and tell him what he is going to get. This attitude is what gave the computer industry the stigma on the 70’s and 80’s as a bunch of Nerds telling us (badly) how we should run our business.

These days when I deliver a quote I am squinting, ready for the barrage of complaints about how their entire desktop computer and software together costs less than my software development fees. This is often followed by something derogatory about programmers in general. I used to start explaining the differences between individual software development and shrink-wrap software, noting that if they could have bought shrink-wrap I would have suggested it. I found this to be a waste of time and effort.

More recently I have started itemizing my quotations and breaking them up into programming effort, QA effort, Documentation and Training. This has worked very well since the clients figure that they can save themselves over half the costs if they develop their own documentation and do their own testing. I hear the collective nodding from half the audience. From the other half I am hearing “Danger Will Robinson – Danger!!” This is dangerous, so I must also tell you that I always get a signature that the client is going against my better judgment. These sorts of jobs usually lead to more work anyway (he says with a sly grin).

So are programmers getting worse at QA or is the industry not paying for the QA? You just need to look at the NASA budget and ask yourself, “is industry prepared to pay for software quality or are they going to accept bugs that you can fix later”?

So what is the problem with paying for computer software? I know many people who go to grocery shops and when they take products from the shelves, they expect to pay for those products before they leave the shop. I know the same people are happy to have the computer software written for them, use it, copy it, give it to their friends, make some money on it, copy it again, charge their other friends for a copy, and then completely resent the fact that they are being charged for it.

Is the answer is in tangibility? You don’t mind paying for a car because the car exists in a physical form. That sounds fair, but what about a loaf of bread? That is only tangible for a little while? But then a loaf of bread is much cheaper than a car. Maybe tangibility is the key to charging?

When a software designer successfully creates his program you don’t notice it. He creates a masterpiece of software so that you never even know of its complexity. The software designer succeeds at his job when you do not even notice that your job is being done by software. So there is almost zero tangibility here. Is there a global belief that since I cannot see the software it is not worth anything? Maybe this is the key to the success of Microsoft. More support problems that exists with the software the more it is worth. Can we form a relationship, the more the software costs, the more problems that people will have and therefore raise the visibility and therefore its perceived value? Let’s quietly consider some of the software giants that come with a big price tag. The public has allowed those companies to charge what they like because of the (nightmare) support issues that come with running the software. (cough oracle cough) I am sure that some names come to mind.

So let’s assume that there are some good programmers in the world that are building software to make our life easier. Effectively; the less tangible/visible the software, the more successful the programmer. Then it follows that the more successful the programmer, the poorer the programmer. Hmmm, this does not work, to be good at my job I have to introduce more problems into the software. Is this some sort of conspiracy that I have stumbled on, or is it just the perception issues of the general public?

Hmmm, perception issues… When we ask a contractor come into our house and remodel our bathroom, he will give a price for the completed job. He then goes to work and every day make lots of noise and dust and then comes out of the working space filthy and almost beaten by the pesky bathroom. We praise the contractor to our friends and say “what a good job he is doing”. If he came to work each day in a suit, made no noise or mess and did not get dirty we would be suspicious that he is not working. There is not much opportunity to get dirty or be seen to be working hard when you write software.

With the advent of reality shows we are seeing the “bad contractor” that is taking shortcuts on work. They are producing crummy results and making family life a living hell. These contractors are trying to give the insisting client a “better deal” because apparently Contractor B offered it at that price. The contractor is in a bidding war against a fictitious character that forces him to lower prices. Soon society faces the concept that you cannot do the job that the market is expecting to pay. The Good contractor from the Reality show then comes to the rescue and installs the Best of the best, with highly skilled employees, state of the art equipment and materials that come gold plated. This Good Contractor is now doing TV shows because he is unable to get a job in a market that is so tight and cannot afford him.

So spare a thought for your programmers. They do their job well so that you do not see their work, but are eased through your life by their programming subroutines they have placed in the items that surround you. And give a thought to how these people afford to eat and live.