120 likes | 342 Vues
Tim Cooper SMARTS Pty Ltd (Securities Markets Automated Research, Training and Surveillance) 23rd August 2000. 1. The SMARTS Story 2. Your skills 3. Meeting Contacts 4. Going after deals 5. Contracts 6. Implementing a project 7. Tim’s SE gems. How to Start Your Own Software Company.
E N D
Tim Cooper SMARTS Pty Ltd (Securities Markets Automated Research, Training and Surveillance) 23rd August 2000 1. The SMARTS Story 2. Your skills 3. Meeting Contacts 4. Going after deals 5. Contracts 6. Implementing a project 7. Tim’s SE gems How to Start Your Own Software Company
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
Tim’s Software Engineering Gems 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 Don’t try to load-balance, largest possible chunks, look for natural divisions Rewrite! Think of the effort of learning, interfacing, customising More structure for medium programmers, more creativity for star programmers; the ‘maximum capacity’ theory