Meet the Engineers: Matt Johnson-Pint

Here's our first installment in our "Meet the Engineers" series. Today, we're diving into a conversation with the primary author of Hypermode's framework and runtime: Matt Johnson-Pint (MJP).

Fun facts about Matt include:

  • Helped over 25,000,000 people on StackOverflow

  • Co-wrote many of the time-zone libraries and tools that power the web (moment.js, Noda Time, TimeZoneConverter, and more)

  • Took a year off of programming to become a local handyman-- eventually remodeling much of his house himself

KVG: We're interviewing you today to help the Hypermode community get to know the team behind the product. Can you introduce yourself and tell us a little bit about your career before Hypermode?

MJP: Sure. I'm Matt Johnson-Pint. My last name is hyphenated because when I married my wife, Maggie Pint, we decided there were too many Matt Johnsons in the world, so now there's only one Matt Johnson-Pint.

Before joining Hypermode, I worked at Sentry as a lead engineer on their .NET SDK team. I've been a .NET engineer since its inception, starting my career with Microsoft-based technologies, and later worked at Microsoft for about eight years, contributing to Azure, Windows, and .NET. I also have a background in consulting and have direct experience helping customers develop line-of-business solutions.

I've also been heavily involved in a number of open-source projects.

KVG: Tell us more about those, your open-source work–I know there's a particular niche that you've become an authority on.

MJP: Hah, the world knows me mostly as the date-time guy. I got into this niche while working for Time America, a company specializing in employee time and attendance systems. I learned a lot about time-related problems and bugs, which led me to contribute to open-source projects.

My first open-source commit was to fix a date-time bug in a JSON library for .NET. Since then, I've contributed to several projects, including Moment.js and the TC39 EcmaScript standards committee, where I helped champion the upcoming Temporal API for JavaScript.

KVG: Rotating into your work at Hypermode, what sorts of stuff are you working on here?

MJP: At Hypermode, I primarily work on the Hypermode Runtime, which executes the functions code our customers write. This involves a lot of tough work uniting AI and WebAssembly, and it's been a wild ride.

KVG: Tell me more about building the Runtime. How did you get started?

MJP: Initially, all we knew was that we wanted to make AI more approachable for developers and allow them to integrate it into larger applications seamlessly. One major technical hurdle was running untrusted code securely and efficiently. We evaluated several approaches, including Kubernetes and Docker, but they didn't quite fit our needs.

We then considered pure JavaScript with V8 isolates, but wanted a multi-language solution.

This led us to WebAssembly, which provided the security, performance, and multi-language support we needed.

KVG: What about WebAssembly makes it compelling for Hypermode?

MJP: WebAssembly is secure, performant, and allows us to support multiple programming languages.

We chose Wazero, a Go-based project, as our WebAssembly engine. This decision enabled us to leverage Go for our backend while providing a robust execution environment for our users' code in different languages.

We also integrated GraphQL capabilities using the GraphQL Go Tools library from Wundergraph, enabling seamless data interaction and API generation.

KVG: That's fascinating. What are the next set of projects you're excited to work on at Hypermode?

MJP: I'm really excited about extending our multi-language story. We started with AssemblyScript, but next we're adding Go, and we aim to support Rust, Python, and possibly C# in the future.

I'm also thrilled about seeing more and more users ship production applications using Hypermode and solving real-world AI challenges.

KVG: Changing gears a bit, you've had a very successful career as a software engineer. I know you do a lot of mentoring and coaching both in and out of Hypermode. What top nuggets of advice do you share with engineers early in their careers?

MJP: Everyone makes mistakes, and it's crucial to own them. Saying "I don't know" or admitting to a screw-up is essential. Another piece of advice is to embrace new technologies fully. Instead of always trying to map what you know from one language to another, start fresh with the new language's paradigms and philosophies. It helps in truly understanding and leveraging the new technology.

Summary

Matt's journey from a .NET engineer to a pivotal member of the Hypermode team showcases his adaptability and deep technical expertise. His work on the Hypermode Runtime, leveraging WebAssembly, and his commitment to mentoring new engineers highlight the innovative and supportive culture at Hypermode. Stay tuned for more insights and updates from our engineering team.

0
Subscribe to my newsletter

Read articles from The Hypermode Team directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

The Hypermode Team
The Hypermode Team