Résumé

Phil Hagelberg

Email: phil@hagelb.org

Pronouns: he/him

Timezone: US Pacific (-0700 or -0800)

Programming Languages and Technologies

Expert in:
Fennel, Clojure, Emacs Lisp, and Lua.
Experienced in:
Erlang, Racket, OCaml, Elixir, Forth, Go lang, and Scheme.
Other technologies used:
Git, Debian packaging, Docker, Object Capabilities (OCaps), SQLite, PostgreSQL, systemd, GPG, Caddy, RabbitMQ, Iocaine.

Free Software Contributions

Contributor:
Emacs, Clojure, TIC-80, GotoSocial, Pleroma, Clojars, Microscheme, Ruby, Magit, and more
Creator:
Leiningen, Emacs Starter Kit, antifennel, Atreus, Grenchman, Bus Scheme, and several games
Maintainer:
Fennel, Logplex, Swank Clojure, Clojure Mode, and package.el

Full Project List

Spotlight: As the lead developer of the Fennel compiler, I took the project from being a quick prototype to a language with an active, vibrant community. I prioritized user feedback, writing detailed documentation. Growing the language has been a careful and deliberate process where I have collaborated with users to consider every alternative and cost before introducing features.

Work Experience

CircleCI Staff Engineer Yefreitor December 2016 - present

  • Replaced a flat-rate billing system with a metered usage system which more accurately reflected the value that customers received for their money. Architected data flows across a distributed system using queues to ensure reliable delivery of events.
  • Led migration to a more reliable billing provider, reducing bugs related to charging and allowing the engineering team to focus on shipping features instead of tracking down discrepancies.
  • Mentored new hires including training several people with no Clojure experience to be able to contribute productively to systems written in Clojure.

Atreus Keyboards Founder December 2014 - January 2020

  • Created and documented a design for a small ergonomic keyboard to be constructed from readily-available DIY parts.
  • Wrote three USB keyboard firmwares for the ATMega32u4 chip.
  • Started and ran a small business selling and supporting kits and keyboards to a worldwide customer base which I later sold.

Heroku Senior Engineer October 2011 - December 2014

Sonian Senior Engineer April 2009 - September 2011

  • Helped design and implement a document parsing, indexing, and archival pipeline in Clojure which functioned at petabyte level.
  • Developed Leiningen project automation tool originally for our in-house needs, which got turned into a public project with hundreds of contributors and hundreds of thousands of users.

Other

Voraciously self-taught. Currently working thru the nand2tetris course.

Presented at several professional conferences and local meetups.

Bachelor of Science degree in Computer Science, Magna Cum Laude.

Spoken languages: English (native), Indonesian (intermediate), Mandarin (beginner), and Thai (beginner).

Fully remote since 2009.