Appendix D - Resume

Brett Ferguson Senior Developer and Systems Architect

Professional Achievements

QED Systems Inc. (formerly Ferguson’s Missing Link Services) Feb 2001 – Present Client: Natural Resource Sector, Corporate Services Division (formerly Sustainable Resource Management, Corporate Services Division) Project: FFS Administration Tool (Financial Forecast System Admin) and Corporate Financial Systems Web Site (CFSWeb) Mr. Ferguson designed and developed tools to support FFS and the Ministry's financial reporting. The FFS Administration tool is used to manage the administration of FFS; the CFSWeb tool is used to display dynamic content and load status and to launch Oracle Reports based on user security information from the Ministry’s Intranet. Both systems have been written as J2EE Struts applications and have been deployed in the Oracle 8, 9i and 10g OC4J and OFM containers. Both systems use XML files to support multiple configurations. As part of the project, Mr. Ferguson:  Redesigned the application to take advantage of new technologies and to conform to the Ministry’s web development standards using the Struts framework, Log4J, Commons Logging, Spring Framework, Hibernate, deployed in OFM container, run against Oracle 11g RDBMS

 Volunteered to be first vendor to deploy applications into the new Ministry , and Oracle 11g environment housed in the government's new data centres

 Built Servlets and JSPs to run the data refresh loads, check the status of the system, display the load logs, manage the RMI client sessions and display and manage the Application Server-tier JVM system information

 Redesigned the application to conform to the Ministry’s web development standards using the Struts framework and Log4J deployed in Oracle's 9i OC4J container

 Converted CFSWeb to use TopLink and Hibernate persistence frameworks to provide MAL with concrete example of both frameworks in their environment to help base their persistence framework standards on

 Developed PL/SQL packages to load logical sets of data within the application

 Managed Unix trees, Apache configurations and intranet structures, and Oracle 817, 9i, 10g and 11g database schemas to support development, testing and production instances

 Administered SVN and CVS version control systems as part of the development process

QED Systems Inc. (formerly Ferguson’s Missing Link Services) Feb 2001 – Present Client: Natural Resource Sector, Corporate Services Division (formerly Sustainable Resource Management, Corporate Services Division) Project: Access Control System (ACS) Mr. Ferguson was part of the team that designed and developed an Access Control System which provides user authorization and chart of accounts based row-level security to the sector's suite of financial applications. As part of the project, Mr. Ferguson:  Provided technical and business analysis for the data model and database logic

 Redesigned the application to provide administrative access to the financial applications without direct access to the application schemas

Brett Ferguson, QED Systems - Page 18 of 39  Provided user support

QED Systems Inc. (formerly Ferguson’s Missing Link Services) Dec 1999 – Present Client: Natural Resource Sector, Corporate Services Division (formerly BC Ministry of Environment, Financial Services Branch) Project: Financial Forecasting System Mr. Ferguson designed, developed and deployed a Sector-wide implementation of a Financial Forecasting System (FFS). The system was written as a and deployed on the Ministry’s intranet. The system is used by financial staff throughout the ministries in the Natural Resource Sector to manage the ministries' budget, based on data extracted from CAS Oracle Financials and CHIPS. The application has also been implemented by the Ministry of Children and Families, and has been considered as a BC Government-wide solution by CAS. As part of this project, he:

 Provided system and business analysis as part of an enhancement to provide a Salary Budgeting Module to support the development of Salary Budgets for future fiscal years

 Volunteered to be first vendor to deploy applications into the new Ministry Oracle Fusion Middleware and Oracle 11g environment housed in the government's new data centres

 Redesigned the application to allow for an arbitrary number of ministries to support all ministries within the Natural Resource Sector

 Redesigned the application to take advantage of new technologies and to conform to the Ministry’s web development standards using Spring Framework, RMI, new Swing components and functionality, Log4J, Commons Logging, Hibernate, deployed in Oracle Fusion Middleware container, run against Oracle 11g RDBMS

 Enhanced to support drag and drop editing, and increased data validation functionality

 Developed an automated load framework using DBMS_JOBS in Oracle 10g/11g RDBMS to allow users to create, maintain, run, and monitor defined FFS application loads

 Developed JUnit tests to provide regression testing for business logic and server functions of the application

 Designed and developed the system’s business object model in UML

 Developed a Fine Grained database security model using Oracle’s VPD framework. Model developed is a multi-application model including FFS, Access Control System (ACS), and Financial Data Warehouse (FDW)

 Developed SQL, SQL*Loader and Unix load scripts to load financial and employee payroll data from the Ministry’s Data Warehouse

 Developed a framework to enable reporting from Oracle Reports, which enabled the Ministry to reuse reports deployed as part of the Financial Data Warehouse implementation

 Developed a security mechanism to allow authentication to the Government-wide standard authentication mechanism

 Developed a support framework which was used to generate the bulk of the classes and XML files used to provide serialization to and from the database

 Developed a database caching framework in Java to increase system performance

 Managed Unix software trees, Apache configurations and intranet structures, and Oracle 817, 9i, 10g and 11g database schemas to support development, testing and production instances

 Developed initial physical data model in Oracle's Designer/2000 and migrated and documented subsequent changes in Designer 10g

 Administered SVN and CVS version control systems as part of the development process Mr. Ferguson is currently providing technical support and system enhancements.

Brett Ferguson, QED Systems - Page 19 of 39 QED Systems Inc. (formerly Ferguson’s Missing Link Services) Oct 1998 – Present Client: BC Ministry of Environment, Lands & Parks, Financial & Administrative Services Branch (FASB) Mr. Ferguson is responsible for creating systems and managing a number of roles for the Financial Services Branch Financial Data Warehouse. This has included, but not been limited to:  Providing technical direction in the selection of new reporting technology and strategy as part of the Ministry's migration to Oracle Financials  Involved in designing and building a Java framework for developing and deploying a series of financial applications and reporting tools  Designed a new security strategy to reduce the resources required to administer the Branch's financial applications. The strategy included the implementation of Oracle's Fine Grained Access Control and the use of the IDIR LDAP interface  Provided , Unix and Apache administrative support  Trained employees throughout the Natural Resource Sector on several of its corporate financial tools, primarily focusing on FFS  Maintained and enhanced a previous version of FFS, a corporate financial forecasting system written in Oracle Forms 4.5 and Oracle Reports 2.5  Built initial prototype of Oracle Discoverer workbook and queries  Generated Oracle Application Server PL/SQL web query and data input applications from Designer/2000  Provided vital support to the Financial Data Warehouse and Financial Forecast System  Maintained and developed data warehousing procedures and shell scripts using Unix shell scripts, SQL*Plus and SQL*Loader

QED Systems Inc. Jan 2012- Present Client: Architecture for Humanity, Haiti office Project: Architectural Designer, Systems and IT manager As part of a three-month volunteer period and subsequent one-year contract, Mr. Ferguson provided urban design, architectural design, and technical expertise and training for the Haiti office. As part of this project he:  Developed IT and infrastructure strategies and standards for the office  Developed CAD drafting standards and templates and Bill of Quantities templates and procedures  Provided training for drafting, IT systems, and photography  Was part of a team that developed an urban plan for Villa Rosa, an informal settlement in Port-au-Prince  Designed and managed the renovation of École National République d'Argentine, a public primary school in Port-au-Prince, Haiti

QED Systems Inc. Mar 2006-Jul 2006 Client: Systems by Design Project: TopLink decision document Mr. Ferguson provided technical expertise for standards decision between Oracle's TopLink and Hibernate (report written by Systems By Design, with technical information provided by QED Systems).

Brett Ferguson, QED Systems - Page 20 of 39 QED Systems Inc. Oct 2005 – Jun 2006 Client: MAXIMUS BC Health Project: BC Health Applications Redesign and Development Mr. Ferguson worked as part of a team that set the new technical environment and standards for the BC Health online applications, including the Premium Assistance, Fair Pharmacare web applications. As part of the project, he:  Built application frameworks and instances using Oracle OC4J, Hibernate, Oracle 10g RDBMS, XSLT, RMI, Commons and Log4J logging, Xerces, Spring Framework, Spring Webflow, and Java Server Faces  Designed and tested JUnit test for all components  Produced UML documentation for proposed and developed system components and frameworks  Produced development standards using Maven, Ant and StarTeam

QED Systems Inc. Apr 2005 – Sep 2005 Client: Ministry of Sustainable Resource Management, Corporate Services Division Project: Hardware Refresh System Mr. Ferguson developed a system to facilitate the computer hardware and software refresh initiative implemented by CITS and IBM. System was originally developed for MSRM, but was adopted by Ministry of the Auditor General, Ministry of Transportation and Highways, Ministry of Children and Families, and Ministry of Health.

 Developed business model using UML standards

 Created physical data model in Oracle's CASE tool

 Implemented system in J2EE framework using Oracle's OC4J container, Struts and Hibernate persistence layer. used BC Government's IDIR LDAP interface for authentication

 Wrote a report server module using Java, RMI, and XSLT

 Provided technical and business support during the initiative

QED Systems Inc. Nov 2002 – June 2005 Client: Ministry of Finance, Corporate, Personal & Property Registries Project: COLIN (Corporate Online) Mr. Ferguson worked as part of a team which successfully developed an online application that provides British Columbia companies with self-serve methods to fulfill their obligations under the Business Corporation Act. The system allowed companies to complete transactions such as Company Incorporation, Company Amalgamation, and Annual Report Filing online. COLIN was written as a J2EE application deployed to Oracle’s 9i OC4J container, behind an Apache web server, using the Apache Struts MVC framework and accessing Oracle's 9i (and now 10g) database. Mr. Ferguson was also selected to be part of the reduced team which tuned the application and provided system enhancements and support. The project used the Feature Driven Development methodology as its development process. As part of the project Mr. Ferguson:  Produced detailed UML (Unified Modeling Language) module designs based on Use Cases produced by the Project’s Business Analysts including Class, Sequence and Activity Diagrams  Reviewed the System’s database model to ensure it conformed to business and technical requirements

Brett Ferguson, QED Systems - Page 21 of 39  Designed and implemented several frameworks for use by the development team including Data Transfer Object Persistence, Code Lookup, and a Struts-based system flow frameworks, and reporting framework to generate PDF output using XSLT  Participated in peer design and code reviews and influences overall system design and architecture  Wrote fully tested and documented Java code SQL, PL/SQL, XMLTypes, XML Configuration files and Unix shell scripts which implement standard system business functions, including unit tests, Javadoc and API references  Used SQL*Loader, SQL, and PL/SQL to support the development and delivery process  Managed Unix software trees, CVS trees, Apache configurations, OC4J containers and Oracle 9i and 10g database schemas to support development and testing

Ferguson’s Missing Link Services Mar 2002 – Apr 2002 Client: Sustainable Resource Management, Resource Inventory Branch Project: VENUS Data Import tool (VENUS Import) Mr. Ferguson designed and developed a tool which was used to migrate data from an MS Access database to Oracle. The tool can take an arbitrary MS Access database, generate the tables in Oracle if they do not exist and copy the data across. The tool uses XML files to support different configurations and supports both CLOB and BLOB data types. As part of the project he:  Researched several JDBC drivers to access the MS Access data  Built reflection routines that used database and table metadata to verify that the Oracle database objects match the source MS Access database objects and to create them if they do not exist  Developed PL/SQL packages to move the data from the temporary load tables into the final data store eXI Solutions Inc. Nov 2001 – Mar 2002 Client: Competition, Science and Enterprise Project: OneStop Business Registration System Mr. Ferguson was a key part of a team that maintained and enhanced OneStop, a web-based PL/SQL application that allows BC residents to register a business and apply for the necessary tax numbers and regional permits on-line. As part of the project he:  Helped design a more secure framework and architecture for the application to allow it to be deployed to the Internet  Debugged problems and provided emergency fixes to the application  Fixed, enhanced and simplified the underlying PL/SQL stored procedures and functions  Wrote a Servlet façade, deployed to a Tomcat 4.0.2 Servlet engine behind IIS using the AJP13 connector, to increase the security of the system so that it could be deployed on the Internet.  Helped the Ministry develop standardized application acceptance procedures and infrastructure  Used SQL*Loader to import Excel data into the Oracle data model eXI Solutions Inc. Feb 2001 – Feb 2002 Client: CroMedica Inc. Project: Project Finance Tracking System

Brett Ferguson, QED Systems - Page 22 of 39 Mr. Ferguson was involved in the design of a financial tracking system to manage financial information for clinical trials projects. As part of the project he:

 Met with area experts to define and document the current business processes and technical and business requirements  Modelled the business processes surrounding the financial operations of their core business  Developed a data model to capture the business data and to facilitate the company’s reporting requirements  Acted as a liaison between the area experts and the development team  Participated in the design of their financial data warehouse  Tested several ETL (Extract-Transform-Load) tools to extract clinical trials data from a Lotus Notes application into an Oracle RDBMS  Developed the load routines to populate to populate their financial data warehouse eXI Solutions Inc. Jan 2002 – Jun 2002 Project: LAN design, configuration and maintenance Mr Ferguson designed and implemented eXI's Local Area Network (LAN) including all firewalls, email and web servers, file servers and network cabling when they moved their Victoria office. eXI Solutions Inc. Jan 2001 – Jun 2002 Project: Bluetooth Technology R&D Mr. Ferguson was involved in an eXI initiative to develop of a set of Bluetooth products. As part of this strategy he:

 Investigated the available hardware, operating system and software technologies to be used in the development of a Bluetooth access point  Started a proof of concept to provide Voice over IP (VoIP) access across a Bluetooth connection using Ericsson’s Bluetooth Starter Kit (EBSK)  Helped to define and develop the infrastructure to demonstrate eXI’s Bluetooth access point at the Bluetooth Congress in Monte Carlo. This included building the network infrastructure, investigating and testing two Open Source Bluetooth stacks for use with the EBSK, developed an environment to facilitate the testing and development of software to allow a Widcomm Bluetooth module in a Handspring Visor handheld to connect to the access point  Helped evaluate other companies current software products to determine the benefits of developing partnerships  Built and administered several Linux development and demonstration environments to support the above projects

Ferguson’s Missing Link Services Jan 1999 - Aug 1999 Client: BC Ministry of Environment, Lands & Parks, Financial & Administrative Services Branch (FASB) Project: Travel Voucher System, Phases I & II Mr. Ferguson worked on a Web-based travel voucher system that replaced the previous non-Y2K compliant system. For this Intranet deployed application, he:

 Designed and developed the administrative component of the electronic travel voucher system (TVS), a distributed web application written as a Java applet connecting to an Oracle RDBMS using RMI and JDBC  Implemented the Fine Grained access control within the Oracle database to provide user- level data security  Implemented an interface written in Java to import data from an Oracle database into the corporate financial system TSC/BAS

Brett Ferguson, QED Systems - Page 23 of 39  Wrote modifications updated XML configuration files and provided technical support for the user component of TVS, written using Java Servlets  Used SQL*Loader to import template Excel data into the Oracle database  Provided technical support for the system

Ferguson's Missing Link Services Sep 1998 – Jun 1999 Client: BC Ministry of Environment, Lands & Parks, Information Systems Branch (ISB) Mr. Ferguson supported the ISB by performing the following tasks:

 Developed and implemented provincial-wide migration testing strategies for Oracle server software  Wrote Perl scripts to monitor UNIX disk space information for Ministry servers throughout the province  Created prototypes to test new development environments and tools  Updated and enhanced the Ministry’s standard Oracle Forms template which is used for all Forms systems developed for the Ministry  Deployed applications delivered to the Ministry by system developers

Ferguson’s Missing Link Services Oct 1994 - Present Client: BC Ministry of Environment, Lands & Parks, Resource Inventory Branch (RIB) Mr. Ferguson supported RIB staff and business requirements by performing the following:

 Developed a data conversion utility in Java to migrate field information collected in a distributed MS Access application into and Oracle database for warehousing using JDBC 2.0,reflection and Swing  Developed a Species Inventory Project search system and an integrated and configurable Information Request, FAQ and Responsibility Matrix system using PL/SQL and Oracle Application Server to generate HTML and JavaScript pages  Installed and maintained Oracle client and server tools on MELP and contractor workstations  Performed mass data manipulation and conversion from various formats to Oracle  Provided technical support for the development of MELP web sites and Oracle Application Server applications  Prototyped, deployed and maintained several RIB systems using Oracle database and client tools  Implemented Oracle database triggers and procedures to implement business functions  Built a data capture system in MS Access to enter historical land plot study results  Built a link to connect spatial information in Arc/Info to non-spatial attribute data contained in Oracle

Ferguson’s Missing Link Services Feb 1994- Oct 1995 Client: BC Ministry of Environment, Lands & Parks, Fisheries Branch Mr. Ferguson supported IBM PC and Macintosh software and hardware for 200 employees on a Novell LAN.

Ferguson’s Missing Link Services Jul 1998 Client: Trevor Harton Productions Inc Mr. Ferguson developed an application in MS Access to track the results of a phone sales project.

Brett Ferguson, QED Systems - Page 24 of 39 IBM Australia; Wangaratta, Australia Jan 1996 – Dec 1996 While a Manufacturing Technician for IBM Australia, Mr. Ferguson performed the following duties:

 Provided vital hardware, software and systems support to the manufacturing line  Maintained and updated production line control, data collection, and reporting systems  Wrote scripts to backup production data and distribute manufacturing warranty information  Developed new processes to improve current tasks and implement new requirements  Tracked technical and logical problems of the control and data software  Documented existing systems using UML 0.9 to examine the emerging standards

BC Ministry of Environment, Lands & Parks Jan 1994 – Sept 1994 System Services Branch (SSB) Project: Assistant to the Corporate Data Manager (2 co-op terms) During the two co-op terms that Mr. Ferguson worked with the Corporate Data Manager, he was responsible for the following tasks:

 Developing methods to transfer data between Oracle and other applications  Creating WordPerfect macros to implement Oracle reports  Participating in the development of the Data Registry, a Forms 4.0 application to catalogue information sources of environmental studies  Gathering and documenting business and technical requirements from business experts  Designing and implementing PL/SQL programs run from a Unix script to maintain database integrity  Developing CGI scripts to query Data Registry information on the web

McMillan College (March 1992 – Dec. 1992) Malaspina College (March 1993 – June 1993) Project: Instructor & Tutor

 Taught Math and Science to students completing their high school diplomas  Instructed students in groups and on a one-to-one basis  Worked in the Malaspina College’s "Math Drop-In Centre", answering questions regarding Math, Physics, Chemistry and Computer Science  Tutored Grade 10 to first-year college students

Technical Expertise Hardware/Operating Systems Languages Sun/SunOS, Solaris, HP-UX, IBM/AIX, JAVA - Servlets, JSP, Applets, JCorba, Intel/Linux, SCO, Solaris x86, EJB, JFC/Swing, RMI UNIX/SVR4, BSD 4.3 Macintosh/MacOS (1 - X) C, C++ NT 3.5 & 4.0, Windows 95 & 98, 2000, Pascal, Prolog, COBOL, Fortran, 2000 Server, XP, OS/2 v3, MS-DOS Assembler PL/SQL, SQL Systems Software/Utilities Ant, sh, csh, tcsh, ksh, bash, PERL, vi, Database Management awk, sed, make, CVS, TCL/TK, REXX Oracle 7.x, 8.x, 9i. 10g, 11g Methodologies/ Techniques DB2 6.0, 7.2 XP (Extreme Programming) MS Access & SQL Server, FDD (Feature-Driven Development) CASE*Method, CDM Containers/Frameworks CRC Oracle Fusion Middleware, OC4J 8, 9, 10g, iAS 9 & 10g, WebDB, JBoss

Brett Ferguson, QED Systems - Page 25 of 39 Jakarta Tomcat 3.x, 4.x, Jetspeed Telecommunications/ Networking Struts, JSF, Cocoon, Swing, Log4J TCP/IP – SNMP, SLIP, PPP Apache Web Server 1.3.x, 2.0.x XNS - (Novell IPX) Oracle TopLink 9 & 10, Hibernate 2.x & 3.x, Spring Framework, Webflow & Security, IIS 5.0, 5.5 AppleTalk, ARAP SQL*Net Development/Design Tools SSH, SSL, VPN Together Control Center, IntelliJ OpenBT & BlueZ Bluetooth Stacks Oracle CASE – Designer/2000, 9, 10g Oracle JDeveloper, AppBuilder for Java Software Packages Sun’s Java Workshop for Solaris & NT Adobe Illustrator Inprise JBuilder Star Office Oracle Forms 4.x, 5.x, 6.x Microsoft Suite Oracle Reports 2.x, 3.x, SQL*Plus, Toad SVN, CVS, StarTeam Visual C++ (1.5 & 4.1) SQL*Forms, SQL*ReportWriter

Application Summary Applications Activities Finance Systems Architect Architecture Systems Software Design and Implementation Education UNIX System Administrator Healthcare Database Design Environmental Data Systems Database Administrator Geographical Information Systems Systems Design Hardware Manufacturing Functional Specification Document Management Technical Documentation Research User Manuals Wireless Communications User Training GUI Designer Software Localization Software Installation Network Analysis/Design Network Implementation/Tuning

Professional Affiliations

 AIBC – Architectural Institute of British Columbia: Intern Architect  RAIC – Royal Architectural Institute of Canada: member  Architecture for Humanity, Vancouver Chapter: volunteer

Additional Skills and Courses  Successfully completed the Sun Certified Programmer For the Java 2 Platform (Aug 2001)  Worked directly with Oracle developers on their 8.1.7 RDBMS JServer as part of their Beta program by deploying FASB's Java applications to their server, and helping them track down problems discovered in the process (Feb 2000)  Bilingual - has translated speeches, reports, and letters to and from French  Holds a private pilot’s license  Completed the Canadian Power Squadron Boat Operator Course  2-month Introduction to Welding course, 2011

Brett Ferguson, QED Systems - Page 26 of 39 Education

 Master of Architecture, Dalhousie University. Graduated 2010  Bachelor of Environmental Design Studies, Dalhousie University. Graduated 2008  Completed a Computer Sciensce co-op degree at the University of Victoria Graduated with distinction in April 1997  Completed two courses in software engineering at the University of Victoria  Finished 4th year courses in object-oriented programming and data communication  Finished 12 years French immersion education plus three-month French language exchange

Brett Ferguson, QED Systems - Page 27 of 39