Mar 2000 - present: Managing director of Object Craft Pty Ltd
Object Craft is a small consulting company focussed on delivering quality programming solutions to a range of business areas. The company has found itself working in the financial markets area on projects such as data conversion, internet connectivity solutions between existing back-office applications and web interface front-ends, delivering custom web applications, and a range of other work.
Specific projects that I've worked on are:
- Format conversion of contract notes from an encoded printer output from a legacy system to FormTrap input so the data could be loaded into one of their reporting systems (BBY Ltd),
- On-line access to managed funds accounts held on a back office system (BBL Funds Management Ltd),
- Support and development for Pacific Access/Sensis's White Pages and Yellow Pages on-line applications (Sensis),
- Console-based interface to warehouse energy management system on custom Linux-based device (EnvEnergy),
- Hybrid Mail system routing and managing documents electronically developed (PrintSoft/Australia Post),
- On-line chemical inventory and provenance system (Boron Molecular),
- Mac OS X front end to display school timetabling information (Timetabling Solutions),
- iPhone app called CashForecaster which lets users chart their cash flow,
- Mac OS X version of CashForecaster,
- Mac OS X app to display and edit CSV files CSVEdit, and
- Network and device monitoring, reporting and visualisation of network and device status in their internal web-based application (Nextgen Networks).
Task: Senior developer and managing director.
PostgreSQL, MongoDB, React,
MacOS X, Unix, Linux, Open Solaris, Solaris, SunOS,
financial markets, internet application design.
Oct 1997 - Apr 2000: Senior Programmer at ITGA Limited
ITG Australia is a stockbroker dealing with corporate clients and specialising in low impact trading. I started working at ITGA as a system administrator while their senior administrator took a long vacation, I stayed and took a permanent position as a senior developer. The main tasks I undertook were the development of interfaces between disparate systems internally and externally to support trading and reconciliation between them. I redeployed an order routing system called glue developed within ITG Inc, ITGA's US parent company. I had to develop parts of the communication system to talk to proprietary Australian systems and integrate glue with ITGA's existing broking systems. I also implemented analysis of trading history using applications written in Python, systems maintenance, and extensive mentoring and code reviews with the other programmers.
Task: Senior developer.
Skills: Python, C++, perl, Solaris, SunOS, mentoring, financial markets, stock market trading communication systems.
May 1995 - Sep 1997: Senior Research and Development Engineer at Connect.com.au
My role within connect.com.au moved to more closely focussed role in R&D. I developed, deployed and supported on products and services that provided low level infrastructure support for the company's internet service business. These included maintaining and enhancing the company's mail system (using IDA sendmail which I also maintained), implementation and deployment of Merit's RADIUS servers throughout the company for connect's dial up offering, conversion of servers to use RADIUS for authentication, and integration of RADIUS logging into the billing system.
Task: Senior developer within connect.com.au's research and development group.
Skills: Internet programming, internet systems development and deployment.
Sep 1992 - May 1995: Technical Director at Connect.com.au
As one of the founders of connect.com.au P/L, I was responsible for the planning, implementation, installation and maintenance of the software systems required for the support of Internet services provided by the company. I was also heavily involved in R&D activities within the company which continue to expand. I also acted as the Sydney office manager during this time.
Task: Build, enhance, deploy and support nationwide internet service, Sales, Customer support, Develop internet software systems capable of scaling to meet growth demands.
Skills: Business management, internet infrastructure, internet programming, billing, customer service.
Apr 1988 - Aug 1993: Senior R&D Engineer at Pyramid Technology
Supported all of Pyramid's C, Pascal, Fortran and Cobol compilers both on their proprietary 9000 series architecture and on the MIPS RISC chipset. I also spent eighteen months attached to the Australasian pre-sales group and worked on several benchmarks on in Korea and California.
Projects during this time included:
- Extensive redesign and reengineering of Pyramid's C compiler to support ANSI C.
- Implementation of numerous extensions to Cobol for customer needs, benchmark requests, and for standard conformance.
- Significant restructuring of the Fortran compiler and runtime library for both standard compliance and performance.
- Bug fixing.
- Involved in Pyramid's participation in the ANSI X3J11 C standardisation process.
Task: Compiler engineer for Fortran, ANSI C and Cobol compilers.
Skills: Compiler internals, language standardisation, system performance, customer liason, standards compliance.
Jun 1987 - Apr 1988: Consultant for Olivetti SpA in Ivrea, Italy.
I worked on the networking side of ODSS, the Olivetti Department Store System, which was jointly developed with Logica. My part in the project called was to develop the interface and networking code to connect the cash registers to the main machine using AT&T's TLI over Starlan. Development work was on Olivetti's M600 series machines which was under development at that time.
Task: Build and enhance network interface between an on-line cash register system and a Unix stock database.
Skills: Starlan networking, System V Unix, network debugging, Italian.
Jan 1986 - Jun 1987: Pre- and Post-sales support at Pyramid Technology
All the normal stuff that goes with pre- and post-sales support: benchmarks, porting projects, upgrades, performance analysis, customer hand-holding, tender responses.
Task: Support sales team while bidding for cantracts and support the installed base of customers.
Skills: Benchmarking, customer support, networking.
Dec 1984 - Nov 1985: Programmer and system manager at Xenotron Australia.
This work included:
- System administration and programming for PDP-11 Unix and Xenix. As
- File server implementation to transmit stories between a proprietary text layout terminal and host system. System went into production at The Straits Times in Singapore.
- Miscellaneous programming under VMS.
Task: Application development for products in the computer phototypsetting industry.
Skills: Typsetting systems, application programming, system administration.
Dec 1983 - Feb 1984: Part-time work at Melbourne University
CGSS, the code generator synthesis system, was a huge program written in Cyber Pascal which would generate a code generator for a compiler by reading an intermediate language to machine language mapping which would generate correct code at high speed. The program was largely commented in German. This was a prelude to my honours studies into code generator generators.
Task: Porting CGSS from the University of Karlsruhe from Cyber Pascal to Berkeley Pascal on a Perkin-Elmer 32/40 running Unix.
Skills: Cyber Pascal, understanding and debugging large applications.
Jun 1983 - Nov 1983: Part time work for Melbourne University
Draw allowed circuit designers to create and edit VLSI circuits using a Tectronix storage display. This was being used by some of the researchers within the computer science department who needed some bug fixes and enhancements made to application.
Task: Porting and enhancing a circuit design package called draw on the P-E 32/40.
Skills: Large application support and enhancement.
Nov 1982 - Feb 1983: Programmer at IP Sharp Associates
IP Sharp Associates provided historic market to the investment industry using computers located in Toronto coupled to huge disk arrays. All programming was in APL.
Task: Extract data from historical stock market database and generating graphs and/or performing numerical analysis promptly and according to the customers' needs.
Skills: APL, stock market, customer support.