Joe Marrama

Always learning, always building


Hi! I'm a software engineer currently living in San Francisco. I love to work on hard and impactful problems, especially those involving machine learning or large scale systems. I also love to rock climb, surf, ski, build things, cook, read, write, and learn as much as possible. Below you'll find my work experience, previous projects, resume, and everything else. Thanks for visiting!

Work Experience

  • Box

    Software engineer

    I led the successful migration of Box's monolithic PHP codebase to HHVM. Apart from that, I worked on many different things, including file storage, configuration delivery, PHP extensions, and more. If you would like to know more about my time at Box, feel free to check out my resume.

  • Stanford

    Undergrad and Masters Student

    I earned my BS in Symbolic Systems and MS in Computer Science over the course of 5 years at Stanford. I specialized in Artificial Intelligence and Computer & Network Security in my masters program. See my resume for more details.

Open Source

Over my time at Box, I led the development of a couple open source projects and contributed to others. Open source is very important to me (and Box), and I'm happy to continue to maintain multiple projects. You can peruse all of my contributions from my GitHub page.

  • Augmented Types

    Augmented Types is a PHP extension for the Zend runtime that enforces function argument and return type annotations at runtime. I am the primary developer and maintainer of the project.

  • HHVM

    I made many contributions back to HHVM over the course of migrating Box's codebase to run on HHVM.

  • Fast Assert

    Fast assert is a PHP extension for the Zend runtime that provides a fast way of making assertions in PHP code. I am the primary developer and maintainer of the project.


Outside of my blog, I've done a fair amount of writing at my previous jobs, both internally and externally. Below is a sampling of the external writing I've done at work.

  • Migrating to HHVM at Box

    I wrote this for Facebook's tech blog describing the details and potential dangers of migrating to HHVM at Box.

  • Introducing Augmented Types

    This announcement describes Augmented Types, its motivation, and the technical details of how it works.


I like to do lots of things outside of software development, which I try to document in my blog. I enjoy rock climbing, skiing, and surfing more than anything else, but when I'm not busy with those activities I like to run and bike. I'm also a huge fan of intellectual pursuits outside of software, mainly including reading, writing, cooking, and carpentry.

Contact Me

The best way to contact me is at my email, which is (first letter of my first name)(my last name)