For the benefit of all you young developers out there who are being steered into a life of developing useful and valuable software I'd though offer a few hints and tips on slowing thing down a bit for your customers to increase support revenue:
  • Make error messages cryptic or generic e.g. "Error writing file"
  • Do not document the underlying architecture, diagnostic features or data formats
  • Make sure that products require significant setup after installation or, better still, each time they used in a new project (excellent way to increase consulting revenue)
  • Make the product appear flexible and powerful by doing the same thing different ways in various places