James G. MacKay



Kitchener, Ontario, Canada

Skills

  • object-oriented architecture, analysis and design
  • expert-level Java, C++ and XSLT programming
  • multithreaded, client/server and web programming
  • GUI programming using the Java Swing framework
  • learn new languages, paradigms and technologies quickly and independently
  • work well both independently and in a team environment

Experience

Independent Software Developer
Kitchener, Ontario
January 2004 - present
  • designed a data representation language and implemented translators between it and XML
  • finished designing an object-oriented programming language and implementing most of a compiler and part of the common library for it
  • implemented rudimentary versions of several utilities for the programming language, including a message catalog builder and a documentation generator
  • designed and implemented a custom television schedule generator
Intrexa/Global Beverage Group
Kitchener, Ontario
Software Architect
January 2001 - December 2003
  • architected the Java framework used to implement all server-side applications
  • designed and implemented a framework extension that allows attributes to be added to business objects after an application has been deployed
  • designed and implemented a framework extension that allows all operations to be forwarded transactionally to one of several different SOAP-enabled legacy systems
  • designed and implemented several key subsystems, including the security, input validation and generic persistence subsystems
  • devised and implemented a wide variety of general-purpose Java classes
  • designed and implemented an automatic code generation system using XML and XSLT that supports regeneration, allowing global changes to be propagated automatically to existing classes
Mortice Kern Systems/Vertical Sky
Waterloo, Ontario
Software Developer
February 1999 - January 2001
  • designed and implemented all of the commands and views for the product-independent security subsystem, as well as their command line and Swing GUI interfaces
  • designed and implemented several major Swing GUI interfaces for the Source Integrity version control product
  • designed and co-implemented a Java application that provides a secure means of deploying Web content to remote machines using configurable transmission and copying protocols
Solect Technology Group
Toronto, Ontario
Software Developer
October 1997 - February 1999
  • senior member of a team of several dozen developers building IAF/3, a distributed, object-oriented Internet customer care and billing system for large ISPs
  • architected and designed the rating and billing subsystems and implemented the rating subsystem
  • created RML, a language for specifying Internet product pricing and discounting rules, and implemented a parser for it
  • specified several of the system's public CORBA IDL interfaces
  • designed and implemented all of the system's multithreaded CORBA servers
  • designed and implemented classes to isolate business classes from all CORBA dependencies
  • responsible for creating standards for and ensuring the accuracy and consistency of all of the system's CORBA IDL interfaces
  • co-designed and implemented the system's security architecture
  • implemented and extended many common infrastructure classes
  • used the RogueWave Tools.h++ and ACE libraries extensively
Independent Software Developer
Kitchener, Ontario
November 1996 - October 1997
  • designed, implemented and documented the C++ Filter Classes library that provides a framework for classes that can be combined in the same way that programs can be combined under UNIX
  • designed and implemented a collection of C++ string classes and wrote an extensive set of test cases for them
  • designed and implemented two GUI applications in Tcl/Tk, one of which can also function as a WWW applet
  • designed, implemented and documented PreHTML, an HTML preprocessor
  • designed and implemented a pair of Java applets
Sears Canada Incorporated
Guelph, Ontario
Programmer/Analyst II
June 1994 - November 1996
  • member of a high performance team responsible for developing and supporting a national financial planning and reporting system that reduced a 2 day reporting cycle to less than half a day
  • architected a replacement for the system's online financial report generation process that increased the number of possible report types from 20-30 to over 500 while reducing CPU usage by 66%
  • designed and implemented a calculation engine for the new report generation process that was 30% faster, more flexible, and provided and ensured more accurate results than the previous process
  • designed and implemented a source code control and change management system for all of the system's code, preventing the simultaneous update or accidental deletion of a program's source code and automating program installation
  • designed, implemented and documented a report format editor that greatly simplified the creation of reports involving subtotals and other calculations

Education

University of Waterloo
Waterloo, Ontario
Bachelor of Mathematics, Double Honours Pure Mathematics and Applied Mathematics
September 1988 - April 1993
  • Dean's Honours List

Author: James MacKay (jmackay@steelcandy.com)
From: http://www.steelcandy.com/resume.html
Last Updated: Tue Nov 6 10:48:44 EST 2007
Copyright: © 1997-2007 James MacKay

You are the visitor.