
Senior Software Advisor/Architect/Designer
Ottawa, Canada Area

Senior Software Advisor/Architect/Designer
Ottawa, Canada Area
A hands-on innovative thinker possessing strong analytical and problem solving skills with excellent written and oral communication. Dependable self-motivated technical leader and team player. More than 21 years of software development experience.
Embedded Linux, carrier grade architecture, low-level software/firmware, virtual machines, operating systems, realtime recovery, computer architecture, technical course development and delivery
(Computer Software industry)
2008 — Present (1 year )
Creating new board support packages for Linux. Porting Linux to run on hypervisor technology.
(Public Company; 10,001 or more employees; NT; Telecommunications industry)
2006 — 2008 (2 years )
● Ported embedded software from Linux 2.4 to 2.6, including kernel modifications
● Implemented software to integrate new PMC hardware into existing proprietary platform
● Designed and implemented Linux bootup infrastructure for a new third party server, including bootloader approach and raid solution
(Public Company; 10,001 or more employees; NT; Telecommunications industry)
2003 — 2006 (3 years )
● Designed and implemented the Linux base software infrastructure for an embedded system controller common to all service cards in the shelf
● Architected and implemented U-boot modifications to deal with multiple firmware banks, including a backup copy of U-boot itself
● Wrote a Linux flash driver
● Designed and implemented a raid approach on the platform using Linux infrastructure
● Architected and implemented low-level maintenance software dealing with failover in an active/standby control card architecture
(Public Company; 10,001 or more employees; NT; Telecommunications industry)
2000 — 2002 (2 years )
● Architected the control module (core) component of the Communications Server 2000-Compact, a voice-over-IP softswitch based on Motorola cPCI PowerPC (750 & 7410) hardware and Linux.
● Designed the virtual machine software layer extensions to enable running Nortel's 30 million lines of telephone switch code on this Motorola hardware instead of Nortel's proprietary DMS public switching hardware platform.
● Architected a carrier grade Linux distribution for the softswitch.
● Provided requirements to Motorola and evaluated their board designs for performance.
● Conceived, designed, and implemented a virtual machine layer to host the VrTX-based media gateway controller software on PowerPC Linux. This was accomplished through low-level emulation of hardware.
● Wrote the product specification document for the Communications Server 2000-Compact.
(Financial Services industry)
1999 — 2000 (1 year )
● Co-inventor of internet micropayments technology which led to this Nortel spinoff. It was sold in 2008 to Ebay for $945 million.
● Initiated software development to allow micropayments from cellphones.
(Public Company; 10,001 or more employees; NT; Telecommunications industry)
1997 — 1999 (2 years )
● On own initiative, ported Nortel virtual machine technology to Linux on Mac hardware which sped up software load production (compile, link, datafill) time by a factor of 15. This saved thousands of hours of designer productivity.
● Ported the Linux kernel to the processing element of the latest generation of DMS telephone switch core hardware. This was based on the PowerPC 604 microprocessor.
● Prototyped Linux hosting of DMS telephone switch software. This led to the Communications Server 2000-Compact program two years later.
(Public Company; 10,001 or more employees; NT; Telecommunications industry)
1995 — 1997 (2 years )
● Ported DMS telephone switch operating system software (SOS) to multiprocessor prototype hardware. This involved writing and analyzing large amounts of PowerPC assembler.
● Core member of the Public Switching real-time recovery team. Achieved 1.4x speedup on mobile switching unit and exceeded targets for all products. Contributions include optimization of both key assembler routines and key operating system routines. Also helped define high-level language enhancements and their use.
● Created a real-time recovery course and delivered it extensively through the Public Switching organization. Details included analyzing compiler output in assembler so that efficient use of high-level language constructs could be verified.
(Public Company; 10,001 or more employees; NT; Telecommunications industry)
1993 — 1995 (2 years )
● Ported the proprietary DMS Operating System (SOS) to Nortel designed RISC hardware based on the next generation Motorola MC88110 microprocessor. This was called the DMS Series 70 core.
● Architected, designed, and co-implemented the mismatch handler for the Series 70 core. The mismatch handler runs on both sides of this duplex redundant core, when the two sides drop out of lockstep execution due to a fault. The mismatch handler determines which side is faulty so that system control remains with the sane side.
(Public Company; 10,001 or more employees; NT; Telecommunications industry)
1992 — 1993 (1 year )
● Investigated processes and tools to enhance designer productivity and increase quality of designs.
(Public Company; 10,001 or more employees; NT; Telecommunications industry)
1989 — 1992 (3 years )
● Ported the proprietary DMS Operating System (SOS) to Nortel designed RISC hardware based on the Motorola MC88100 microprocessor.
● Designed new features for the operating system as well as supporting it.
(Public Company; 10,001 or more employees; NT; Telecommunications industry)
June 1986 — 1989 (3 years )
● Designed and co-implemented a clock-level accurate computer architecture simulator. Used it to perform trace driven simulation to design a RISC-based architecture (Motorola MC88000) for the next generation of Nortel's DMS telephone switch core. This simulator successfully ran the entire DMS core firmware and operating system, shaving months off of hardware/software integration time.
● Designed and implemented a language using yacc to control the architecture simulator. This language allowed a plug-and-play approach to placing multiple processors and cache/mmu units on shared buses.
(Public Company; 10,001 or more employees; IBM; Information Technology and Services industry)
1982 — 1985 (3 years )
● Tool development, test drivers, firmware debugger for MC68020 board, parts tracking system development, sales and order report generation
BMATH , Honours Co-op Computer Science with Electrical Engineering Electives , 1981 — 1986
Travelling - I have visited 34 countries so far, hiking, bass fishing, trivia, personal computers
The Nortel Technology Award of Excellence for 4th quarter 2002 - "Carrier Grade" on Linux Platform.
Was three times awarded the Nortel Crystal Apple for outstanding teaching.