Evan McLean – Analyst/Programmer

Summary

As my employment history below shows, I have had the opportunity to learn and use a wide range of technologies in various environments. Below is a brief summary of my skills.

C/C++: Have developed in both C and C++ in a wide variety of environments. These include embedded systems, UNIX and Windows operating systems developing applications such as Internet CGIs, data conversion, web page generation, paging systems, device drivers, learning management systems and protocol simulators.

Java: Developed a revision control system using Java Servlets (Tomcat) to manage the source control and generation of Adobe Flash multimedia files for computer based training software. We-based timesheet entry systems. Heavy use of JDBC and\ RMI and some XML. Also written various command line, swing GUI and Eclipse RCP based utilities.

Internet: Have done lots of web based development, including the Java Servlets based system listed above, CGI programs to provide facilities such as ad-hoc SQL database queries, learning management systems and courseware delivery. Also acted as system administrator for a company web server running Apache HTTP server on Linux.

Client/Server: Developed several applications using PC/Windows 95 clients, and a variety of databases on both NT and UNIX back-end servers.

Databases: Have designed and administered databases for many projects. Responsibilities have included overall database design, optimisation of batch processes and general queries, and trouble-shooting concurrency problems in a multi-user environment. Databases include Oracle, Postgresql, MS SQL Server, MS Access, Sybase SQL Anywhere, Ingres and CodeBase (xBase).

Embedded Systems: Worked for three years developing and enhancing an NEC paging system using a Motorola 68K CPU. Most of the system was written in C, and had to interface with other systems and operations terminals. Debugging would often entail the use of an in-circuit emulator and assembler code.

Delphi: Developed an application with a “wizard-like” interface to prompt employers with simple questions regarding their pay-roll status, and produce completed forms for taxation purposes.

Professional Competencies Summary

Development Tools: Borland C/C++, Unix C/C++, Java JDK, Eclipse, Delphi Compilers, In-Circuit Emulators, OpenUI, VRTX, Cross Compilers

Languages: C++, C, Java, Delphi/Object Pascal, SQL, Oracle PL/SQL, HTML, CSS, XML, Javascript, UNIX Shell Script

Databases: Oracle, Postgresql, Microsoft SQL Server, Microsoft Access, Sybase SQL Anywhere, Ingres, Codebase (xBase)

Operating Systems: Windows 95-XP, UNIX (Linux, Sun OS), Windows 3.1, DOS

Internet Development: Java Servlets (Tomcat), simple PHP, HTML, CSS, XML, Javascript, CGI application development

Employment History

McLean Computer Services

1/3/2005 — Onwards

Available as an independent contractor for internet and software development and support.

Projects I have worked on include:

Recruitment Software Australia — Internet Interface to DebtCon

Developed a web based front-end to an existing contractor management system. This system allowed contractors to enter time sheet information for invoicing purposes, and clients to approve entered time sheets, all online – replacing a manual system involving numerous weekly faxes.

The Internet interface was developed in Java servlets, with heavy use of javascript for validation and user feedback. The application also provides a range of other information including work history and billing details. By providing this information online the company is able to reduce the number of phone enquiries they regularly receive.

Solomon Partnership — Customarketer

Developed a web-based loyalty card management system that collects marketing and sales data from in-store point of sale systems, allowing efficient reporting and management of a “loyalty points” system. Main development was in PHP, with the data upload component running as a scheduled java-based program, communicating over the Internet using HTTPS and XML.

Online Learning Australia Pty. Ltd. — Analysis and Specification for an LMS

Performed analysis of requirements and produced a high-level technical specification and project plan for the development of a web-based Learning Management System for use in hosting company produced courseware to the public.

Datatask Pty. Ltd. — Ongoing Support

Various support and services to assist their business goals. These include Linux server migration, staff training, development of internal development tools and systems development infrastructure design.

HR Anywhere — Timesheets Anywhere Requirements Specification

Developed a requirements specification for a web-based timesheet entry and management system for HR Anyhwere, a Human Resources services company. This document was used as part of the material for a request for tender process.

On Notice Pty. Ltd. — Server Installation and Configuration

Installed and configured two server machines for use in video capture and transcoding. One installation was Fedora Core 4 Linux running MythTV for video capture, the other running CentOS Linux with an Oracle database.

Online Learning Australia Pty. Ltd. — Timesheet Entry System

Developed a web-based timesheet entry system to allow employees and contractors to enter their hours worked against various project tasks. The system had to interface with the business intelligence system to both read available project tasks for billing time against, and inject completed timesheet information back into the project planning systems. It also had to interface with several authentication systems for user login including LDAP.

The entry system was written in PHP, using a heavy amount of dynamic HTML and Javascript to optimize the user interface for efficient data entry. Postgresql was used for RDBMS facilities.

Digerati Pty. Ltd. — The Bake-off

The client required input on re-developing their products in alternative technologies. I was one several developers hired to spend a few weeks in a “Bake-off,” exploring and prototyping with different technologies as a feasibility study.

The main prototype I produced was written using Borland C++ Builder 6, the Firebird RDBMS, and the Mozilla Firefox Active X control instead of the standard Microsoft Internet Explorer Active X control for HTML data rendering. The prototype addressed all the major functionality requirements and the process showed several good and bad approaches to implementing several of the functional components.

Satyam — CDW Upgrade

This project for Telstra involved migrating a suite of applications to newer hardware and software platforms. The target hardware runs SunOS UNIX and Oracle databases. My duties included writing shell scripts to automate many of the complex migration and validation tasks that had to be repeatedly performed during testing and the final “go-live” migration. This included analysis tools to verify data synchronisation, and file migration systems that would efficiently move terabytes of data over the internal network.

Datatask Pty. Ltd.

4/1/1999 — 28/2/2005 Application Developer

Datatask develops computer based training courses. All application development is in C++ or Java.

Developing tools for the courseware development environment including a “Check-In/Check-Out Repository System” used as a revision control system for the Adobe Flash multimedia resources used for generating courseware. This was written as a browser based application using Java Servlets interfacing with a Postgresql database. Various components of the system involved the use of XML, Remote Method Invocations (RMI) and some client side components that interacted with the browser.

Lead a team in the conversion of courseware from a internal proprietary format to using Adobe Flash for courseware delivery.

I have been involved in the development of several major parts of the student management and courseware delivery system, including:

  • Revamping the learning management system. Using Codebase as the database backend I designed and implemented a standard interface for the rest of the system to retrieve and update information in a multi-user system where many students are accessing the system concurrently.

  • Developed company methodologies for configuration and exception management. The server component of the learning management system runs on several different platforms including Windows, UNIX and OS390. Standardised interfaces and management of configuration and exceptions improved code robustness and portability.

  • Developed the “Datatrain Viewer” which could be used in place of a company browser to access the Intranet portion of delivery system for customers where a WWW browser was unavailable.

  • Make our courseware interoperate with third-party management systems that conform to open standards such as SCORM and AICC, which involves the use of test-beds and generation of XML based configuration files.

Developed the “Datatrain Workbench” which allowed students anywhere on the Internet to submit JCL, Cobol and other jobs to Datatask, to be processed by the company’s P390. The server is fully multi-threaded and runs on a Linux server. It will receive jobs from the students, submit them to the P390, hold the results and allow the student to retrieve them.

Acting as system administrator for the company Internet firewall, web and mail server, which is running on the Linux operating system.

GE Capital Information Technology Solutions Pty. Ltd.

(formerly Ferntree Computer Corporation)

27/3/1995 — 18/12/1998
27/3/1995 — 31/10/1995 Analyst/Programmer
1/11/1995 — 18/12/1998 Senior Analyst/Programmer

I worked within the Application Services department. My role was as a member of a team of developers who produced client/server application solutions for various customers, predominantly large corporate and government. I had the opportunity in this time to learn and use a wide range of technologies and developed strong work practices based on sound development methodologies.

Projects I was involved in included:

Department of Treasury and Finance — Forward Estimates System: July to December 1998

Supported and enhanced an existing application that was written in-house. Performed analysis and development for several significant enhancements to the FES application. Programmed extensively in PowerBuilder/PFC and Oracle PL/SQL.

Department of Human Services — CAPWORKS: July 1997 to July 1998

Developed an object based client/server application to assist the Capital Management Branch (CMB) of DHS in managing the financial cash flow and milestone commitments of various construction and capital works projects. My responsibilities within this project included assisting in the development of the functional specification, consultation on technical specifications, maintaining and controlling the physical database design, change request management, and the design and implementation of the data conversion from the existing legacy system.

State Revenue Office — Pay-roll Annual Adjustment Diskette: January to June 1997

Developed an application assisting SRO customers to produce correct Pay-roll Annual Adjustment forms and thereby reducing the high rate of errors that SRO customers experienced in filling out these forms. I was responsible for the technical design and development of an MS-Windows (3.1x, Win95, WinNT) application with a “wizard-like” interface. The application was developed in Delphi to ensure reliability on thousands of different computers around the state and nationally. Diskettes were distributed to 16,000 SRO customers and 3,000 CPAs. The SRO received numerous letters of praise for providing a service that greatly simplified a complex process.

Australian Unity — Front Office: March to December 1996

I was involved in the development of an Australian Unity Front Office system to manage customer information and act as a user-friendly front end to several legacy insurance and building society systems. Specifically, I worked on the implementation and testing of many components of the system. I designed and implemented a background batch processing system to interface with other internal systems inside Australian Unity and provided trouble-shooting on many multi-user race condition issues. I programmed extensively in PowerBuilder and Microsoft SQL Server (Tesseract SQL).

Toyota Finance Association — Data conversion for new leasing system: January to March 1996

Designed and implemented procedures and scripts to perform data conversion to new database requirements. The process involved design and implementation of programs and scripts to validate and load flat text extract files into a SQL Server database, and convert data to correct table structures and used C++, MS-DOS batch files and SQL Server.

Victorian Curriculum and Assessment Authority (formerly the Board of Studies) — Assessment Processing System: March to December 1995

I aided in the design and construction of the Assessment Processing System, a Client/Server solution to manage VCE processing from enrolment through to final VCE assessment. I was dedicated to this project through the design, construction and implementation phases and was involved in initial support of the system. This project successfully met the required implementation dates and performance standards. I used C, PL/SQL and Oracle including database administration and tuning.

In mid-years of 1996, 1997 and 1998 the customer specifically requested me to assist in several short-term projects implementing feature enhancements to the APS system.

NEC Australia

30/3/1992 — 24/3/1995 Software Engineer

As a member of the Design and Development Department of the Integrated Communication Products Group, I was involved in the design, implementation and testing of software in individual and group projects, which produced software for NEC Paging systems. The product was designed for the Japanese market as a cooperative project between NEC Japan (real-time embedded system hardware development) and NEC Australia (embedded system software development).

I spent a total of approximately seven months in several visits to Tokyo to liaise with local engineers in requirements analysis, design and integration testing.

In developing paging systems, I was involved in the following:

  • Developing a protocol analyser running on a UNIX Sun Workstation using C, TCL and OpenUI on top of X/Motif. The analyser was able to monitor or simulate one or both ends of a communication line between different parts of the paging system. This was a one man project and provided an invaluable testing tool for the communication interfaces of the central paging system.

  • Different components of the actual central paging system, which was a Japanese designed embedded system using the 68000 Motorola CPU. Parts of the system I designed and implemented included low level device drivers such as floppy disk and DMA drivers, and high level applications such as specialised queuing libraries and fault tolerant device monitoring. This included several upgrades and the addition of features and new systems to run on different hardware. Debugging and testing using in-circuit emulators and simulators was heavily used in resolving problems on unstable, multi-tasking platforms.

  • A more advanced protocol analyser running on an IBM lap-top using Microsoft Windows, to be able to monitor and simulate several different communications protocols used between different parts of a paging system. Developed in Borland C++.

Education

Academic record available upon request.

Bachelor of Computing (Digital Technology)
Monash University, 1989 — 1991

My final year project was the design and implementation of a computer controlled signal generator. Using an IBM PC, the software could generate any sort of periodic waveform and then down-load the sample points to the hardware via the parallel printer port. The hardware could then be controlled via the PC to control waveform output and frequency.

Additional Training

Most of my training after my university studies would be considered “on the job” such as figuring out how to use java servlets or such, however I have managed to get some formal training in along the way:

PowerBuilder Foundation Classes
PowerServe Pty. Ltd.

21st — 22nd July, 1998
2 days

Effective Software Testing
Australian Computer Society

20th — 21st Oct, 1997
2 days

Administering an Oracle 7 Database II
Oracle Training Centre

27th Nov — 1st Dec, 1995
5 days

Administering an Oracle 7 Database I
Oracle Training Centre

23rd — 27th Oct, 1995
5 days

Oracle RDBMS, SQL, SQL\*Plus and PL/SQL
Oracle Training Centre

15th — 19th May, 1995
5 days

Object Oriented Design
Pearcey Centre for Computing

Semester 2, 1994
30 hours, Credit+ (70 — 74%)

C++ Programming for C Programmers
Pearcey Centre for Computing

Semester 2, 1994
30 hours, High Distinction (85 — 100%)