Summary
James Mcdonald is a veteran computer scientist and partner at Kestrel Technology with 23 years (and decades beyond) of experience creating tools that automate and improve software development. He specializes in formal methods, specification languages, and software synthesis—having designed Specware, built theorem provers, type checkers, code generators for multiple targets, and a widely regarded ASN.1 parser. His work spans applied research and product-grade systems, from a JavaCard runtime and vulnerability analyzers to porting Lisp across dozens of platforms. Based in Sunnyvale, he combines deep academic roots (Stanford, AI) with pragmatic engineering, aiming to "lift software production out of the dark ages." An unusual strength is his focus on generating diverse implementations from a single specification, reflecting both rigor and a practical drive for robust, automated software.
23 years of coding experience
17 years of employment as a software developer
B.S., Computer Science, B.S., Computer Science at Michigan State University
Artificial Intelligence, Artificial Intelligence at Stanford University