- Expertise in all phases of the product development life cycle (Business Analysis, Statement of Requirements, Detailed Design Documentation, Systems and Solutions Architecture, Prototyping, Implementation, Testing, User and Technical Documentation, Technical Support and Professional Services). - Technology trend analysis - research into, and monitoring of emerging technologies, as well as social and regulatory factors affecting market needs and directions. - Team leadership and mentoring - contributing to, working with, and guiding or assisting, when necessary, more junior staff members. - Hands-on and current experience designing and developing identity management and risk analysis systems to secure infrastructure and conform to regulatory standards. - Experienced in database design defining and normalizing table schemas to ensure optimal performance and implementation into a multi-master enterprise environment. - Extensive knowledge of the internal workings of operating systems, communications and interfaces, enabling the design, and implementation low level security plug-ins, extensions, device drivers and protocol stacks. - Proactive and can work independently, delivering on time, to spec. - Well versed and experienced in object oriented and process oriented design methodologies. - Exceptional verbal and written communications skills combined with strong presentation skills.
TECHNICAL SKILLS Operating systems - Linux (Debian, Redhat, Suse, Android), Windows, OS X Device driver development, USB, PCMCIA (C, C++) Security PAM, LSA, SSPI, SSO, Apache mod-auth, JAAS Protocol Stacks - (RADIUS -- PAP, CHAP, MSCHAPv2, EAP-OTP, EAP-MD5, EAP-TLS) SMNP, SMTP, HTTP/S, DHCP, PPP, PPPoE, LDAP, DNS Communications, (TCP/IP, UDP/IP, 802.11x) Programming Languages - C/C++, Java, JavaScript, VBScript Frameworks & APIs J2SE, J2EE, EJB, J2ME, Android, PAM, LSA, SSPI, JAAS, GWT, JCE, JSP, JSF, AJAX, AJAX4JSF, AXIS, JAX-RPC, JDBC, RMI, Microsoft SDK & DDK, RPC, Sockets, IPCS, ISAPI, MMC Snap-ins, OFC 1.2 API, Apache API XML - SOAP, WSDL, Xerces, SAX, DOM, Castor, TLD, WS-BPEL, VXML IDEs - Visual Studio .NET, Netbeans, Eclipse, DDD, Anjuta Testing Junit, JMeter, ISO9646 black box testing Databases - MySQL, MiniSQL, Postgres. SQLite, MS SQL, Oracle 9 & 10, DB2 Servers Apache 1 & 2, Tomcat, IIS, JBoss, WebSphere, Weblogic, GlassFish Directories Active Directory, Open Directory, E-Directory, Sun One, OpenLDAP Build & Control - make, nmake, ant, genjar, xdoclet, CVS, SVN, Clear-Case Design methodologies - OO Design, Analysis & Management (UML, UCM) from Rational Rose, RequisitePro, CA System Architect. Development methodologies Agile Software Development (SCRUM, eXtreme) WORK EXPERIENCE
Mitel Corporation, Ottawa, ON June 2008 to February 2009 Unified Communications/IP Telephony and Security Lead Senior Enterprise Applications Architect
Designed and prototyped a SIP and RFC compliant RTP, Wi-Fi VoIP application based on the G1 Android. This prototype leveraged the built in presence and unified communications functionality of the G1 phone enabling automated call routing, mobile extension and call director. Designed and implemented a Bluetooth based handheld to PC interface/bridge, enabling the G1 Android to bidirectional stream audio. Ultimately, the bridge would have connected into an IP PBX. Implemented a User Mode Linux (UML) development environment enabling the development and debugging of a highly available, four node, clustered solution on to a single node. Ported Unified Communications software to none proprietary Linux OS to enable use of modern development, debugging, testing and measuring tools. With this architecture, system problems which have been present for years were identified in a matter of days, resolved and included into the main source stream, (problems solved: message corruption, message mis-direction). Modified existing Linux device driver modules to statistically demonstrate the sources of existing performance problems. Metered existing NuPoint system for the purposes of performing statistical analysis and locate performance bottlenecks when running in high availability mode. Following that, proposed and implemented a modified architecture, increasing throughput from 4000 call per hour to 10,000 calls per hour. Designed and prototyped a secure email based voice mail retrieval system for smart phones. The secure channel was based on a shared secret and derived transient hash for the voice mail to be retrieved. Worked with team leads to identify short comings, as they became apparent and provided ether solutions or a work around so as to minimize the affect on project schedules. Met regularly with architects in other departments to keep each other appraised of work in progress and identify issues which may affect work underway in the respective departments. Assembled and presented business plans to senior management for consideration. These plans proposed a change in architecture and implementation. Expected cost savings to be $4,000,000 in six months and the ability to establish a subscription based revenue stream.
Languages & APIs Tools OSs & Servers - Java, C, C++, C# - NetBeans, Ant - MSL, Centos, Debian Linux - Sockets, IPC, SOAP - Eclipse - Windows XP, Vista, 7 Beta - VXML, VoIP, EJB3 - JUnit, C/C++ Unit - Oracle 10g, Postgres, Derby - Ajax4JSF, RichFaces - Visual Studio - Glass Fish, JBoss, Apache,Tomcat - JAAS, RMI, SAX - Ethereal/WireShark - Active Directory, Open Directory, OpenLDAP - J2SE, J2EE, JDBC
Bell Labs/Alcatel-Lucent Ventures, Ottawa, ON May 2007 to June 2008 Service Risk Management and Security Lead Senior Design Engineer/Senior Software Architect
Assembled and managed architectural and engineering documentation for both systems and software. These architectures where then prototyped, as per the engineering documentation. Participated in joint analysis and design sessions with senior engineering staff with the goal of identifying optimal architectures and designs which would then require further investigation. Designed and contributed to the development of the Vulnerability Administration Server (VAS). The VAS system is a simplistic N-Tier solution utilizing RMI and Swing enabling security operators to administer operational data at the front end. This data was delivered from a servlet to an AVS via XML upon request. Assembled the XML schemas (XSD) for the validated and type checked transmission of risk analysis information (advisories and asset catalogs) from the VAS to the AVS and developed the APIs to assemble and disassemble the XML streams utilizing SAX. Designed and developed the Advisory and Vulnerability Server (AVS). Utilizing a true N-Tier architecture, these systems are designed to reside within a DMZ. The architecture has no single point of failure and has been network hardened as well as equipped with automatic failover capabilities. Design and development a model-view-controller API abstracting entity manager persistence complexities from the programmer and optimizing it for WEB based applications. Designed and led the implementation of the AVS systems utilizing JBoss as the Enterprise Java Beans container for business logic. Entity Beans employing Hibernate were used for persistence management. Apache Tomcat is used to service WSDL requests originating from the internet. Participated in the development of the service risk management system (SRM) which is deployed at a customers site and used to evaluate their risk exposure based on services and service relationships within that organization. Designed and developed an identity management and two factor authentication framework forcing the SRM system to authenticate to the AVS system before the WSDL can be used. Optimization of database schemas through de-normalization and a re-implementation of the entity bean layer yielding a 400% increase in performance. Designed an EJB used solely for the disposition of notifications and alerts via SMTP, SNMP and/or a WSDL. Implemented JAAS on all systems for the authentication and authorization of both personnel and software processes accessing the systems. Designed and developed secured web applications utilizing JSF, AJAX, Struts and JavaScript used for the monitoring and configuration of both the AVS and SRM systems and their respective subsystems. Optimization of cut-set algorithms via the use of pattern matching analysis and asset grouping within networks yielding a 300% improvement in risk analysis throughput. Worked in conjunction with software engineering staff in such companies as IBM and Symantic assisting with the integration of the risk analysis engine into their existing network management and vulnerability management product offerings.
Languages & APIs Tools OSs & Servers - Java, EJB, Hibernate - NetBeans, Ant - Windows XP, Vista, 2003 Server - Struts, Spring, JMS - Eclipse - Red Hat 4 and 5, Debian - Ajax, JavaScript, JSF - JUnit, JMeter - Oracle 10g, Postgres, Derby - Ajax4JSF, RichFaces - JProfiler - Glass Fish, JBoss, Apache,Tomcat - JAAS, RMI, SAX - Ethereal/WireShark - Active Directory, Open Directory, OpenLDAP - J2SE, J2EE, JDBC
CRYPTOCard Corporation, Ottawa, ON Jul 1999 to Apr 2007 Independent Consultant turned employee Product Development Manager/Chief Architect
Worked closely with the CEO, VP of Business Development and Director of Global Partner Channels to establish and develop statement of requirements for long and short term product development plans. Instituted a mentoring program, which included co-op students, enabling the transfer of security specific and proprietary knowledge from senior staff to junior staff. Responsible for the assembly of all "Statement of Requirements" for management approval and assembly of detailed design documentation. Responsible for the architecture of all new product development as specified by product management, as well as the re-architecture of some existing software product components for enhanced functionality. Architected a redundant, loosely coupled communications framework yielding 99.9% uptime. Designed and implemented an ultra secure communications protocol utilizing Diffie-Helleman for transient key establishment. Every transaction employed a different encryption key with a 1 second transaction time. Design and implemented two-factor authentication PAM modules for Linux, Solaris, and OS X. Designed and normalized database schemas focusing on the use of EJB container managed persistence and entity beans. Supported databases are MySQL, MS SQL, MiniSQL, and Oracle 10g accessed via JBoss, WebSphere and WebLogic. Designed and contributed to the development of Enterprise Java Beans for authentication, user and token administration, reporting and alerting. Architected and designed a client-side machine-to-machine (M2M) token interface enabling it to be extended without affecting existing application layers. This extendible library supports plug-ins for smart cards, USB dongles, hard disks, class 8 mass storage devices, and disconnected authentication. Designed a server-side authentication plug-in library to permit CRYPTOCard specific authentication algorithms to be included into extendible 3rd party identity management and access control servers. Architected, designed and implemented a publicly available Managed Authentication Service (MAS) and browser based administrative portal (MAP) for self administration, to enable two-factor authentication with minimal capital expenditures. Designed and developed a RADIUS server, capable of PAP, CHAP, MSCHAPv2, EAP-OTP, EAP-MD5, and EAP-TLS. Design and implemented an HTTP/S server for use with Apache and IIS to deliver strong two-factor authentication across multiple servers to enterprise WEB farms. Designed and participated in the development of a Single-Sign-On (SSO) solution implementing server-side password management. This SSO solution maintained user credentials, by application within the CRYPTOCard secured, authentication server. Designed and prototyped a mutual-two-factor authentication architecture and framework to thwart phishing, spoofing and man-in-the-middle. Designed and participated in the enhancement of an Open Source DHCP server requiring strong two-factor authentication to establish a network connection or lease. Designed and prototyped a wireless supplicant, employing OTP-WAP, utilizing two factor authentication (EAP-OTP) and EAP-TLS for encryption. Implemented new AES algorithms enabling eligibility for FIPS 140-2 validation and certification.
Languages & APIs Tools OSs & Servers - C/C++ - Visual Studio .NET - Windows XP, 2003 Server - Java, EJB, JDBC, JSF - NetBeans, Ant - Linux, Redhat, Debian, Suse - JAAS, RMI, Xerces - Eclipse - OS X Client, OS X Server - J2SE, J2EE, J2ME - MDS Studio - Active Directory, Open Directory, OpenLDAP - Axis, JSP, Struts, JMS - XCode - MySQL, MS SQL, Oracle, MiniSQL
GenX Internet Laboratories, Toronto, ON Sep 1997 to Jun 1999 Owner/Operator, Independent Consultant Senior Systems Engineer, Developer
Continued to address existing customers software development requirements on an as required basis. Designed and managed implementation and support teams during the deployment of corporate networks, internet access servers and gateways. Built an ISP service, based totally on Debian GNU/Linux, using Cyclades and ZyXel equipment. Senior developer and project manager for WEB application development teams on a project by project basis. Open Source contributor for the Debian GNU/Linux development team. Performed analysis of customers requirements and assembled proposals detailing products and services required to meet their needs. The majority of the proposals replaced existing Novell and/or Microsoft NT servers without affecting current functionality. Staged and tested Linux based internet/intranet servers, routers and firewalls prior to installation at the clients site. Customized and implemented Big Brother, which is an automated network/process monitoring facility and trouble ticketing system. This system automatically notified the administrator via pager of problems. Designed and implemented custom Java applets, servlets, Perl scripts and C based CGIs to meet customer requirements. Projects included WEB based e-mail system similar to HOTMAIL, mail-back forms, online order forms with backend database queries and updates. Implemented an e-commerce system interfacing into a backend database for up-to-date inventory. Real time credit card verification was performed via ICverifys WEB API. Analysis, documentation and development of a telco analysis program for use in North America and Australia. This software verified and/or corrected telco billings, provided call pattern reports and performed telco cost comparison based on time, distance and frequency. Modified existing Linux device drivers to support new hardware (D-Link DE-220E NIC, 16C250 high speed UART)
University of Montreal, Montreal, PQ Jun 1996 to Sep 1999 Information Systems Architects (ISA), Toronto, ON Independent Consultant Senior Systems Engineer, Developer
Designed and development of detailed specifications to enhance existing remote access software currently in production. This software facility provided an automated means for remote systems to acquired and update financial information on the main accounting system. Designed and developed Java applets utilizing JDBC, providing a browser based interface into the financial system. Most recently Perl and CGIs have been employed to provide increased performance. Developed an Acceptance Test Procedure and development of a test tool to ensure functional compliance and immediate turn up. This test tool simulated up to 100 simultaneous users, logged and managed the results for later review. Code development, modular testing, user documentation, and software installation at customers site.
Languages & APIs Tools OSs, Servers & Hardware - C/C++, Java, J2SE - Ingres Windows 4GL - HPUX, SCO Unix, Dec Unix - Ingres embedded SQL - Prophecy Financials - HP 9000, PCs, DEC Alphas - DEBUG 2000 - MS Project
Garvin GuyButler, New York, NY Apr 1996 to Dec 1997 Information Systems Architects (ISA), Toronto, ON Independent Consultant Senior Systems Engineer, Developer
Design and development of detailed specifications for a new trade capture system with an expected turn up of 1st, quarter 1997. Design and development of an automated trading system for over night FED funds. Database and process design to provide a real time discount calculation, trade status information, invoice generation, trade capturing and report generation. Design of a distributed, real time graphical user interface to provide brokers with live, up-to-date market and trading information. Design and development of a network interface to provide the telexing, faxing and e-mailing of trade confirmations in a batched and real time mode from any network provider. This included an administration facility, providing configuration, message handling and editing as well as statistical reporting capabilities.
Languages & APIs Tools OSs, Servers & Hardware - C/C++ - MS Project - Data General Aviion 5500 - Ingres embedded SQL - Prophecy Financials - PCs, Hays compatible modems - DEBUG 2000 - MS Project - POP3, SMTP - Ingres OpenROAD - CA System Architect - SNMP
EICON Technologies, Montreal, PQ Aug 1995 to May 1996 Information Systems Architects(ISA), Toronto, ON Independent Consultant Senior Systems Engineer
Design and development of test plans for the verification of functional compliance of newly developed IP protocol stacks for OS/2. This required a complete knowledge of all applicable RFCs, third party equipment, networks and the internals of OS/2. Functioned as a source of expertise in the area of IP networking and routing as well as the configuration of third party equipment for development and testing. Designed card level and network level facilities to provide PAP, CHAP, STAC, WCP, ECP, CCP, LCP, ISDN channel binding and multi-link PPP negotiation over wide area networks. Designed and assembled six separate networks to provide various testing platforms. These network were frame relay, EURO-ISDN & ISDN, X.25, serial and PSTN. Installed and configured all 3rd party equipment for connectivity testing. Worked in conjunction with developers to identify and resolve protocol interfacing problems with 3rd party equipment.
Languages & APIs Tools OSs, Servers & Hardware - C - MS Word - Cisco 1000 & 3000, WellFleet - EICON proprietary API - MS Project - BayNetworks, IBM AS/400 - IP router API for OS/2 - HP protocol analyzers - EICON S/51, DPNA & Diva - IBM C set kit - IBM OS/2 Server and OS/2 Connect - IBM AS/400
AT&T Canada formerly Unitel, Toronto, ON & Montreal, PQ Nov 1992 to May 1995 Independent Consultant Senior Systems Engineer, Developer
Design and development of system and functional specifications for the Canadian AFTN (Aeronautical Fixed Telecommunications Network) store and forward message switch, and the Canadian NOTAM (Notice to Air Men) aeronautical information system. These specifications where used in the assembly of RFPs and acquisition of RFQs from qualified suppliers. The systems are fully redundant mission critical, and are used in civil aviation for flight control, airport control, air space reservations, flight obstruction notification and air space monitoring. Implemented a control and rating system for vendor selection. Designed a replacement network for the current ADIS (Aeronautical Data Interchange System), changing from multi-drop to point-to-point without any increase to the clients monthly lease fees. Assembled and conducted a hands on training program to educate operators and users on how to use and administer the new systems and software. Designed a redundant, wide area network to facilitate primary control centers in both Montreal and Ottawa and secondary control centers from any PSTN line. This network is client/server based, utilizing 56Kbps link with a guaranteed delivery protocol. Designed and developed remotely distributed front-end processors (FEPs) based on the Motorola Codex 6500 platform. This was a redundant design, communicating with over 300 domestic destinations and over 10 foreign destinations. Designed and developed an automated acceptance test system. This system adheres to the ISO9646 conformance testing methodology and the ISO 9000 quality assurance standards in an object-oriented manner. The design and documentation employed the Booch methodology of Rational Technologies. This test system runs on PCs, utilizing SCO Unix, Ingres and a Motif based GUI. The system consists of a series of loosely coupled processors (client/server), which simulates approximately 200 network stations and reduced the ATP phase from three months to three days. All output generated by a test was compared against the output generated by the current, live system and provided a delta report detailing non conformant packet responses.
Languages & APIs Tools OSs, Servers & Hardware - C/C++, Sockets, RPC, IPCS - MS Word - MACs, PCs, Codex 6500 - TCP/IP, Motif - MS Project - Cisco 5000 routers - Rogue Wave, DEBUG 2000 - Ingres Report Writer - DEC FTs, Fault tolerant VAXs - Ingres Windows 4GL - Rational Rose - Sun Sparcs - SCO Unix, DEC VMS
ONYX Compters Inc. Toronto, ON, Nanyang China Dec 1993 to Feb 1994 Independent Consultant Sep 1992 to Nov 1992 Senior Systems Engineer, Developer, Instructor Mar 1992 to Apr 1992
Assembled and conducted hands on training programs in Canada through an interpreter, for the equipment and their respective operating systems. Assisted in the integration, porting and development of seismic analysis software to be used in oil exploration in Nanyang China.
Languages & APIs Tools OSs, Servers & Hardware - C/C++, Sockets, RPC, IPCS - MS Windows - Unix, Solaris - TCP/IP, Motif - MS Word - VAX 4000 & 9000 - Rogue Wave, DEBUG 2000 - Sun Sparc & SGI workstations
Member of the Genoa development team. The Genoa project was a logistical control and inventory management system. In conjunction with the University of Georgia, a predictive analysis process was developed enabling the automated movement of materials within the warehouse to reduce shipping times and costs at certain times of the week, month and year.
Promis Systems Corporation, Toronto, ON Sep 1991 to Apr 1992 Independent Consultant, contracted to Samsung Computers, Soul Korea System/Software Engineer
Designed and developed a command interpreter used in the automated manufacturing of silicon wafers. This interpreter converted commands and data into the IEEE SECS-II protocol used by the manufacturing equipment. This manufacturing facility was totally automated and the first in the world manufacturing 10 silicon wafers.
Cantel Mobitex Data Communications, Toronto, ON Sep 1990 to Aug 1991 Independent Consultant, contracted to RAM Mobile Data, Newark New Jersey Hardware/Systems Engineer
Designed and developed and developed software which enabled the analysis of performance and throughput of packet switched RF data networks.
Designed and developed a gateway in conjunction with RAM Mobile Data of Newark New Jersey. This gateway utilized Telematics equipment on a proprietary platform to bridge X.25 and SNA packets into the Mobitex network.
Companies and assignments prior to 1990 will be made available upon request.