Andrew D. Isaacson's Resume 136A Downey St San Francisco, CA 94117 +1-415-509-3112 adi@hexapodia.org Objective A challenging opportunity to develop software to solve difficult problems in a collegial environment. Skills - Design and implementation of fast, robust, secure, supportable software systems -- storage, networking, communications, encryption. - Embedded software; including drivers, board bringup, system design. - Linux kernel engineering, including CPU init, network drivers, filesystems and storage stack. - Performance analysis and tuning of complex networked systems - Cryptography implementation (including healthy fear thereof) and security research/engineering. Technologies - Very proficient in C, Go, Python, Java, C++, Perl, MPI, FORTRAN 77/90, Bourne/Korn shell, and the ARM, MIPS, amd64, SPARC, and Cray assembly languages. - Familiar with JSON, JavaScript, HTML5, Scheme, SOAP, LAMP, InfiniBand, SQL, NoSQL, OpenGL, Common Lisp, lex/yacc, and RPC. - Experience writing complex Makefiles, using source control, and dealing with software maintenance issues. Github, CircleCI, Docker, Jenkins. - 20+ years experience on Unix systems, including Linux/x86, Xen, KVM, Linux/MIPS, Solaris, IRIX, UNICOS, UNICOS/mk, OpenBSD, Linux/Alpha, NetBSD, Linux/PowerPC, SunOS, AIX, and HPUX. - Cloud computing: AWS, serverless computation, containers, SDN. - Android development (junior level). - System administration experience on Linux (x86, Alpha, MIPS, Debian, RedHat, Fedora, Ubuntu), Solaris, OpenBSD, AIX, and HPUX, including hardware installation and maintenance, OS installation, and day-to-day operations. Open Source Projects and Contributions - various Linux Kernel patches as adi@hexapodia.org - https://github.com/radii - https://issues.apache.org/jira/issues/?jql=assignee%3Dadi2 Employment History - Honeycomb (Nov 2017 - Oct 2018) Small and ambitious team required role flexibility and judicious allocation of focus. I performed three roles -- Senior Software Engineer: Implemented storage engine features in Go for deployment on AWS. sqlx, RDS, S3, ELB, etc. Peer reviewed code, did on-call engineering rotation, root caused outages. Engineering Manager: Led team of 3. Focus on empowering engineers, improving inter-team communication, delivering high quality code on time. Security Lead: Analyzed design and implementation of novel encryption technique and supported customer evaluations thereof. Led SOC2 Type 1 audit team. Evaluated bug bounty submissions and coordinated responses. - Orion Labs (formerly OnBeep) (Sep 2013 - Sep 2017) Architected and built realtime streaming voice wearable and server infrastructure. Grew engineering team from 2 to 25. Spun up two production lines overseas. Drove quality improvement throughout product lifecycle. Designed multiple "that's impossible" technology capabilities; shepherded implementations with engineering teams and contractors to ensure successful product launches. Developed skills as necessary to unblock business critical issues. - Integrated Plasmonics (contract) (Apr 2013 - Jun 2013) Linux driver development for MT9V034 camera on OMAP Delivered build system and documentation with software deliverable - Cloudera - Software Engineer (May 2012 - February 2013) Contributed to Hadoop HDFS. Performance tuning, feature implementation, documentation infrastructure, bug triage, support escalations. - VMware - MTS (Dec 2008 - May 2012) Significant contributor to CVP platform. Defined Linux kernel git- based strategy, specified git requirements, documented and implemented strategy, and maintained Linux kernel integration throughout project. Triaged dozens of bugs ranging from drivers (input, GPU, TPM, USB) to VM and scheduler interactions to filesystem throughput issues. Pushed patches upstream to kernel.org and sheperded patches into CVP tree. Developed innovative boot mechanism for CVP which enabled significant new use cases and improved integration with upstream Ubuntu process; collaborated with other engineers to turn PoC into viable strategy; results demoed onstage at VMworld 2010. Designed and implemented "WOVD" (write-once virtual disk) disklib backend targeted for VMDK-on-FAT-on-flash VM deployments. Advocated, developed, built systems for, and proved value of increased developer unit testing of several core libraries and subsystems. Drove internal security awareness and convinced key stakeholders of necessity of multiple critical security fixes. Proposed solutions for multiple grody protocol security problems, which were chosen for implementation. Interfaced to outside security researchers; assisted hiring of internal security engineering team. - BitTorrent - Senior Engineer (Sep 2007 - Aug 2008) Ownership of multiple web API services. Improved single-node throughput by 3x to 10x through analysis and performance improvement; designed horizontal scaling strategies. Facilitated communication between engineering and ops/deployment. Documented system architecture. Participated in protocol and architectural processes. - Penguin Computing - Senior Software Engineer (Sep 2006 - Sep 2007) Kernel engineer for HPC clusters. Maintain InfiniBand drivers and stack. Contribute to BProc develoment and maintenance. Act as Linux community liason. Root cause difficult bugs in hardware, BIOS, kernel, applications, and the interactions between them. Facilitate communication between disparate groups within the company. - PeakStream - Software Engineer (January 2006 - August 2006) Designed and implemented APIs for numerically-intensive computation on stream processors. Debugged complex system and OS interaction including hardware debugging and Linux kernel recommendations. Implemented API functionality including free pool management, fault detection through argument sanity checking, and template-based code generation to ease maintenance. Conceived, designed, and implemented a new application of 'obstack'-style object management to allow pseudo-automatic allocation and deallocation of anonymous temporary objects in C. Worked closely with documentation writer and lead system architects to develop a model for explaining a complex system in user-comprehensible terms. - Broadcom - Senior Staff Software Engineer (Sep 2004 - January 2006) Starting with support of one minor CPU, quickly grew into key role as primary software engineer within systems group of CPU business unit. Provided deep understanding of entire CPU-software interface, including device drivers, compilers, microbenchmarks, operating systems, errata workarounds. Contributed in multiple areas including documentation, customer escalations, open source evangelism and interface, future product definition, internal tools. Developed the required knowledge to understand the entire software stack and its hardware interfaces, from register allocation and pipeline scheduling through page tables and the OS interface to overall system performance and application suitability evaluation. - BitMover, Inc. - Software Engineer (Sep 2003 - July 2004) Contributed features, bugfixes, and customer support at extremely focussed software company. Company's primary product, BitKeeper, was a unique advance in the source control field; I performed feature enhancements and bugfixes in support of the algorithmic core. Also performed systems administration and customer support activities. - Unlimited Scale Inc - Employee #12 (SW Eng) (Sep 2001 - Sep 2003) Joined growing startup and contributed in many areas, including Linux cluster software definition and prototype, software development and integration, linux-kernel liason, kernel debugging, software deployment at beta sites, system administration, office network build-out. Company merged into Cassatt Inc. - Cray Inc - Member of Technical Staff (Sep 2000 - Sep 2001) Implemented new features and fixed bugs in MPI implementations for Cray SV1 and X1 systems, and assisted porting of various software to Cray SuperCluster. - U of MN Laboratory for Computational Science and Engineering (LCSE) - Research Assistant (Jan 2000 - May 2000) Implemented Cray SHMEM API for VIA (Virtual Interface Architecture) on Windows NT (using Finisar FC-VIA interfaces) and Linux (using VIA over Ethernet). - U of MN - Teaching Assistant (Sep 1999 - Dec 1999) Served as recitation instructor for CSCI1901, Structure of Computer Programming. Duties included answering student questions, tutoring students on specific concepts, and teaching programming skills. - SGI - Member of Technical Staff (June 1999 - Aug 2000) Worked on SGI's various MPI implementations for Origin 2000, Cray T3E, and Cray PVP (SV1, J90, T90). Added features such as MPI2 C++ support. Developed bug fixes and feature enhancements. - Honeywell Technology Center - Programmer (June 1998 - August 1998) Duties included - Bug fixes and feature implementation for HTC's system analysis tools, including optimization problems and component integration issues - IBM - Programmer (June 1996 - Nov 1996; June 1997 - Aug 1997) AS/400 Support Center - Tools and Technology Team UNIX developer (C and Tcl/Tk on AIX 4.x) Duties included - Designed and implemented ACDMon, a distributed near-real-time client-server data monitoring system - Assisted with implementation of Quality Monitor, a GUI interface and backend system providing call recording and scheduling to the support center - MTU Information Technology - System Administration Services (IT-SAS) - Systems Programmer/Sysadmin (September 1995 - May 1999) Duties included - Configuration and maintenance of Sun, PC, and Macintosh hardware and system software - Programming and scripting in support of SAS's mission; especially focusing on network-related and systems maintenance/performance management - MTU CS Learning Center - Coach (March 1996 - May 1999) Duties included - Answering student questions regarding general programming concepts and language details (C++ and FORTRAN) - Requires strong communication skills and programming skills Education - Enrolled in the MS program at the University of Minnesota, research in distributed attacks on cryptographic algorithms - 1999 BS in Computer Science from Michigan Technological University, Houghton, MI - Cum Laude - National Merit Scholar - Relevant coursework, MTU: CS420 Programming Languages, CS425 Algorithms, CS485 Computer Graphics, CS540 Parallel Algorithms, CS430 Compiler Construction, CS520 Operating Systems, CS580 Artificial Intelligence (note that 5xx denotes graduate-level coursework.)