January 08, 2009

Business plans for hackers

I've noticed that a lot of hackers and other technically capable people have problems understanding the reason for the existence of a business plan. And often fail to realise how hard a task it is to compose a good one.

This post is an attempt to explain business plans in terms of programming languages.

A business plan is just like a program, it's just written in the strange and difficult programming language of psycholgy instead of C++, Lisp or Java. When you write business plans you use a number of classes that are relevant to the task, such as the budgetting and marketing classes. These are relatively trivial to understand compared to the main language.

Psychology is an inherently difficult language to master for several reasons:

  1. Programs written in psychology are run on computers called humans. The inner workings of these computers is poorly understood, and makes it difficult to write programs that work well. Furthermore all of the computers that your program will run on only have certain overall commands and functions in common. Once you get into the lower level programming they all behave differently, so if you need a top-tuned program you will need to write it specifically for one recipient, or at least a subset of recipients such as bankers or angel investors.

  2. Not all human computers have access to all classes, and you do not know if your intended recipient has installed all of the classes you use in your businessplan. You can of course make some deductions - your banker will probably have the budgetting class installed, but you can never be sure. Ideally your program should be written in such a way that any human can run it whether or not he has the classes you use installed.

  3. You can not write directly for the main computer in humans, which is the primary reason that this is the hardest programming language of all. There are no such commands as "invoke joy", or "instill fear" - all programs that you write must go through a filter before they are executed in the main computer. You only have sparse knowledge of how this filter works as you can only observe it indirectly by invoking a command and seeing the result.

  4. Human computers do not fail when you write bad programs, they just get pissed off. This means that there are few absolutes, making it very hard to debug programs. Furthermore you can not measure the failure or success of your program, only observe indirect clues such as facial expressions, voice patterns and word usage to deduct how well your program works. The recipient will often try to hide this from you.

  5. The language has evolved, and there is no single author to describe how it works and what the commands are. Some of the commands are completely useless, and some only work in certain special cases. On top of this the language is continually evolving - there is no guarantee that commands that worked five years ago will still work.

  6. There is no manual, only hints and cases from pshychologists and other social scientists as to which commands invoke what result. Everything is done on a trial and error basis to figure out what works.

  7. The language is non-deterministic, a command may invoke different results depending on usage, recipient, mood and other external factors over which you have no control. Your program will never have the exact same result, even when run on the same computer in a slightlly different setting.

Despite of its shortcomings. and the fact that it takes decades to master, pshychology is a language worth learning simply because it is the only language that humans understand. It's like writing applications that run inside a browser; If you want to do it you have to learn javascript.

If you master it you will not only be able to write good businessplans, but also write other programs that are intended to be deployed on human computers such as writing books, picking up girls, getting friends and all the other social activities that human computers seem to enjoy.

If you made it all the way to the end you must have found it interesting.

Maybe you would want to Subscribe to this blog


Post a Comment

<< Home