John C. Norton

jchnorton@verizon.net   /   liverpole.perlmonk.org 978-448-8377

SUMMARY A Veteran Toolsmith and Applications Specialist with over 25 years of Software Design, in Telecommunications, Networking, and a broad variety of other fields. Expert in Unix/Linux, Perl, C/C++, Object-Oriented design, and numerous scripting languages.  A quick learner with a passion for expanding my knowledge in all areas of software development.
 
SKILLS
O/S Linux, Unix, Solaris, Windows (NT, 95, 98, 2000, XP), Ultrix, VMS
Software  Perl, C/C++, Tcl/Tk, php, Expect, tcsh/csh, BASH/Bourne shell, HTML, XML, SQL, JavaScript, Visual Basic, Java, Fortran, Pascal, Ada
Source Code CVS, RCS, Accurev, Visual SourceSafe, ClearCase
Defect-tracking Bugzilla, DDTS
Linguistics Moderately fluent in Japanese and German
Organizations A contributing member to Perl Monks

EXPERIENCE
Alcatel-Lucent, Lexington, MA
(Formerly Alcatel)
Principal Release Engineer
July 2005 - Present
  
Responsible for implementing and managing the build and release process for the entire division (formerly the company eDial). Manager of the CVS sourcecode control system, and the Bugzilla bug-tracking system. Conceived of, designed, and wrote numerous programs for automating the build and release process.
Created the process for nightly checkouts and builds of the latest CVS version of the product, including email notification of build success/failure.
Conceived and created a "trigger" mechanism, written entirely in Perl, for initiating common tasks remotely via email (or Blackberry), to allow designated people to initiate builds, create ISO images (and burn to DVD), get status of builds, release builds to a customer-visible Internet server, and get a list of the status of previously-created build images.
Created cron jobs to save nightly backups of the CVS server, the Bugzilla server, and the "tools" directory (containing Perl scripts and modules shared among multiple servers).
Made modifications to the Bugzilla bug-tracking system, using both CGI and mySQL, to facilitate ease-of-use by developers and the SQA department.

Avaya, Inc., Andover, MA
(Formerly Spectel, Inc.)
Software Engineer
October 2004 - July 2005
  
Automation tools project leader. Responsible for conceiving, designing, creating, documenting and maintaining automation tools, primarily for use within the SQA group, to assure quality of the audioconferencing bridge.
Created the SQA Tools website using LAMP (Linux, Apache, MySQL, php), including installation and configuration of Linux, Apache and MySQL. Developed CGI and php scripts, combined with HTML and Javascript, to create pages providing access to all of my Automation Tools.
Conceived, designed and created a multi-threaded scriptable C program 'blast', for simulating up to 115 simultaneous BridgeTalk programs, by mimicking the socket traffic at the transport layer.   Created a simple programming language for writing 'scripts' to control the behavior of the audioconferencing bridge to provide full automation capability.
Authored the Perl/Tk GUIs "opstats" and "codr2xls", for use by customer-support and customers, to retrieve data from the audioconferencing bridge into a searchable format, and save the results to an Excel spreadsheet.
Conceived, designed and created a Perl/Tk GUI 'schedtool' which, running on Windows, schedules audioconferences, either from user input or by reading conference reservation parameters from a file.

Spectel Inc., Andover, MA
Senior Quality Assurance Engineer
May 2002 - October 2004
  
Automation tools project leader. Responsible for conceiving, designing, creating, documenting and maintaining automation tools, primarily for use within the SQA group, to assure quality of the audioconferencing bridge.
Conceived, designed and created a multi-threaded real-time monitor 'qmap' written in C, for detecting all telephony lines into the audioconferencing bridge. This tool allows developers, SQA engineers and customer support engineers to visualize all trunks of the bridge simultaneously, make changes to the states of channels, individually or in ranges, and supports T1-CAS, T1-ISDN and E1 protocols. In addition, an object-oriented scripting language was built in to support regression testing.
Conceived, designed and created a suite of object-oriented Perl scripts and library modules, for managing, testing and benchmarking the Informix Database, as part of the company's latest version of audioconferencing software. These tools allowed developers and SQA engineers to build up large archives of tests, with which to rigorously test database performance and data integrity.
Conceived, designed and created an automation tool consisting of two GUIs, 'ABTMon' (Client) and 'ABTNode' (Server), written in Perl/Tk for Windows, for managing large numbers of workstations, each running one instance of the company's bridge monitoring program 'BridgeTalk'. This tool has been invaluable in simulating the multiple user heavy loads that match customers' requirements.
Conceived, designed and created 'OpSim', a Perl/Tk GUI for simulating traffic to the APIs on the audioconferencing bridge, and associated C programs for capturing and analyzing data sent to the bridge at the API layer.
Conceived, designed and created 'ABC' (Auto Bridge-Configurator), a C program for configuring the audioconferencing bridge through the use of a previously saved configuration file. This process reduced configuration time from about 30 minutes to less than a second.
Provided technical direction on the first corporate project to provide prompts for Japanese audioconferencing, including supervision of the translation, and Q/A of the voice quality of the recorded prompts.

Avici Systems, Billerica, MA
Principal Software Engineer
July 2000 - December 2001
  
Maintained and upgraded "genconf", a switch router configuration tool in C++ for setting up IP packet data routes on modules running near line-rate traffic, and incorporated into systems test. Successfully upgraded the software for each new line card as it became available.
Designed and created 2 GUIs (perl/Tk, C/C++, Expect & Tcl) used by manufacturing to verify shipped product, and by mechanical engineering to pass formal EMI/EMS certification requirements. The GUI "systest" incorporated "genconf" and "sips", a real-time C program to report fiber optic traffic rates, and detect/log data loss. The GUI "oventest" created time/temperature profiles and tested router module performance at temperature extremes. Both GUIs interfaced with dozens of perl/Expect scripts.
Created Linux automation tools to customize Linux kernel rebuilds, add and configure new users on Linux workstations, and configure X terminal windows for each switch router module (depending on line card type). Performed numerous software installs, workstation upgrades and LAN configurations.
Designed and developed a software integration and release process to create CDROMs containing each new version of "systest", "oventest", and all of my Linux automation tools. Worked closely with manufacturing and mechanical Engineering to prioritize bug fixes, and incorporate new features into all of these software suites.
Wrote "grep" and "ls" subroutines for the switch router server to provide functionality identical to Cisco's router. Developed rigorous test procedures to verify the functionality of the software.

Comverse Networking Systems, Andover, MA

(Formerly Boston Technology)
September 1992 - July 2000

Fall 1999 - July 2000
Principal Software Engineer
  
Headed the "lbolt" project, designing a solution to the SCO Unix O/S kernel bug whereby the system would crash every 248.55 days. This involved upgrading the customer's O/S to a stable baseline, providing a solution to the 3rd-party Unix kernel vendor, designing tools to artificially recreate the bug, tools to test the fix, and all integration and release software.  The installation was successfully performed in Japan with no bugs and minimal downtime, despite the most demanding customer in Boston Technology/Comverse history.

Spring 1999 - Fall 1999
Engineering Program Manager
 
Acted as Engineering Program Manager for the NTT Y2K project.  Created and managed the entire bug database using Microsoft Excel and Visual Basic, providing daily feedback to the visiting Japanese review team of bug status and priority, and giving assistance translating conversations between English and Japanese.  Traveled onsite to NTT's test lab in Makuhari, Japan, and achieved the first ever 1st-time successful Customer Acceptance Test with NTT.

Fall 1998 - Spring 1999
Principal Software Engineer
 
Developed numerous voicemail-related tools in C for development and Q/A, including a real-time parser to convert Japanese voicemail prompts indices in a log file back to the original English text.
Developed C++ software to install and verify site-specific voicemail greeting prompts on NTT's voicemail systems, which also used Perl, Bourne shell and C-shell scripts.

Fall 1996 to Fall 1998
Senior Customer Support Engineer
 
Accepted a two-year ex-patriate assignment to Tokyo, Japan, as the only Japanese-speaking American in the Japanese branch office of Boston Technology.
Managed the software bug database for NTT (Microsoft Excel, Visual Basic and Word).  Communicated priorities to the R&D department in Andover, MA., and acted as liaison with the customer on software and hardware issues.  Developed test plans for software releases from the US., and made trips to the NTT lab in Hokuriku to perform pre-installation testing with the customer.

Made dozens of trips within Japan to various customer sites for all customers (NTT, DDI, Docomo), to install software and troubleshoot hardware.  Provided translation services to R&D members coming from the U.S. on business trips.  Was on call 24 hours to address voicemail outages and other issues.

Developed automation tools to install software remotely to all customer sites, over the x.25 network.

Summer 1995 - Fall 1996
Senior Software Engineer
 
Project leader for a group of 5 engineers developing the grammar-relevant portions of the Spanish voicemail application in C++, written for Telmex, the leading provider of voicemail in Mexico.  Created tools in C and C++ for managing the packaging and release of voicemail prompts.

Spring 1994 - Summer 1995
Senior Software Engineer
 
Part of a 20-person select group to work offsite designing AccessMax, a C++ GUI which interfaced with existing legacy application code and libraries in C, and allowed a developer to design customer-specific voicemail applications flows in a graphical format which served both as documentation of the application, and the application itself.  Later received patents on 3 icons I designed for the project.

Fall 1992 - Spring 1994
Senior Software Engineer
 
Translated voicemail prompts from English to Japanese for NTT Docomo, and managed the prompt recording process, for the first Japanese version of the company's voicemail product.  Wrote the language-specific portions of the voicemail application, traveling to Japan twice to meet with the Japanese team to agree on the voicemail application flow, the wording and recording quality of the prompts, and the software installation procedure.
Mercury Computer Systems, Lowell, MA
November 1984 - September 1992

Spring 1989 - Fall 1992
Senior Software Engineer
 
Wrote and/or maintained and regression tested all of the tools for the "mc860", an attached coprocessor based on the I860 chip by Intel, including the C, Fortran and Ada compilers, assembler, linker, library archiver, debugger, and code profiler.
Conceived and wrote "Interact", a monitor, test-environment and debugger written in "C" for all of the company's array processors.   Interact was used by virtually all of the developers and test engineers, and included its own symbol and alias tables, history mechanism, and command-file automation capabilities, and ran on every hardware system on which the array-processors were supported.  Interact was eventually made into a company product.

Fall 1984 - Spring 1989
Software Engineer
 
Developed numerous math, vector math and image-processing algorithms for the 16-bit & 32-bit array processors.  Wrote software test suites to exercise the FFT (fast Fourier transform), 2-dimensional FFT, and other compute-intensive algorithms.

Pencept, Inc., Waltham, MA
February 1983 - November 1984
Member of Technical Staff
 
Developed algorithms for distinguishing between handwritten letters, numerals, and punctuation, for a dynamic character recognition product.   Created the portion of the application responsible for recognizing differences between various punctuation and foreign language diacritical marks.
Lead a team developing recognition algorithms for the Japanese "Katakana" alphabet.

New Day School, Sendai, Japan
August 1981 - September 1982
English Language teacher
 
Designed ESL curricula for and taught English classes of all ages and ranges of ability.

EDUCATION
College Earlham College, Richmond, IN
BA Mathematics, 1981
Received highest score on written final exam for Mathematics.
Awarded Class Prize for Excellence in Mathematics


Foreign study Carl Friedrich von Siemens Oberschule, West Berlin, Germany
1976-1977