Email: fountainb@iprimus.com.au
Address: 12 Ballater Heights Bibra Lake Western Australia 6163
Telephone: (08) 9256 0083 (Work) (08) 9494 1604 (Home)
Age: 37
Date of Birth: 03-May-1967
Nationality: Australian
Interests: sailing,
boat building
BSc(IT), C, C++, Visual C++, gcc, Ada, Unix, NT, Win2K, GUI, Qt, CORBA, Orbix, ORBacus, omniORB, Distributed Systems, OOA/OOD/OOP, UML, Rational Rose, Enterprise Architect, Safety Critical, Network Management Systems, Incident Management Systems, Rail, PABX, Shell Scripts, SQL, CVS, Testing, Training, 15 years experience
Bachelor of Science (Information Technology):
University of WA, 1993
Introduction to C++: WEA, 1995
Building Distributed Applications with Orbix and CORBA:
Iona, 1997
Object-Oriented Analysis and Design Using UML:
OOPL, 1998
Object-Oriented Programming Using Java:
Basser Department of Computer Science,
University of Sydney, 1998
Managing Projects More Effectively: Access Project Management, 2000
Object-Oriented Analysis & Design using UML: Lonsdale Systems, 2000
I have been programming in C on Unix platforms for 15 years
I have been developing C++ code for nine years on both Unix (gcc on Solaris and Linux) and NT/Win2K (Visual C++)
I have 12 months experience programming in Ada (gnat/linux)
I was the team lead for distributed methodologies at NEC. I have used the Orbix, ORBacus and omniORB ORBs, making use of DII, DynAny, interface repository, and the naming, notification and event services
I have also used CORBA extensively at Mi Services (Ripple Systems)
In 1998 I completed a 10wk (30hr) course in Java programming but have not had the opportunity to use Java commercially
At Union Switch and Signal I have been a key design resource on several projects. For recent projects we have used the Enterprise Architect UML CASE tool, a cheaper (but quite powerful) alternative to Rational Rose. On my current project I am the only resource, responsible for analysis, design, implementation and testing. I am making use of the round-trip code generation features of EE and all analysis and design documentation is generated from the model. At Mi Services I worked on two major projects. On the second project (Perth Traffic Control System) I was responsible for all the high-level software design and much of the detailed design work, providing technical guidance for up to 15 engineers
I played a key role in the analysis and design of a distributed PABX management system for NEC Australia using the Rational Rose CASE tool
I have been using Unix (HP-UX, SunOS, Solaris, SCO, Linux) for 14 years. I am not a system administrator but I have a good understanding of the operating system from a developer's perspective. I have taught several courses in Unix through TAFE
I have programmed using Visual C++ under NT and Win2000 for about seven years
I am experienced at writing Bourne/Bash shell scripts and familiar with most Unix tools and utilities
I have used the Ingres, SqlServer and Oracle RDBMS. I have good SQL skills, have written embedded SQL programs, and used the MFC ODBC classes. I have not used any of the 4GLs associated with the major databases
While at Comsys I spent a solid 10 months in system testing and developed many of the testing methodologies used. Since then I have regularly been required to perform system testing
During my time with Comsys I worked on achieving AS3901 (ISO9001) QA. I have been trained as a QA Auditor
I have been responsible for producing various internal and external documents and I developed the documentation standards at Comsys. I can use the FrameMaker desktop publishing package and I have taught documentation courses at TAFE
In addition to the courses I have taught at TAFE I prepared and presented customer training courses while at Scitec and NEC. I delivered several technical courses and presentations in-house while at Mi Services (Ripple Systems) and Union Switch and Signal
Senior Software Engineer. I have been working at Union Switch and Signal (a subsidiary of Ansaldo Signal) since January 2002. During 2002 and for much of 2003 I worked on developing a radio-based control system for the Kuala Lumpur Monorail system. The product is an embedded device which provides a bridge between the conventional interlocking device and the on-board train controller. It makes use of many safety-critical techniques, including software redundancy - all messages are processed and generated by two separate libraries. If the outputs from these libraries differ then the device halts. The libraries were written by separate teams, with one library written in C and the other in Ada. I was assigned to the Ada team.
Since then I have been assigned various tasks related to the maintenance and enhancement of TDPro Train Control System which has been deployed throughout Australia. This system runs on the Windows NT, 2000 and XP operating systems. Earlier this year I wrote a CAD tool for designing the configuration database used for the TCS. This tool replaces a legacy application and most importantly it is completely WYSIWIG (What You See Is What You Get) - it makes use of the same display code as the TCS, allowing the database designer to develop the layout and interlocking logic much faster than with the original tool. Normal CAD features have been implemented - drag-and-drop, cut-and-paste, snap-to-grid etc.
Senior Software Engineer. While at Mi Services Group (previously Motherwell Information Services, now Ripple Systems) I worked on two projects. The first involved development of a graphical configuration management system for a mass transit system using MFC.
The second project involved development of a complete Incident Management System for the Perth and Adelaide Traffic Control Centres. This large project involved the integration of several disparate systems into a single operator interface for control of devices (cameras, signs etc) and handling of alarms. I played a key role in the design and implementation of this system.
The traffic control system was built around a CORBA framework, using the omniORB ORB.
Our development environment included Solaris, NT, Visual C++, GNU gcc, UML, CVS (source code control), gnats (bug tracking) and Oracle.
Since leaving Mi Services I believe that they have sold several further systems which make use of the framework I developed and they are achieving considerable reuse of software on these projects.
Senior Software Engineer. In July 1996 NEC purchased the intellectual property and the entire development team for the NMS project I was working on for Scitec and I was re-employed by NEC on a six month contract. This contract was extended several times.
My first project on starting with NEC involved development of a CORBA interface to the NMS using the Orbix and ORBacus ORBs with a C++ language mapping.
My major project was a local PABX agent using CORBA (ORBacus), NT, SqlServer and Visual C++. Our development environment included HP-UX, Solaris, NT, VC++, Rational Rose, Rational Clearcase, SqlServer.
Parttime Lecturer. During 1997 I taught evening classes in "Introductory Unix", "Documentation for Programmers", "User Documentation" and a C programming tutorial.
Senior Software Engineer. I was initially employed by Scitec on a six month contract which was later extended to 18 months. Scitec was contracted to deliver a Network Management System (NMS) to NEC to allow management of PABX configuration and alarm handling. I was responsible for the analysis, design and implementation of the user interface for the configuration management component of the system. The user interface was developed using an in-house 4GL which ran under Unix/X11.
Parttime Lecturer. I Taught a one semester introductory Unix course at nightschool
Software Engineer. During the four and a half years I was with Comsys I was involved in most stages of the project lifecycle including analysis, functional specification, implementation, documentation, integration and system testing, maintenance and quality assurance.
Comsys specialised in Telecommunications Network Management Systems (TNMS), although they also delivered a number of products to Western Australian mining companies. I was involved in two Laboratory Information Management Systems (LIMS) and three TNMS. Projects at Comsys typically involved teams of 6 to 20 staff and were between 6 and 12 months in duration.