I am a fifth year Ph.D. student at Northeastern University where I study Computer Science (specifically, programming languages).
The promise of programming languages research has been to provide high-level languages in which programmers can easily write complex programs without worrying about speed or low-level machine details. I think we have failed. Languages that provide strong guarantees are bemoaned as too complicated, compilers ignore those high-level guarantees anyway, and the folklore persists that C is the only language useful for writing fast code.
I want to make programs easier to design, write, and understand. To that end, I work on verifying compilers. I am particularly interested in equivalence preserving (fully-abstract) compilers. Lately, I have been working on correct compilation for dependently typed languages, and on the design of proof assistants. I also dabble in dependent types and compiler design and implementation.
Note: I am not the same William Bowman listed on LinkedIn as the owner of GameCP, despite some incredible coincidences regarding our backgrounds.