Engineer with more than a 15 years of professional experience in
software design and implementation. Experience
ranges from high level object oriented design and programming to
embedded low level and assembly programming. Bachelor of Science
degree with majors in computer science and mathematics and minors in
physics and electronics.

SKILLS

Skilled in Java and C# development, designing modular object oriented
architectures and data structures.
Notable Java projects include custom GUI interface elements such as a
feature rich time-line control and distribution flow controls, and
network communication layers. Past C# projects include image
enhancement software, LOD based map displays, and communications
frameworks.
While at Spillman, I was a primary architect for a Java
based GUI client to replace a legacy terminal interface. This greatly
extended the lifetime of our legacy UNIX server applications, while
adding significant functionality to our flagship product.

Experienced in low level coding in C/C++ focusing on algorithms, clean design and
efficient use of resources.
Notable projects include embedded path planning algorithms for robotic
vehicles, plug-in architecture for image manipulation and processing,
and efficient vector algorithms for geometry and street segment
mapping.
While at Autonomous Solutions, I rewrote the low level communication layer
for the company's flagship command and control product, achieving an
order of magnitude reduction in both latency and CPU load and
tremendously increasing the product's responsiveness.

Outside of work I'm an omnivorous reader who loves to learn, interested in
fields ranging from molecular biology to cosmology. Frequents
technical news sites as a jumping off point for further reading and
research.

Some examples of personal projects include:

Recreational programming such as

steganographic software – to cryptographically encrypted and embed files within an image.

virtual reality – playing with user interface concepts with the Oculus DK2

a Boggle solver – storing a dictionary as a 26-way tree and using a recursive parallel descent algorithm to find all possible words in milliseconds.

Arduino/ESP8266 embedded programming projects in active use in my home.

Scientific research and development on a novel aircraft design.

Additional skills

Web based design and development creating rich javascript applications.