How to set up and run a successful software / web development company