PROFESSIONAL PROFILE
- Over 10 years experience with multi-threaded, cross-platform design & development utilizing various
Life Cycle models.
- Expert developing and porting thread-safe code to all UNIX, Linux and MS Windows.
- Experienced with: GUI design/development, voice recognition/synthesis, real-time & embedded systems.
- Over 7 years leading small teams, from three to six members, in the formal development of various complex systems.
TECHNICAL SKILLS
- 7+ years of formal Software Design using:
SSADM (with DOD-STD-2167A) or
OOA/D:
UML,
Test Driven Development (TDD),
Constantine Use Cases
- 10+ years C/C++ development on
UNIX
/ Linux
& MS Windows
- 5+ years Java & Web development including:
PHP,
XML,
JavaScript/AMD/jQuery/YUI, CSS,
SQL, UNIX shells
- Development Tools include:
- MS Visual Studio,
Eclipse,
NetBeans, JIRA,
BlueJ,
Rose,
StP,
Object-Domain, SalesForce,
UIM/X
- GNU Toolchain,
CVS/RCS,
git,
Perforce,
Purify/Quantify, Jenkins, Selenium,
xUnit, Behat,
SilkTest
SOFTWARE MANAGEMENT EXPERIENCE
Full Stack Developer/ELIS Architect; Remote-Learner
, Waterloo, Ontario;
October 2010 to Jan. 2018
- Developed & maintained MOODLE/ELIS modules (OO-PHP/Javascript) including eMail block,
OpenID & SAML authentication plugins,
and a set of plugins to access the Alfresco/Tomcat document management system.
- Developed Web Services: REST, SOAP & XMLRPC - to access ELIS functionality, and, hosted AWS Snapshot management.
- October 2012, became Team Lead and Architect of the ELIS Product and custom development projects.
- Generated functional requirements, design specifications, APIs, oversaw implementation, and development of a Java/Selenium test suite.
- Built software releases and planned product road-map utilizing Agile Development Methodology with JIRA and Jenkins/CI.
Software Engineer, Team Lead (Contractor); Quack.com
, Waterloo, Ontario;
January 2001 to May 2001- In charge of the VoiceXML Browser - the central component
of the AOLbyPhone Voice Portal to the Internet.
- Implemented in C++ and developed under WindowsNT to interpret VoiceXML from Servers,
interface through APIs with specialized Speech Recognition and
Telephony hardware;
providing complete audio I/O and call control.
- Led two junior team members with automated testing design/development and performance analysis.
Software Engineer, Team Lead; Open Text Corp., Waterloo, Ontario;
October 1995 to Jan. 1997
- Lead designer and developer of the LiveLink Spider
- providing scalable multi-process/threaded repository creation, maintenance and indexing solutions for
Text Databases, documents, files and their hierarchies.
- Implemented in C/C++ and ported to numerous UNIX platforms and WindowsNT, the applications connected through both public and proprietary libraries/APIs to the Internet,
OpenText 6 (OT6) and internal databases.
- Documentation, GUI design/development, performance analysis, scheduling & customer support.
Software Engineer, Team Lead;
Raytheon Canada Ltd., Waterloo, Ontario;
August 1992 to June 1994
- Acquired DND Security Clearance as member of the Software Development Team assigned to design and develop a Functionally Advanced EHF MILSATCOM Satellite Communications Ground Terminal System for Evaluation and Test (FASSET),
to government (DREO) specifications.
- Software Requirements Analysis and Preliminary Design (DOD-STD-2167A) sectioned the project into
Subsystems, Tasks, and Modules.
- Functional Decomposition employed State, Data-Flow, and Interface/Communication techniques
to generate the Detailed Design Logic.
- The System Design was implemented using 'C' in a real-time, multitasking, multi-processor VMEbus
VMEexec/pSOS+ environment.
- Project responsibilities included Ground Terminal Controller software implementation design, coding,
GUI development, subsystem configuration, integration, testing, documentation, etc.
PRODUCT DEVELOPMENT EXPERIENCE
Senior Software Developer; APOS Systems Inc., Kitchener, Ontario; July 2020 to Present
- Member of the APOS Live Data Gateway (LDG) team developing SAML-SSO Authentication and ODATA middleware for SAP/AnalyticsCloud using Java Servlets with Tomcat.
- Tools include: SpringTools4, Maven, Perforce, Apache Olingo library, Lombok project java annotations, Postman, etc.
Senior Software Developer (Contractor); Ricoh Canada, Kitchener, Ontario; Oct 2019 to March 2020
- Designed and developed a Windows Printer Port Monitor (SlnxToDSPortMonitor), in C++, that intercepts print jobs to specific ports and redirects them to configured Ricoh Delegation Server(s) for secure printing.
- Ported the SlnxToDSPortMonitor to RHEL8 Linux using CUPS and developed distribution & installation scripts.
- Tools include: Microsoft Visual Studio 2019, SVN, CppREST-sdk, Boost & PugiXML libraries, Microsoft Teams
Senior Java Developer (Contractor); Oracle/NetSuite, Kitchener, Ontario; Sept 2018 to May 2019
- Member of the NetSuite HCM: Payroll Applications team handling payroll functions of NetSuite.
- Fixed defects in code (Java, JavaScript/SuiteScript) and participated in Agile Development.
- Tools include: JIRA, Confluence, IntelliJ IDEA, Perforce, SQL Developer, Slack, etc.
Software Engineer; Navtech Systems Support Inc., Waterloo, Ontario; August 2004 to Sept. 2005
- Interpreted Airline Customer requirements, adhering to all FAA regulations, to develop
Navtech's Airline Crew Planning & Scheduling software products: Preferential Trip/Vacation Bidding/Trading .
- Implemented mainly in C/C++, the systems were developed & operate under RedHat Linux.
- Typical Crew system configurations consist of:
Webserver GUI (Apache/Perl) front-end connected to back-end Application, ORB and Database servers;
with redundant back-up machines.
- Scheduling, code design/implementation, installation, configuration, testing, documentation & support.
Software Engineer (Contractor);
Canamex Communications Corp., Markham, Ontario; Sept 1998 to Jan. 2003
- Assisted Electrical Engineer with hardware designs and developed firmware for auxiliary interfacing devices:
POCSAG encoder/transmitters, Text-to-Speech module,
Page-Alert Alarm & Monitoring systems.
- Implemented a micro-TCP/IP stack, SMTP & POP3,
in C, to enable Email support for the Paging Systems.
- Developed Server components using C/C++ on Debian Linux with additional HTML/CGI programs providing web-based administration & configuration, system status information and online User/Reference manuals.
Software Engineer; Mortice Kern Systems Inc. (MKS),
Waterloo, Ontario; January 1997 to Sept. 1998
- Developed Java-based WI Clients (UNIX, Windows & MAC)
to provide an HTML/JavaScript UI via standard Web Browsers providing a web-based revision control system - MKS Web Integrity.
- Integrated Server components (WI Engine) into third-party
Web Servers using the C-APIs provided - i.e. Netscape NSAPI (UNIX & Windows), Microsoft ISAPI, etc.,
with additional Java Servlets and CGI services.
Software Engineer; AT&T Global Information Solutions (NCR), Waterloo, Ontario;
June 1994 to Oct. 1995
- Technology Strategy advisor, member of the Image Committee, and, the Scalable Image Item Processing Systems (SIIPS) Software Development Team.
- Implemented in C/C++ under both UNIX with X/Motif and Windows, the applications connected,
through custom APIs, to distributed Database, Workflow/Task Managers; providing a
network-scalable Image/Item Processing platform with Recognition, Kerberos security, and
numerous Host, User and Transport/Device interfacing options.
Software Engineer (Contractor);
Canamex Communications Corp., Markham, Ontario; Oct. 1990 to Aug. 1992
- Designed and developed QUIKPAGER - portable, multitasking communications software.
- Developed real-time kernel & C-libraries for embedded systems.
OTHER EXPERIENCE
Professional Musician; May 2006 to Sept. 2010
- Musical Director, piano/keyboards and guitar: WhatNext/WhatNot Jazz trio, the Glynn Abbott Band, etc.
- Website design & maintenance, repertoire selections,
arrangements and charts for guest musicians.
EDUCATION
Summer/Fall 2009 -
UNIVERSITY OF WATERLOO, Continuing Education
- Intermediate PHP and MySQL
- Intermediate C# Programming
- Intermediate Java Programming
Bachelor of Science 1990 UNIVERSITY OF WATERLOO, Waterloo, Ontario; Co-Op. Applied Physics program.
INTERESTS
- Design and build everything from wood-working projects for the home,
to expansion devices for computers and audio equipment.
- Enjoy improvising Jazz piano, reading, playing Chess, Tennis, Tai-Chi & Baseball.
References available upon request.