Erik A. Ayer
(***) -***-**** ********@*****.*** Fremont, CA
Summary: Computer Engineer with 20 years of experience in manufacturing testing and validation with emphasis on programming and scripting tests for defect screening and data analysis. Good with many languages under both Linux and Windows environments, especially familiar with Linux systems.
Skills:
Validation and screen for manufacturing, writing tests and test programs, debug and yield analysis
Good using tools to debug both analog and digital circuits, correlation of signals to program flow, specifically I2C, USB, JTAG
o oscilloscopes
o logic analyzers
o multi-meters
Proficient in many computer languages and data formats: o C, C++, Java
o Perl, Python, PHP, Javascript, Visual Basic, shell scripting o several assembly languages (x86, PIC, 8051, 6502) o SQL, XML and HTML
Experienced at installing several versions of Windows systems and multiple distributions of Linux, notably Gentoo, Linux From Scratch, and Arch, interfacing them together using different services and protocols
Familiar with basic driver structures on Linux
Basic understanding of cloud computing
Some experience with setting up small networks, inluding NAT, some experience programming with TCP/IP
Work History:
Stealth Startup Sept 2022-Present
Senior Staff Engineer
Automation of testing in Python/C/Shell.
Ayar Labs July 2022-Sept 2023
Senior Staff Engineer
Validation and testing of opto-electronic chips, porting of an FPGA design from one architecture to another (and learning what and FPGA is, plus Verilog). Managing data for receiver end of the chip along with test scripts in Python.
PsiQuantum Nov 2021-June 2022
Senior Systems Engineer
Bringup of new circuit boards validation plans and execution on those plans, validation and development of programs to talk to subsystems for quantum computing development. Mixing Python and C/C++ to collect data from stages used in positioning of optical components or chip probing. Tracking schematics and archiving them in a system. Zoox Feb 2020-Nov 2021
Senior Validation Engineer, Core
Validation engineer for core firmware: Validated and tested new code from Core Firmware Developers, ran tests through systems with automotive ECUs, developed infrastructure to automate tests.
• Automated function tests for multiple ECUs, interfaced with continuous integration.
• Automated tests for bootloaders on both CAN and IP-based ECUs. Nvidia Corporation Dec 2012-Feb 2020 Santa Clara, CA Product Development, Software Tools Development, Testing, Manufacturing Developed many test programs for GPUs to send to test floor and validated SoC packages, developed new system to help in flow control and automatic debug of failures
Developed a program in Perl to help automate various tasks by using XML to define a state machine of programs that perform various tasks, used to collect extra data on failures, allow common fixes to problems to be encoded and tested easily, and to save data in a readable format that can also be used to create graphs or other charts
Characterization and debug of failures impacting yield
Understanding failures of components connected to SoC systems and resolution of problems
Developed new architecture for test programs that makes updates a lot easier to implement, tracking of versions easier, and keeps files maintained by different groups separate
Participated in power-ups of various chips, both GPU and SoC, to get screening running quickly, along with fuse programming and other functionality
Used Python to automate downloading test program from repository, copying in files from network storage, creating configurations based on inputs, as well as several smaller Python project to interface with testing software
Intel Corporation May 2000-August 2012 Folsom and Santa Clara, CA Product Development Engineer for Power/Thermal (December 2009 – August 2012) Developed manufacturing solutions to allocate power to microprocessors by collecting per-part data in test program, feeding to calculations, and sending results down-stream to other tests
Designed, programmed, and tested power calculator to determine voltage operating points of XEON processors to insure correct operation at lowest power consumption, resulting in higher yield to low-power, high demand market segments
Extracted and analyzed development and production data to monitor silicon health, gave feedback to team to adjust formulas and guard bands, automated data collection and publication using automated scripts and tools for graphing to enable quicker reactions to problems and faster time to market
Validated and debugged power tests for new processors and new product steppings, applied and adjusted initial operating parameters, debugged test features
Designed and implemented a process to program special parts for customers to run at the design power specification to enable validation of systems and power supplies Product Development Engineer for Platform Verification (August 2003 – December 2009) Developed manufacturing solution for system-based tests of multiple operating systems and suites of test content, starting with power-on of new products and ending with deployment to factory
Created test programs and test suites using multiple operating systems and test content to screen material for defects in a system environment, brought new program designs and coding styles to make test program code reusable across products and easier to debug, increasing outgoing quality and reliability of material
Managed early development of platform screening, using non-automated systems and creating early test content, enabling earlier development of other tests
Brought new tools and capabilities to team, including USB-based oscilloscopes and logic analyzers to assist in debugging test program code that drives I2C, JTAG, and other busses to the test system and to facilitate collaboration with motherboard and automation hardware designers in debugging test system issues
Found innovative ways to work around problems or to fill gaps in the automation hardware, specifically designing and building small circuit boards to work around gaps in test systems and to allow more direct control of JTAG interfaces
Interfaced with other manufacturing teams to design data flow from one test system to the next in order to insure correct programming and configuration of material sold
Used Python with In-Target-Probe to get and set state of chip while debugging Pre-silicon Debug Engineer For Full-Chip Validation (November 2002 – August 2003) Validated pre-silicon models for new processor with a suite of tests, feeding back problems to design team
Debugged tests failing during simulation on processor models, including model bugs, simulation environment bugs, and test failures due to architecture changes
Automating execution of test suite on new models, posting of results, and tracking failing tests Lead Engineer for Network Validation Team in Compatibility Validation (May 2000 – November 2002)
Provided technical leadership to team of techs to run test suite on new microprocessors and new versions of processors, debug initial failures and assist with deeper debug
Developed new tests, especially with Linux, including custom builds of Linux from source code
Part of Analysis team which characterized hardware and applications of how they drive activity on various system busses to insure coverage of system features
Created and maintained web site for data from analysis, using MySQL, PHP, and Apache under Linux
Provided support for Linux issues in the Compatibility Validation lab, and occasionally with adjacent teams to enable tests and debug of issues Instructor For Post-Silicon Debug Class At Intel-U As needed, instruct classes for post-silicon Linux debug: several taught while working at each job within Intel, giving lectures on Linux subsystems and internal data structures as relates to debug, and assisting students with labs to solidify debug skills
Sorensen Associates Troutdale, OR July 1999-May 2000
Maintained and updated Linux servers and Windows clients: installing Red Hat and special applications, maintaining network and services (Samba, local web server, etc.)
Maintained and updated Windows systems throughout office: assembling hardware, installing OS and programs, connecting to office network and shared drives
Develop new solutions and improvements for office network infrastructure across two sites Education: B.S. as a triple major in Computer Engineering, Electrical Engineering, and Physics at Portland State University
Special Projects:
Developed RGB laser animation system, using a PIC microcontroller interfaced to Linux via USB with a custom driver, D/A conversions to drive scanners and intensity of beams, programmed firmware for PIC and driver for Linux
Used USB-based logic analyzer to capture USB packet and transactions on the bus, decoded, interfaced with HID interface under both Linux and Windows (C#)
Building a quantum experiment to test wave function collapse of entangled beams: interferometer, scanning pattern across light sensors to record back into Linux, designing printed circuit boards and some machining for optic mounts, microcontroller and USB, custom Linux driver, learned how to program for CNC (computer numerical control) to drive milling machine, programmed in g-code
Designed simple objects for 3D printing using Openscad, printed out objects and adjusted printer parameters to improve quality