Alan L. Wendt
1517 N Wilmot #306
Tucson, Arizona 85712
(520) 907-7640
alan.wendt.per@gmail.com


LANGUAGES

C, C++, Java, Perl, XP/L, Icon, Lisp, GPSS, Basic, PL/I, RPG, APL, Prolog, Fortran, and Cobol. Vax, PDP-11, x86, Z80, Motorola, PPC, ARM, Data General, and General Automation SPC-12 assembly languages.

EXPERIENCE

2011-present Principal Software Engineer, Shutterfly LLC, Phoenix, Arizona Principally back-end services written in Java, along with some browser-based Javascript, Rust, Typescript, and Coffeescript. Three years ago the entire stack was migrated to AWS, and we are gradually migrating the monolithic appserver into micro-services. The services primarily support customer shopping. They aggregate catalog information, images, Bloomreach-based search, and pricing information to provide the client with a single source of information about Shutterfly's extensive product offering.

2008-20011 Senior Software Engineer, A2Z Development (Amazon), Phoenix, Arizona Principally back-end services written in C++ and Java.

2006-2008 Member Technical Staff, Google, Phoenix, Arizona

Internal Web applications supporting Google's Human Resources staff including: employee self-serve, employment application handling, employment offer workflow handling, and passive candidate search. Most of my work was done in Java, using a J2EE-like environment and the IntelliJ interactive debugging environment. I also worked with user interface internationalization, data uploads, and database schema migration script analysis, and I did some algorithmic work using map-reduce with duplicate job candidate detection and disambiguation.

2004-2005 Senior Systems Architect, Scientific Technologies Corporation, Tucson, Arizona

Web applications to collect and display epidemiological data, in support of several state departments of health. The applications are written in Java and use SQ/L, JDO, Apache, Struts, and Jasper reports. Interfaced the system with Oracle's IHUB product for transmission of HL7 messages (medical lab test results).

2003 Senior Research Consultant, Nokia, Boston, Massachusetts

Systems programming on Linux and Windows 2000 for the embedded Java system that runs under the Symbian OS on Nokia cellular phones. I augmented the Java classloader and worked to provide on-device debugging support to Sun's KVM. Programming done in Java, C, and C++.

1998-2002 Lead Software Engineer, Newmonics LLC (Now Aonix), Tucson, Arizona

Java compiler design and implementation under Linux and Windows NT for Intel, PPC, and ARM architectures. Designed and implemented optimization and code generation algorithms for Just In Time (JIT) and Ahead of Time (AOT) Java compilers. Promoted (August 2001) to head the team of three developers. During our work on this project we more than doubled the speed of generated code, and we added the PPC and Arm ports to the existing x86 framework. The Perc real-time Java VM runs under Linux, Windows NT, PSOS, and VxWorks.

1995-2000 Founder, EZLink Internet Access.

In 1995 EZLink was Fort Collins' first provider of dial-up Internet Access to the public. I ordered all phone and data services and all equipment and configured it. Space does not permit a full list of duties involved, but they include configuring Cisco routers, Linux, Livingston Portmasters, Cyclades multiport cards, new servers, Apache web servers, etc. I found and fixed bugs in vendor-supplied authentication software (RADIUS), in the uugetty code, and in the Linux Cyclades tty drivers. Billing and accounting systems written in Perl, Shell scripts, awk, and C under Linux.

1989-1994 Assistant Professor, Colorado State University.

Teaching: comparative programming languages, operating systems, compilers. Research: fast retargetable code generation, use of artificial intelligence (2D bin packing heuristics) in screen layout systems. Most development done in the C and Icon programming languages under Unix.

1984-1988 Research associate, University of Arizona.

1981-1995 Director of IT, PRN Inc. (part time 1984-1994).

This company supplied supplemental nursing services to hospitals and private homes, on a basis similar to that of Kelly or Manpower. Nine of our offices ran applications and database systems developed by me. The system contained some 80000 lines of C code and included an ISAM-based relational database, interactive schema definition facility, report generator, file maintenance utilities, text formatting utility, and application code. The applications included healthcare billing, accounts receivable, payroll, general ledger, and bank statement reconciliation. Most programming done in C. Additional programming in shell scripts, awk, and Perl. The system was originally written in Basic under CP/M. It was later recoded in C and ported to Xenix, Venix, and Linux.

1987-1988, Photometrics, Inc, of Tucson, Arizona (part time).

This company (now Roper Scientific) manufactures high-end imaging systems. I worked on image processing algorithms such as high-speed multiplicative scaling and CCD device drivers. All programming written in C.

1984-1985 Xydac, Inc. of Tucson, Arizona (part time).

Development of a user-level language and compiler for an object-based distributed real-time factory automation control system. All programming written in C for Vax VMS.

1978-1981 Partner at International Micro Systems, of Miami, Florida.

Systems software development, including database and financial applications. Sales and customer support. Hardware design and maintenance.

1978 ModComp, Fort Lauderdale, Florida.

Support of math and runtime libraries under two real-time operating systems. Software tools and compiler development in XPL.

1976-1978 Systems programmer, Data General Corp. of Westboro, Massachusetts.

I worked on a team that converted INFOS (an extended, multi-level ISAM) to AOS, an operating system announced by DG in 1978. The programming was entirely in assembler except for some utilities, which are in an XPL-like language. I worked on file space management, multi-thread command dispatch and locking protocols, memory management, and some utilities.

EDUCATION

M.S. 1984, Ph.D. 1988, University of Arizona
B.S. University of Florida, 1975

PUBLICATIONS

Analyzing and Compressing Assembly Code, Proceedings of the SIGPLAN '84 Symposium on Compiler Construction, SIGPLAN Notices 19, 6 (June 1984) 117-121 (with C. Fraser and E. Myers).

Integrating Code Generation and Optimization, Proceedings of the SIGPLAN '86 Symposium on Compiler Construction, SIGPLAN Notices 21, 7 (July 1986) 242-248 (with C. Fraser).

Automatic Generation of Fast Optimizing Code Generators, Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation (with C. Fraser).

A Retargetable Optimizing Code Generator Generator. Ph.D. dissertation, University of Arizona, 1988.

Fast Code Generation Using Automatically-Generated Decision Trees, Proceedings of the SIGPLAN '90 Conference on Programming Language Design and Implementation, SIGPLAN Notices 25, 6 (June 1990), 9-15.

PERSONAL

I hold a private pilot license, single-engine.

PROFESSIONAL ACTIVITIES AND AWARDS

David L. Clark Memorial Scholarship Referee: Information Processing Letters, Software Practice and Experience