Philip Monk

github.com/philipcmonk, me@pcmonk.me.

Experience

October 2018 - March 2024
CTO at Tlon Corporation

Returned to Tlon as an engineer on Urbit, a decentralized overlay operating system. Became technical lead of the infrastructure team in 2020, and CTO from 2021.

  • Led the design and implementation of an application environment for 3rd party developers.
  • Wrote applications on top of this, including portions of our flagship chat app.
  • Added substantial features to the compiler for our language (Hoon) and invented novel patterns for code organization, concurrency, and IO.
  • Redesigned and rewrote our incremental build system from scratch for simplicity and effective cache usage, improving performance on production systems over 100x.
  • Contributed to our language runtime, including the interpreter, allocator, and single-level store.
  • Contributed to the design and implementation of a clean-slate rewrite of our language runtime in Rust.
  • Worked on our novel networking protocol, which guarantees exactly-once messaging from the application’s perspective.
  • Designed and implemented message-passing concurrency systems.
  • Investigated and fixed numerous performance and reliability issues in every area of the system.
  • Assisted the hosting team in debugging issues and resolving incidents, using K8s and GCP.
  • Wrote smart contracts (Solidity), led their deployment and integration into the rest of our decentralized architecture.
  • Led an engineering organization of 25 people, making architectural decisions at every layer of the stack.
  • Worked with teams to set priorities and hit deadlines for both small projects and large-scale rewrites.
  • Fostered a third-party ecosystem of application developers.
May 2017 - August 2018
Software engineer at Numerai

One of two main backend engineers at a hedge fund with crowdsourced market predictions through a public tournament.

  • Primary developer on the migration of Numerai’s tournament backend from Node/Mongo/REST to Elixir/Postgres/GraphQL.
  • Managed deployment of the tournament APIs (AWS).
  • Improved tournament design to eliminate exploits and improve submission quality.
  • Managed a community of thousands of users, collected feedback, and provided technical support for users.
  • Wrote blog posts and technical documentation for users.
  • Improved smart contracts for the Numeraire cryptocurrency (Solidity), led its deployment and integration into the tournament (Golang, Node, Mongo).
May 2014 - August 2016
Software engineer at Tlon Corporation

Worked on all levels of the Urbit system in a team of five.

  • Worked on our interpreter, allocator, profiler, filesystem, networking protocol, web server, application environment, build system, compiler, and standard libraries.
  • Wrote the backend for a successful crowdfunding website (Node)
  • Wrote user tutorials, programming tutorials, cookbook-style recipes, and reference documentation
Fall 2013 - Spring 2014
Undergraduate Research in Mathematics at Arizona State University

Researched an open problem in combinatorics/graph theory, namely, how to count the number of spanning trees in the n-cube using bijective techniques. Presented research at the Southwest Undergraduate Mathematics Research Conference in February 2014.

Open Source Contributions

Author of Phlisped, a graphical programming editor experiment written in Racket.

Co-Author of hoon.vim, syntax highlighting in vim for the (then undocumented) Hoon language.

Education

B.S. in Mathematics from Arizona State University (2012-2014,2017)

Skills and Technologies

Human Languages: English (native), Spanish (conversational), Russian (basic)

Computer Languages: C, Python, Elixir, Go, C++, Java, Racket/Scheme, Node, SQL, Hoon, Bash