résumé

                              Alan Porter
                   611 Park York Lane, Cary NC 27519
                          porter611@kr4jb.net
                             (919) 386-9188

------------------------------------------------------------------------

[SUMMARY]

Embedded software engineer and mobile applications developer. Linux
desktop user since 1992. Pioneer in embedded Linux, 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.

NOTE - jobs are not listed in chronological order.


------------------------------------------------------------------------

[EXPERIENCE - MOBILE AND EMBEDDED SOFTWARE]

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.

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.

------------------------------------------------------------------------

[EXPERIENCE - UNIX SERVER SOFTWARE]

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 usage.

 + WEB APPLICATION DEVELOPMENT
   Wrote PHP and Javascript code to launch and monitor system software
   upgrades. Worked with Zend framework and Dojo UI widgets. Contributed
   to Linux-based high-availability cluster that is used for nation-wide
   cellular call routing (HLR).

 + SECURITY ANALYSIS
   Hardened Tekelec's platform software for approval by US Military
   (DISA).

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.

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.

 - 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 24 February 2010