About

Experience across the full computing stack

My career began before personal computers became ordinary and has continued through embedded systems, DOS, Unix, Windows, Linux, mobile development, FPGA design, machine vision, and modern imaging systems.

How I work

I approach engineering problems experimentally. I try to isolate variables, build controlled tests, identify what changed, and distinguish a plausible explanation from one that is actually supported by evidence.

I am especially comfortable with legacy systems, low-level software, unusual hardware, and products whose behavior cannot be understood from one layer alone.

What sets me apart

I have designed software at nearly every level: assembly language, embedded processors, device drivers, compilers, desktop applications, mobile software, FPGA logic, image-processing pipelines, and commercial verification products.

That breadth makes it easier to recognize when a problem attributed to software is really optical, numerical, architectural, hardware-related, or caused by an interaction among several layers.

Technical areas

Education

Johns Hopkins University

Dual B.E.S. degrees in Electrical Engineering and Mathematical Sciences, followed by an M.S.E. in Electrical Engineering.