Consulting
I do technical advising and freelance development for companies big and small.
Some recent examples:
- Part-time advising for a small startup, doing regular 1-on-1s with the CTO and selected ICs. Advised on technical architecture and team issues, and helped them hire a Head of Engineering and their first Staff Engineer.
- Worked with HCI pioneer Michel Beaudouin-Lafon and his research group to build a fully incremental processing pipeline for Asciidoc with Ohm.
- For a research group investigating parametric CAD/CAE systems, implemented a GPU-based interpreter (in Rust and WGSL) for rendering implicit surfaces.
For engineering projects, I’m especially interested in work where I can combine my deep systems expertise with frontend development and UX work.
My background
- Senior eng at Google (on Chrome & Android); Staff eng at Lyft building 3D viz tools.
- Engineering manager (and interim site lead) at Lyft Munich.
- Managed two teams at Sourcegraph (Frontend Platform, Dev Experience), helped build their engineering career ladder.
- Applied PL/UI research at Viewpoints Research Institute, Y Combinator Research, and Ink & Switch.
- 10+ years building and maintaining Ohm (⭐5.5k, 1.9M weekly downloads) and running the community.
- Co-author of WebAssembly from the Ground Up.
- 3 years working on multicore GC & memory management in the J9 Java VM.
How I can help
Fractional tech leadership
A common pattern at startups with ~5–15 engineers is leadership debt. Many companies of this size don’t yet have an engineering manager / head of engineering, and don’t have experienced, staff-level engineers. This often results in the CTO being stretched thin, as they try to cover both team-level execution issues and high-level technical guidance.
As an experienced engineering manager and a staff-level engineer myself, I can immediately help fill the gaps — advising on everything from technical architecture to lower-level issues like how to run planning meetings. I can do 1-on-1s with key ICs, to ensure they get the coaching and mentorship they need to keep the team running smoothly, freeing up the CTO / Head of Eng to focus on more strategic priorities.
Full-stack, 0-to-1 projects
I’m a generalist with both deep systems expertise and frontend/UX chops. Glen Murphy, formerly Head of Chrome and Android UX at Google, has said: “In addition to being an engineer extraordinaire, Patrick has an incredibly deep understanding of UX and contributes awesomeness everywhere in the stack.”
That combination makes me well-suited to quickly take new ideas from zero to one. Experiments, prototypes, or laying the foundations of a production system — I can quickly deliver end-to-end solutions that are technically sound and ready to put in front of users.
Language design & implementation
In my 10+ years of working on Ohm, I’ve both implemented a number of small compilers and interpreters, and advised/helped teams who are doing the same. I’ve also worked on a managed language runtime with industry-leading performance (J9 JVM). So if you’re designing a new language, or building an interpreter, compiler, etc. for a new one, I can help you make the right architectural decisions early.
Other things
- Developer tooling & experience: Experience building language tools, working on Chrome DevTools, and managing a DX team means I can help improve your internal tools and workflows.
- Technical hiring: I’ve hired and interviewed Staff+ engineers, and can help design interview processes or evaluate senior technical candidates.
- Performance: I’m experienced with performance tuning at the hardware level (branch prediction, memory hierarchies, etc.). I’ve also spent lots of time optimizing JavaScript, TypeScript, and WebAssembly code — so I can help with performance work at any level of the stack.
- Cleaning up messes: I enjoy diving into complex, unfamiliar code bases and making sense of things. I can help you tidy up messy, neglected code bases, and get them back on track.
If any of this sounds interesting, send me an email and let’s chat.