Aaron F. Endelman

Greetings! I'm a senior-level software engineer
with broad and deep industry experience.

I hold a Physics S.B. from MIT,
and studied Graduate Computer Science there.

My strengths are in
objected-oriented design and development
and Web and non-Web user interfaces.

I love to solve complex problems, and
enjoy working with other creative individuals,
designing and implementing cutting-edge software.

I'm especially interested in pursuing scientific research.

Aaron F. Endelman
191 E El Camino Real, Space 160, Mountain View, CA 94040-2715

Cell: (650) 996-0364
Email: endelman@alum.mit.edu
Web: alum.mit.edu/www/endelman


Bachelor of Science, Physics, with graduate studies in Computer Science.

2015 – present
Intra-employment period following Riverbed privatization layoffs.

I spent the first year following the layoff interviewing at many companies, but without receiving any offers. Since then, I've acquired a 3D printer and have created and printed various 3D designs using OpenSCAD and Simplify3D.

The printer is typically controlled via a USB cable by software on a PC. I've studied the Raspberry Pi family of microcontrollers, and have created a WiFi interface to the 3D printer using the little $10 Pi Zero W board, which runs Astroprint under Linux. With FreeVPN installed on the Pi and on my Thinkpad, I have a remote screen with a web UI that I can use to upload files and control the printer.

A natural follow-on to learning about the Raspberry Pi was learning and experimenting with the Arduino microcontroller. I've completed various tutorial-level circuitry and the associated C++ code; my actual interest is robotics experimentation, possibly pairing an Arduino and a Pi, with the Arduino serving as an actuator controller and sensor reader, and the Pi making decisions based on sensor data and sending actuator commands to the Arduino. I'm particularly interested in cooperative and emergent behavior between small, identical robot modules.

2010 – 2015
RIVERBED TECHNOLOGY, INC, Sunnyvale, California.
MTS (Senior Web UI Engineer)

Designer and developer on the core UI team for SteelHead, the industry's leading distributed enterprise application optimizer. Wrote a variety of web pages for the product's management console. Client side code written in HTML, CSS, JavaScript; server-side code in Python, PSP, REST; data transfer via Ajax, XML, JSON.

Wrote the Current Connections report page, central to displaying drill-down data for hundreds of web connections simultaneously. Although internally complex, the user interface itself is simple and easy to use.

2008 – 2010
Intra-employment period following LTX-Credence merger layoffs.

A reported excess of UI engineers in the newly-formed company resulted in layoffs. Within six months, nearly all the non-UI engineers from my group were also let go. These layoffs occurred just as the economy was going into a recession, and it took me two years to secure employment.

2007 – 2008
LTX CORPORATION, Milpitas, California.
Principal Software Engineer

Researched and prototyped an open-source replacement for the EnVision PlotTool, using Gnuplot as the server engine. PlotTool displays 3D representations of silicon wafer electrical and functional test results.

Added enhancements and bug fixes to the GUI layer of EnVision, a multi-million-line software package that controls the company's ATE (automated test equipment) hardware. The EnVision GUI comprises a set of about 20 Motif/X11 applications running on Linux and Solaris, with the source code under ClearCase control, and the facility ISO 9001 compliant.

2004 – 2007
On leave to address family medical needs.

1998 – 2004
SYNPLICITY, INC., Sunnyvale, California. (later acquired by Synopsys)
Senior User Interface Developer

Designer and developer for Certify product since shortly after project inception. Certify is a multi-FPGA partitioning tool for EDA engineers that runs on Windows, Solaris, HP/UX, and Linux platforms; in 2004 it was in its sixth major release.

Major accomplishments: designed and coded Analyst Connectivity View tool, Trace Assignment UI; augmented UI to support hierarchical boards; ported 32-bit Altera and Xilinx mappers to 64-bit systems; sped up UI by orders of magnitude, using profiling to tune third-party code; enabled unattended UI testing.

Coded in C, C++, and TCL, using Microsoft Visual C++ on Windows; ported to Unix via MainWin and Sun/HP/GNU development tools. Incorporated Rogue Wave Objective Grid and Objective Toolkit classes with standard MFC. Wrote Perl scripts to help analyze profiler output; used Purify to help identify memory leaks.

Partly to fully responsible for early Unix releases of Certify and its progenitor, Synplify, and for the adoption of CVS as the company-wide versioning tool.

1997 – 1998
NETWORK GENERAL CORP., Menlo Park, California. (later acquired by McAfee)
Senior Software Engineer, Internet Business Unit

Architect, designer, and developer, from project inception through FCS, of Java-based WebSniffer, winner of the 1998 ComNet New Product Achievement Award for Most Innovative New Product or Service. This monitoring tool performs web site performance and fault detection and analysis, was developed under Windows NT and Solaris, and runs on Internet Explorer and Netscape. Contributed broadly to the design, helping to flesh out the internal architecture of host agents and data repository. Responsible for all tabular displays in the GUI, including an original design for the main Alarms table; it displays large amounts of information in a manner easy to comprehend and navigate. Coupled Alarms table to expert solutions guide. Lead role in defining our software development environment: Visual Café Pro and MKS Source Integrity.

1994 – 1996
ELEMENTAL DESIGNS, INC., Mountain View, California.
My one-person software consultancy. Clients:

KORG R&D, Milpitas, California. (5/95 – 9/96)
Developed C++ code for embedded system in state-of-the-art music synthesizer. Emulator ran on Sun; target system ran on 68340. Emphasis on GUI development and code optimization. Occasional Macintosh programming using THINK C/C++.

ADAC LABORATORIES, Milpitas, California. (12/94 – 3/95) (later acquired by Philips)
Ported Pegasys medical imaging software from standalone SunView to networked XView window system. Emphasis on color, fonts, and graphics code, using the X11 library (Xlib). Integration of Unix system calls with XView notifier code. Heavy use of make and CVS.

1986 – 1994
SUN MICROSYSTEMS, INC., Mountain View, California. (later acquired by Oracle)
Software Engineer; Member of Technical Staff

Integrated Programming Environments Group (1991 - 1994).
Lead developer for integration of Emacs editor with SparcWorks programming environment for C and C++ on Sun Unix 4.x and 5.x (Solaris). Responsible for overall design, coding, and testing, including UI design, interprocess ToolTalk protocols, and Motif look-and-feel compatibility. Automated nightly Emacs builds with C-shell, Bourne-shell scripts. Wrote contract with major university for joint development effort. Regularly integrated university and in-house code releases using SCCS and TeamWare. Managed university- and locally-contracted employees. Maintained, enhanced C/C++ CallGrapher/ClassGrapher product, using XView, Xlib.

Symbolic Computing Group (1987 - 1991).
Engineered object-oriented software tools for Symbolic Programming Environment (SPE) for Sun Common Lisp. Contributed, over multiple releases, to all product phases: from conception through Alpha, Beta, and First Customer Ship. Conceived, designed, coded entire Code Stepper tool. Using PostScript and Lisp, implemented portions of NeWS-based window system. Designed, coded portions of Emacs Editor, interpretive Listener, Data Inspector, and Window Debugger. Ported portions of SPE to LispView, a Common Lisp Object System (CLOS) interface to the XView/Xlib window system. Led SPE and Lisp projects on occasion. Co-authored major paper on SPE that appeared in two publications.

Consulting Services Group (1986 - 1987).
Designed and implemented, in C, portions of a state-of-the-art foreign-exchange trading system for a major Wall Street bank. Provided Lisp prototyping services; extended Lisp/SunView window system interface.

1984 – 1986
SYMBOLICS, INC., Palo Alto, California.
Software Engineer; Member of Technical Staff

Provided Lisp software assistance, technical problem resolution. Responsible for pre-sales and post-sales customer support. Visited customer sites to resolve otherwise intractable problems. Wrote: "General problem solver" implementation; animated logic circuitry model; simple natural-language parser. Guest teacher by invitation at Symbolics West Coast Education Center. Received Symbolics Special Recognition Award.

Macintosh: Implemented a FORTH interpreter/compiler in 68K assembler.

Hardware: "Homebrewed" a 68008-based microcomputer, featuring 8K EEPROM, 8K RAM, hex keypad, 2 serial ports, from a textbook description. Built amateur radio transmitters, receivers, and test equipment. Hold Advanced-class license KK6QH.

Currently mentoring Python coding to teens in the international CoderDojo project's Silicon Valley branch.

Designed and taught an intensive 2-day course in object-oriented programming for Symbolics customers, and an intensive 5-day Lisp Machine Site Administration course.

Designed and taught a 14-week Amateur Radio course, culminating in testing for FCC Novice and Technician licenses. Student pass rate on FCC exam was 100%.

A. Endelman and S. Gadol, "SPE: A Common Lisp Development Environment for Sun Workstations", Sun Technology, Winter 1989. Portions of the article also appeared in Lisp Pointers of Oct/Nov/Dec 1988.

References and prior employment history are available on request. U.S. citizen.

Skills Summary of Aaron F. Endelman

191 E El Camino Real, Space 160, Mountain View, CA 94040-2715
(650) 996-0364

Senior-level software engineer with broad and deep expertise in a variety of disciplines.
Massachusetts Institute of Technology, S.B., Physics; graduate studies at MIT in Computer Science.
Design and
Web applications
Graphical User Interfaces (GUI)
Object-oriented programming (OO)
Electronic Design Automation (EDA)
Integrated Development Environments (IDE)
Automated test equipment (ATE)
Emacs internals
Embedded systems
Windowing systems
Medical imaging
C, C++
JavaScript, YUI
Lisp & CLOS
SPARC, Intel, Motorola assemblers
and Toolkits
Rogue Wave Objective Grid/Toolkit
Linux, SunOS/Solaris, HP/UX
Windows (since 3.1)
Macintosh (pre-Unix)
Korg proprietary
GNU Emacs (developer)
Sun SparcWorks IDE (developer)
sh, csh, ksh, sed, make, etc., etc.
Symantec C/C++
Microsoft Visual C/C++
Symantec Visual Cafe Pro
68340 in-circuit debugger
Source Code
MKS Source Integrity
PC, Sun, HP, Macintosh
Altera, Xilinx FPGA
Korg 68340-based music synthesizer
Symbolics Lisp Machines
PIC microcontrollers
"Homebrewed" 68008 computer
Advanced-class amateur radio license KK6QH