Alan Porter
611 Park York Lane, Cary NC 27519
porter611@kr4jb.net


ATTENTION RECRUITERS:
 •  I am *not* interested in relocating.
 •  Please send job descriptions to porter611@kr4jb.net before calling during the work day.
 •  The most recent copy of the resume is at http://AlanPorter.com/resume .

SUMMARY
Embedded software engineer and mobile applications developer. Linux desktop user since 1992. Pioneer in embedded Linux (2002), also familiar with RTOS's. Published iPhone application developer. Expert level C and C++, comfortable with Python and Perl. Familiar with Web 2.0 (PHP, Javascript, CSS). Interest in security and common-sense usability. Team player or individual contributor. Articulate, explains complex ideas well. International experience.

RECENT WORK EXPERIENCE
Tekelec, Research Triangle Park NC
Software Engineer
October 2006 to present

 •  Enterprise Linux Distribution
Supported and made enhancements to Tekelec's RHEL-based Enterprise Linux distribution. Added new capabilities to internal build tools. Supported high-availability features for telecom-grade reliability.
 •  Web Application Development
Wrote PHP and Javascript code for Tekelec's "Eagle XG" routing products: GSM cellular call routing, 4G/LTE service mediation, DIAMETER authentication.Worked with Zend (model-view-controller) framework and Dojo UI widgets. Software deployed on Linux-based high-availability clusters.
 •  Security Analysis
Hardened Tekelec's platform software for approval by US Military (DISA).
TMIO, Research Triangle Park NC
Software Engineer, Embedded Linux System Designer
February 2004 to October 2006

 •  Start-up Company
First employee at software development office in RTP. Active in product planning and technology evaluation. System administrator duties included network planning, DHCP, DNS, internet domains, VPN, internal email, source code control (subversion), printers, automated backups.
 •  Embedded Linux System
Created a custom Linux distribution to run on a single-board computer with limited resources. Selected open source packages and organized them them into a repeatable build process. Wrote device drivers for custom hardware. Provided run-time platform for other developers.
 •  C++ Appliance Control Software
Wrote custom software in C++ to control an "Intelligent" oven appliance. Interfaced with several open source libraries (log4c++, Xerces XML, SQLite). Developed XML protocol that client applications use to control the oven.
 •  Security Analysis
Evaluated the security of the product design, both for the oven in the home and for the back-end servers.
Ericsson, Research Triangle Park NC
Embedded Software Engineer
March 1998 to March 2003

 •  Cellular Phone Software
Wrote embedded software (in C, assembly) for mainstream cellular phone products. Added support for camera accessory and high speed data services to CDMA phones (Sprint, Verizon). Wrote device drivers and protocol software for a GSM-based FM radio phone, shown at CeBit-99. Developed over-the-air instant messaging protocol for a concept phone for teenagers.
 •  Ericsson Cyberlab Singapore (16 months)
Built prototype gadgets to visualize and test 3G application concepts and home network services. Test results led to changes in mainstream product designs. Team leader for the prototyping group (three engineers). Created a phone simulator to test application flow in user trials.
 •  Special Assignment in Sweden (2 months)
Served as liaison between development groups in the US and in Sweden. Chosen for my ability to comprehend and explain wide technical problems. Directed 3rd-party contractors in implementation of "push" feature for WAP mini-browser.
 •  Professional Training
Completed technical courses on Embedded Linux, Speech Recognition and Digital Signal Processing. Attended Leadership Core Curriculum management training.



EARLY WORK EXPERIENCE
A4 Health Systems, Cary NC
Graduate Student / Software Engineer
October 1996 to December 1997

 •  Unix Back-End Server Processes
Re-engineered unix server processes for enVista Document Manager product. Increased system reliability, automated the installation process and cut maintenance costs. Instituted a version control system for back-end programs, scripts and data files. Used Oracle and Sybase SQL.
 •  Formal and Informal Training
Taught in-house classes on unix and client-server technology. Performed customer-site installations and training.
Chickway Systems, High Point NC
Senior Software Engineer
May 1994 to October 1996

 •  CTS-6000 Touch Screen
Project leader and primary developer for CTS-6000 industrial weighing and labeling station. Developed long-term project goals and managed (sometimes conflicting) requirements. Designed user interface for industrial usability. Wrote entire embedded software package in C++, including a cooperative multi-tasking scheduler, a TCP/IP network interface, and a reliable data storage system.
 •  Unix-based Inventory Management System
Led the design of Computerway bar-code scanning system. Wrote inventory management software that is used in a warehouse environment. Developed custom software for wireless handheld bar-code scanners. Created database tables using the Sculptor data modeling tools.
 •  Customer Interaction
Installed and supported CTS-6000 touch screens in working poultry processing plants. Supported sales team on pre-sales plant visits.
General Electric, Charlottesville VA
Software Engineering Contractor
January 1993 to May 1994

 •  Unix/PLC Communication Protocols
Designed and implemented an ethernet communication bridge between a unix workstation and GE Fanuc's Programmable Logic Controllers.
Nortel, Research Triangle Park NC
Software Engineer
August 1991 to January 1993

 •  Unix Tools
Developed unix-based version control and software development tools for the Network Services Division.
 •  Special Assignment in Maidenhead, England (6 months)
Performed sanity tests and feature tests on international telephone gateway switch.

EDUCATION
North Carolina State University, Raleigh NC
Master of Computer Science
January 1997 to December 2000

 •  Courses of interest: Real Time Systems, Network Security, Wireless Communication, Human Computer Interaction.
 •  December 2000: Master of Computer Science degree.
 •  May 1991: Bachelors degree in Mechanical Engineering, Computer Science Minor.

ACTIVITIES AND INTERESTS
 •  Active member of the Triangle Linux User's Group. Steering Committee member in 2008, Chair in 2009-2011.
 •  Active member and occasional speaker for the IEEE Embedded Systems interest group.
 •  Elected 2004 president of the Triangle Amateur Robotics club. Organizer and presenter. Volunteer judge for First Lego League.
 •  Published an iPhone app called "Tipster", available through Apple iTunes.
 •  Wrote a Real Time Operating System (RTOS) called "Presto" for Motorola 68HC11 and Atmel AVR.
 •  Publication: "Multitasking on the Cheap", Dr Dobb's Journal, February 2004. A simple way to implement multiple program threads by using a cooperative scheduler.
 •  Attended security conferences: CarolinaCon (Chapel Hill) and Hack In The Box (Kuala Lumpur).
 •  Two years' study of Mandarin Chinese language.
 •  Amateur radio operator. Extra class license, callsign KR4JB.
 •  Private pilot (September 2006). Member of the Wings of Carolina flying club.

http://AlanPorter.com/resume
updated 17 February 2011