Document Sample
					Sholto Douglas - Curriculum Vitae (as of September 2009)
Full name Address E-mail Web site Telephone Place of Birth Nationality Education Foreign Languages : Sholto Lenox Gore DOUGLAS : 110/41 Rocklands Road, Wollstonecraft, NSW 2065, Australia : : : : : : : : : : (check for availability details & latest CV) +61 (0)2 9966 1780 (home), 0412 292 169 (mobile) Dar-es-Salaam, Tanzania British and Australian citizenship 8 "O" Levels, 2 "A" Levels (in UK), Master of Science in Computer Science (University of Wales, 1991) German to "Zertifikat Deutsch als Fremdsprache" (Certificate of German as a Foreign Language) from the Goethe-Institut, Sydney. I worked in Germany & Austria for 18 months.

Résumé of relevant skills, and competency
Software Languages C/C++ C# / .NET Java Visual Basic PERL Assembler Operating systems Windows XP/Vista UNIX Database XML SQL Oracle Informix SQL Server ADO.NET SQLite Object Oriented MFC Visual Control Library Rational Rose Enterprise Architect UML COM Comms TCP FTP / HTTP Internet ASP JavaScript/VBScript Details/comments 12 years C++, 6 years C - Visual C++ (versions 1 to 7), Borland C++ Builder (versions 1 to 6), Borland C++, GNU C++ Mostly with WinForms J2SE, Borland JBuilder 6, SDK v1.4, Swing Versions 3 to 5 Intel - Microsoft MASM, Borland TASM Main OS for last few years Linux, Solaris, FreeBSD, Xenix Skill out of 10

9 8 5 4 4 5 9 6 8 6 7 4 6 7 8 7 8 4 6 7 6 7 6 3 4

On Oracle/Informix/SQL Server/Tandem/SQLite Stored procedures, Toad, SQL Developer Including ESQL Including Stored Procedures, up to 2005 Used with Oracle With C++ Builder

Used with Borland C++ Builder Booch Methodology tool. Last used in 1996 Poor man’s Rational Rose. Unified Modelling Language No DCOM experience With C# and Java With C++

Work history in IT
Jan 1983 – June 1998 Worked in UK, Germany, Austria and Australia as an analyst programmer in commercial, industrial, advertising, simulation, defence and RS-232/comms applications, using:C++, C, Assembler, Pascal, and COBOL, under UNIX, MS-DOS, CP/M, Windows 3.x/NT During this period I obtained a Master of Science degree in Computer Science from the University of Wales (1989-91). My main project involved a RS-232 link between a PC and a Sun (written in

Curriculum Vitae of Sholto Douglas (cont.)
Assembler and C), enabling the PC to emulate a terminal. I designed the protocol for transferring files between the two. I migrated to Australia in April 1992.


Curriculum Vitae of Sholto Douglas (cont.)
Sept 2008 - present Software / Environment : : Working for Metropolis Inc, USA (working from Aus) C++ Builder (v6), Windows Vista, SQLite, call monitoring software

I had worked for Metropolis briefly in 2002-3. They produce OfficeWatch, a popular phone call monitoring system that enables hotels to bill their guests for calls, and businesses to see who called whom, and when. It interfaces with PBX’s to extract call usage data. I have implemented a new database (SQLite) because their previous one (BDE) was hitting volume constraints. I wrote COM-style classes that allow SQLite to be called via a generic interface, which will allow them, if they wish, to move to another database later without changing their main application. I have greatly improved the referential integrity of their data, and updated the GUI look and feel, including a web interface. Aug - Sept 2008 : Working on shareware program being sold on the Internet Software / Environment : Borland C++ Builder (v6), Windows XP/Vista While awaiting new work I added enhancements to an existing shareware program I am selling on the Internet. The program is similar to Google Desktop, aimed at software developers and web designers. I started on the product in 2000, and over the years, when time permits, I have added functionality. Mar 2008 – Aug 2008 Software / Environment : : Contract Software Developer at Commonwealth Bank, Sydney C#, Windows XP, .NET 2, Winforms, Smart Client, Oracle SQL Developer

Commonwealth Bank is one of Australia’s biggest banks. After a period of bug-fixing, I worked on a project to introduce a new debit card. This involved writing a Smart Part (or WinPart) to display current information about an account and to allow user to update it. I also wrote most of the code for the enclosing WorkSpace, obtaining initialisation data from Oracle and the mainframe. Dec 2007 – Mar 2008 Software / Environment : : Contract Software Engineer at Clarity, North Sydney C#, Windows XP, .NET 2, Windows Forms (Winforms), GDI+

Clarity write telecoms software. I worked on completing a project left unfinished by a previous developer. This involved implementing missing functionality and responding to bug reports from customers currently using the beta version. The application is a network diagrammer which displays networking infrastructure on Google geographical maps, allowing the user to double-click on sites to drill down to individual network elements in those sites, and within the elements, down to sub-components such as cards. July – Nov 2007 Software / Environment : : Contract Software Engineer at ING, Sydney C#, Windows XP, Winforms, MS Enterprise Library, SQL Server 2005

ING is a large financial/insurance group. I worked in the business technology group on a project for employer superannuation. I arrived at the end of the project so worked on small tidying up tasks, such as modifying stored procedures (using SQL Server Management Studio and T-SQL). Among other work, I wrote the logging for the entire project, using the logging block of Microsoft Enterprise Library (v3.1), such that it could be configured via an XML config file (without rebuilding the source) to send log messages to various listeners, e.g. the event viewer, log files, the database, or emails. In Oct 2007 the project for which I was earmarked was canned, and all contractors were dismissed. Apr 2005 – June 2007 Software / Environment : : Contract Software Engineer at Optus, Sydney C#, Windows XP, Windows Forms (Winforms), C++ (VC++ & UNIX C++), UNIX, IIS, 2-way SSL, ADO.NET, Visual Studio 2005, Oracle, SQL, TOAD

Optus is Australia’s second largest telephone company/ISP. I have been working on several projects, including:   Integrating a C# front-end with a Tuxedo middleware system on a UNIX box. My work was mostly writing DLLs to connect the GUI to Tuxedo. This involved C#, as well as managed and unmanaged VC++. A C# adaptor between an Optus web service and resellers wishing to use that service. The reseller inputs flat files (in XPath format). My adaptor converts each file to XML and transmits it to the service using SOAP (with document/literal encoding). The web service response is re-converted back to XPath and sent to the reseller. Additionally, a listener DLL is connected to MS Internet Information Services (IIS) to await asynchronous messages from the web service. These arrive as XML, and are converted to XPath and sent to the reseller. The HTTP uses 2-way SSL, requiring both parties to use certificates and public/private keys. Maintaining and enhancing an existing system (with a C# client, and C++/UNIX server). I worked on both ends. Two database programs used to maintain user access to the various Optus systems, and to sensitive customer information. These used ADO.NET and data binding between the controls and the Oracle database. I wrote and enhanced the stored procedures. I took these from initial design through to customer acceptance.

 

Nov 2003 – March 2005 : Software Engineer at CyTrack Telecommunications, Queensland Software / Environment : Telephony, using C#, .NET, Windows XP, TCP, XML, WinForms, UML, GDI+ CyTrack write telephony software for call centres. I wrote their new .NET-based client system to allow operators to take, make, hold, and transfer phone calls using a PC and headset. The main features included:  All data between the client and server was in XML format.  Data transmission was via TCP using the .NET TCP and Socket classes, employing asynchronous reads. Incoming data automatically updated the client front-end.  Multi-threading – the GUI and the data download/processing ran in separate threads.  It could integrate with various Customer Relation Management (CRM) packages, such as GoldMine, to automatically pop up customer details at the start of a call, to make phone calls from within the CRM, and to log the call in the CRM.


Curriculum Vitae of Sholto Douglas (cont.)
    
It optionally recorded phone calls into WAV or MP3 files. It frequently called OCXs and the underlying Windows API for functionality that was unavailable in .NET. The main window had the appearance of MS Messenger, with tabs to display different data. The program achieved Microsoft Designed for Windows XP certification. I also wrote a test TCP server to simulate the PABX. It gave me greater control over the XML stream, allowing me for example to send invalid XML to test the client’s error handling, or to send consistent data as required by the Consistency Verification Test in the above Microsoft certification. : : Contract Software Engineer at Department of Veterans Affairs, Canberra Visual C++ v7, MFC, Windows 2000

Mar 2003 – Oct 2003 Software / Environment

I was bug-fixing and enhancing the software used by this Australian Government department to provide services and compensation to ex-service personnel. I also wrote a parser program to analyse the source code and identify inefficiencies and duplicated code and variables in order to extend the lifetime of the program. Dec 2002 – Mar 2003 Software / Environment : : Contract software engineer for Metropolis Inc, USA (worked from Aus) C#, .NET, Windows XP, TCP

After ActiveSky collapsed, I took the opportunity to learn C#, completing 3 Microsoft courses in C# / .N ET. Metropolis, based in San Diego, California, write software to monitor and provide billing for telephone use by hotel guests. They were contemplating moving from C++ to C#/.NET. I wrote a proof-of-concept program for them involving a TCP server and client to emulate their call monitoring software. I had previously worked with their Chief Technology Officer. I also worked part-time on this while at my next contract (at Dept Veterans Affairs, above). Oct 2001 – Nov 2002 : Software engineer at ActiveSky Inc, Gold Coast, Australia Software / Environment : Java, C++, Windows 2000, Linux, CVS, XML (SVG), UML, shell scripts Application : Provision and transmission of content to 3G mobile phones & PDA’s. ActiveSky write software to give an ‘Internet experience’ on wireless devices, using their proprietary file format (SkyFile). Most of my work was in Java (Borland JBuilder v6, SDK 1.4, J2SE). The work included: 1. A software monitor in two parts – a server part to interrogate the main application running on the server (usually under Linux/Solaris), and a client part to sit on a manager’s PC (usually Windows). The client was a Swing based multi-threaded Java applet that could make an HTTP call to any specified server via its IP address and interrogate the server for statistics, such as the number of users currently logged on. It could keep limited historical data such as min/max stats for the previous 24 hours. The data could then be displayed graphically in the applet. The project was designed with UML using Enterprise Architect. 2. A Swing-based plug-in to render and view SVG documents using a tabbed pane. 3. I wrote Makefiles & shell scripts to build and run the all their projects under both Windows and Linux. 4. In Nov 2002, ActiveSky failed to raise further venture capital and downsized dramatically. I was a casualty. Mar 2001 – Oct 2001 : Contract software engineer at Mytek Ltd, Sydney, Australia Software / Environment : Visual C++ v6.0, MFC, Windows ME/2000, COM, FTP, HTTP Application : PC system interrogation Mytek are a subscriber-based company who provide 24-hour telephone support to PC users. I wrote the software to run on their customers’ PCs (all Windows versions). It consisted of an MFC-based GUI executable and two COM DLLs. The first DLL interrogated the client’s PC for its hardware and software details. These were passed to the second COM DLL that contained my own FTP/HTTP classes to transfer this file to the Mytek server. Mytek engineers could then use that file to help analyse any problems reported by the user. Oct 2000 – Mar 2001 : Contract software engineer at Clarity International, Sydney, Australia Software / Environment : Visual C++ v6.0, MFC, GNU C++, Oracle, Windows 2000, UNIX (Solaris). Application : Telecoms software Clarity write a full range of UNIX-based software for telecommunications companies, from interfacing with the network elements right up to presenting graphical statistics on a Windows PC. I had two projects at Clarity. The first was working with UNIX and GNU C++ to aggregate messages from various device drivers and insert the relevant data into an Oracle database. The second (using Visual C++/MFC) was to extract this data from the database and display it in a graph, highlighting records that exceeded user-specified thresholds. Oct 1999 – Oct 2000 Software / Environment Application : : : Contract software engineer at Amicus, Sydney, Australia Visual C++ v6.0, C, Windows API, under Windows NT/98/95. Desktop access to Internet

Amicus specialise in writing dashboard-style controls such as toolbars and taskbars that sit on the user’s desktop to provide one-click access to various services, eg mail/news/selected URL’s. I produced a sliding appbar (similar to the Windows taskbar). With this the user could select different toolbars. Each toolbar contains a series of bitmap buttons that activate URLs/Internet sites catering for various interests – e.g. for anglers, or teenage girls. The ISPs can build toolbars to suit their customers’ interests. My code on the client PC automatically polled the server to download new or updated toolbars. This product was used by Telstra for their Big Pond customers. June 1998 – end Sept 1999 Software / Environment Contract software engineer at Telstra, Sydney, Australia Visual C++ v6.0, SQL Server v6.5, ActiveX Data Objects (ADO), PERL, Visual Interdev, Active Server Pages (ASP), JavaScript, VBScript I was the lead developer in the Big Pond Satellite project, a satellite-based Internet service designed to overcome the problems of poor landline access to the Internet in the remoter parts of Australia. Telstra had teamed up with Hughes : :


Curriculum Vitae of Sholto Douglas (cont.)
Corporation (who supplied the satellite) and Ericsson (who supplied the ground infrastructure). I designed and wrote a C++ system that acted as the interface between Ericsson and Telstra, and which controlled the processing on the Telstra side, back-ending to the database.


Shared By: