Presentation on theme: "How to Start Your Own Software Company Tim Cooper SMARTS Pty Ltd (Securities Markets Automated Research, Training and Surveillance) 23rd August 2000 1."— Presentation transcript:
How to Start Your Own Software Company Tim Cooper SMARTS Pty Ltd (Securities Markets Automated Research, Training and Surveillance) 23rd August The SMARTS Story 2. Your skills 3. Meeting Contacts 4. Going after deals 5. Contracts 6. Implementing a project 7. Tim’s SE gems
The SMARTS Story 1995: Tom & I worked for Finance Dept, Sydney Uni doing programming 1995: Prof. Mike Aitken recognised our talents and put them together with an idea he had 1996: Tried to sell to Stock Exchange of Hong Kong 1996: Cut a deal with FMSC 1996: Sold to Russian Central Bank and MICEX and JSX
Your skills The difference between a programmer and a software developer: you are able to... Consult, Integrate, Test, Document, Install MFC, C++, ODBC, OLE, ATL, DNA, COM, CORBA, SQL, Visual C++ Sorry Bill: C, Tcl/Tk, RCS, Shell
Finding Contacts Ask around, invite yourself to meet people, friends’ dads, colleagues at first job Either have a plan, or be open to opportunities
Con-men 1. No long-term friends 2. Insists on everything up-front 3. Has address on Gold Coast The Tony X experience ‘Partner’ was not a con-man, but was self- serving Contract stated ‘a share of net profit’ Relationship soured
Going after deals Big Business: RFI, RFP, Proposal, Contract, Requirements document Dilemma: Build a system up front in the hope of finding a customer, or find a customer and make it to their specifications?
BT: Lost, because we were nobodies and weren’t on the same wavelength SIS: Lost, because not established Shanghai: Won, by bluff JSX: Won, right place at the right time RCB: Won, because we were sueable CSFB: Won, because we had a system ready Nasdaq: Lost, by politics
Contracts Don’t try to do it as a rank amateur Don’t be overawed If you write it in your own words, and it’s short, it will be okay
CMA: Who writes the gateway? Istanbul: burnt! The $90,000 contract
Implementing a project Requirements document Iterations Deliverables and ‘signing off’ Good cop on site, bad cop at home Generic software: config files, mini-syntaxes, 4GL languages The SMARTS model vs the ASTS model
1. Separability 2. Out-of-control modules 3. Code re-use: overrated 4. Star programmers vs medium programmers 5. The CPU model 6. Asymptotically approach perfection Tim’s Software Engineering Gems Don’t try to load-balance, largest possible chunks, look for natural divisions Think of the effort of learning, interfacing, customising More structure for medium programmers, more creativity for star programmers; the ‘maximum capacity’ theory Rewrite!