EMBEDDED SOFTWARE ENGINEERING
Embedded software presents unique engineering challenges, particularly for large projects. Absent the convenience of an operating system, high level API tools, and basically unlimited memory resources, embedded code can quickly become unmanageable and dangerously unstable.
In this context, properly utilizing standard "gang-of-four" code architectures is both important and difficult. Tailoring industry-standard coding architectures to the capabilities of embedded processors can be challenging. In one case, I developed an asynchronous event system that operated on an 8051 microcontroller with only 100 bytes of stack space.
Robotics represents the ultimate challenge in design and integration; state-of-the-art robotics systems bring together elements in software design, artificial intelligence, mechanical and electrical engineering, and state estimation and control theory, among other things.
I entered the robotics world as a graduate student investigating problems in system identification, control, and path planning for unmanned aerial robots. As a student, I leveraged my understanding of state estimation to build and release the world's first fully functional, sub-$200 commercial Attitude and Heading Reference System - the progeny of that first sensor is still on the market today.
My strong background in mathematics combined with a breadth of practical, hands-on experience with software development, electrical hardware design, and systems integration positions me to tackle the trickiest of problems.
ELECTRICAL HARDWARE DESIGN
From cell phones to alarm clocks, from spacecraft to children's toys, electrical hardware design is an essential component of virtually every piece of modern technology.
My background in hardware design includes:
- Analog schematic design and layout
- Radio Frequency (RF) layout and tuning
- Antenna design and tuning
- Digital circuits (MCU/MPU, high-speed digital COM)
- PCB layout and Design for Manufacturability
As a project manager I've taken multiple products from early research and devleopment phases all the way to product release, marketing, and long-term customer support.
My breadth of experience in the development process enables me to anticipate potential problems and to set realistic timelines and cost projections for development. Familiarity with Agile Project Management methods has allowed my teams to work efficiently toward well-defined goals.