Talented and disciplined software engineer with interests in embedded systems, control systems, robotics, and mobile software development. Highly proficient in C, C# and Objective-C, with a large toolbox of more specialized languages as needed. A strong team player with a focus on delivering results.
Apple Inc., Cupertino, California
CoreOS Software Engineer
Rethink Robotics, Boston, Massachusetts
Senior Embedded Software Engineer
December 2009–June 2011
- Solely responsible for firmware bringup of five versions of Cortex M3-based motor controller boards
- Replaced ad-hoc USB communication protocol with a more architected, robust, and forward-compatible protocol supporting USB, Ethernet, and serial transports with support for real-time and best-effort channels
- Wrote bootloaders for remote download of firmware, allowing firmware upgrades over network instead of via JTAG
- Specified and implemented architecture for motor controller firmware, increasing modularity and supporting multiple targets from single codebase
- Helped drive motor controller board hardware architecture including SoC selection, communication hardware, and inverter design
AutomationSolutions, Inc., Beverly, Massachusetts
January 2006–December 2009
- Worked with customers to design, implement, and debug high-precision motion control systems.
- Managed all aspects of the technical relationship with key customers accounting for $7 million of hardware sales leading to deployment of over 500 machines.
- Designed and implemented turn-key PLC software for customer machines.
- Developed C# .NET libraries for communication from Windows GUIs to PLC software.
Williams Consulting, Inc., Suwanee, Georgia
Coop, 4 semesters
January 2003–May 2005
- Drew on knowledge of C, Perl, shell scripting, Linux, and embedded processors to write software for custom hardware designed by the company
- Lead hardware debug and software development for a cockpit video display, including creation of drivers for four different video processing chips.
- Wrote user interface, configuration, and remote control/upgrade modules of embedded software for a product line of 5 MPEG-2 stream processors for digital cable.
- Enhanced Windows, HC11, and PIC software for an experimental medical device designed to replace electroconvulsive shock therapy.
Georgia Tech College of Computing, Atlanta, Georgia
- Teaching assistant for a sophomore class on C and basic compiler theory
General: Motion control; control system design; embedded software, PLC programming; iPhone software development; Linux, Mac, and Windows software development; hardware debug
Programming Languages: C, Objective-C, C# & .Net, IEC 61131, Perl, Python
Embedded Platforms: ARM, Cortex M3, PIC, Coldfire, HC11, AVR
Communication Buses: Ethernet, Ethernet Powerlink, Modbus/TCP, EtherCAT, SPI, I2C, RS232, USB
Operating Systems: Linux, Windows, iOS, Mac OS X
Languages: Native English, proficient French, basic Italian
Georgia Institute of Technology, Atlanta, Georiga
Bachelor of Science in Electrical Engineering
August 2001–December 2005
- Overall GPA: 3.93 (4 point system)
- Relevant Courses: Computer Architecture and Operating Systems, Computer Languages and Translation, Systems and Controls I, Linear Systems and Controls, Advanced Control System Design and Implementation
- Coursework included undergraduate research and graduate level courses