About

I’ve been programming for 45 years (as of 2021), professionally involved in software development for 30, and serving as a principal engineer for about half that time (with a little management on the side).

My experience runs from the days of Fortran, teletypes, and punch cards all the way to modern cloud-based applications written in Go and running in containers.

Along the way I’ve been privileged to work on some very demanding software projects including telephone switches, carrier-grade network monitoring, and cloud storage — products that carry high expectations of reliability, operability, and performance. I’ve specialized in concurrent & distributed applications, sometimes with fault-tolerance as an added requirement.

You can find me on LinkedIn