At Mighty, we’re working hard at building a computer you’ll never need to upgrade that changes the possibilities of what apps can do. Mighty makes Google Chrome faster and uses 10x less memory by streaming it at extremely low-latency from the cloud.
Only accepting candidates from USA/Canada/Western EU currently.
Check out our FAQ for answers to some quick questions you might have. 100% remote work.
If you join us, you’ll be an early team member in helping shape:
- Our future company culture
- Our engineering practices
- People that we hire
- The direction & focus of our products
Engineers on the team today:
- Work in C++ and TypeScript primarily
- Are supportive—especially when teammates are faced with new challenges
- Are left to autonomously figure out the solutions to their challenges
- Put themselves in the shoes of our users to craft a great experience
- Value clear, frequent communication (we do a lot of reading & writing)
- Enjoy being a generalist and are not tied down to a specific programming language or surface area of our codebase
- Are naturally curious and willing to take a step to learn something they don’t have experience in
- Feel a great sense of accountability to each other
- Uphold best practices in engineering, security, and design
Skills & Experience
- 4+ years of working full-time as a software engineer
- [Strongly Preferred] Experience with CPU and/or GPU optimization, as well as performance measurement
- [Preferred] Experience with a C-flavored language
- [Preferred] Systems-level experience with Linux or macOS
- [Bonus] Understanding of Skia, WebGL, OpenGL ES, or Vulkan
- [Bonus] Understanding of Chromium or another browser
Here are examples challenges we wish to work on:
- Research how to make Figma and Google Docs snappier
- Design a performance measurement suite to track improvements (and regressions) accurately
- Explore performance degradations when the user is about to run out of GPU memory
- Lower the time for First Meaningful Paint
- Explore methods to optimize Chromium for our hardware
- Explore novel ways to speed up and/or parallelize Chromium given that we can be greedy with hardware resources
- Make in-browser games like Townscaper snappy and performant
- Create custom tooling for performance measurement as needed
Here are examples of things we’ve worked on:
- Reverse engineering Mac’s scrolling algorithm
- Implementing a custom event dispatch IPC mechanism to bypass X11 when sending input events to Chromium by reverse-engineering its event processing code.
- Implementing cross-platform Drag and Drop file uploading. We trick Chromium into thinking it's uploading a file from the Linux filesystem while, behind the scenes, we stream the file from the user's Mac.
- We've hacked the Chromium source code to lower GPU memory usage and minimize perceived input latency.
- We've added a bridge to move some parts of Chromium to run on the user's client device. For example, the code used to display macOS authentication dialogs is invoked through our custom bridge from Chromium on Linux.
- We've created a custom emoji picker for Mighty to improve the user's experience by allowing Slack-style emoji selection. 🤪