tl;dr: We're growing quickly and could use another excellent engineer with macOS experience to work with our CTO. We're in Boston, but remote is ok if you have substantial time-zone overlap.
Who we are
Tuple is a macOS app for remote pair programming.
We founded the company 2 years ago because we hated pairing over Slack and Zoom, and believed that by focusing on remote pairing exclusively, we could create a tool developers would actually like.
We bootstrapped the company from our own savings, and haven't hired anyone beyond part-time consultants. The full-time team is still just our three cofounders:
Ben,
Spencer, and
Joel.
We're still in the scrappy startup phase: our "office" is Joel's second bedroom.
Despite these constraints, things are working really well. We have many hundreds of happy customers and thousands of paid users. We're growing revenue way faster than most bootstrapped business.
Want even more details on how things are going? Ben hosts
a weekly podcast where he shares regular updates.
Role overview
We'd like to hire a macOS developer to work full-time with our CTO,
Spencer. He's been doing the work of a team of engineers, and it's time for him to have an extra set of hands.
You should expect to pair with him (using Tuple, naturally) fairly regularly.
We love junior developers, but this role is for someone senior.
About you
Here's how to tell if you'd be a good fit for this job.
Must-haves
- You've built substantial macOS apps and are very familiar with the ecosystem and APIs.
- You have deep knowledge of Swift or Objective-C.
- You believe in the power of pair programming (here's our take on it).
- You're an excellent written communicator.
- You're grizzled enough to know that restarting Xcode is (unfortunately) a valid debugging technique.
Nice-to-haves
- You have C or C++ experience.
- You’ve made significant use of WebRTC (native and/or web).
- You have experience writing automated tests in complex domains.
- You're in love with or have been on a few dates with Rust. You're excited about your future together.
- You're not afraid of sitting down with a tasty beverage and digging into an RFC. Low-level internals excite, rather than scare you.
Things you might work on
Tuple presents a fairly simple interface to its users, but under the covers it's a complicated piece of software that must solve many interesting problems:
- Audio engineering/DSP
- Video encoding
- SIMD and general hardware acceleration. Finding ways to push work from CPU to GPU.
- Building robust cross-platform libraries
- Real-time WebSocket messaging
- Metal/OpenGL rendering
- Working with FFI and building cross-language tools
- Devops and infrastructure tooling
- Low-level keycodes and mouse acceleration curves
- Building UIs with SwiftUI
We don't expect you to understand all these topics, but would like you to be eager to start exploring them.
Why you might want to work with us
- We're tiny, so there are no layers of bureaucracy to work through. You can have a huge impact here.
- We rarely have meetings.
- You can work remotely as long as you have substantial overlap with Boston's time zone.
- Outside of the hours you'll be pairing with Spencer, you can work whenever you like.
- You'll have a front-row seat at an early-stage, fast-growing company. If you hope to start your own thing some day, this could be good preparation.
- Spencer has substantial management experience, and can help you shape a career you're excited about.
Why you might not want to work with us
- This is a contract position (1099, rather than W2), and doesn't include benefits like a 401k or health insurance (fwiw, we the founders don't have these things either). This could change later this year, though.
- Two things are simultaneously true:
- We are growing quickly and customers mostly love our product.
- Lots of things are suboptimal or broken. Classic startup stuff, ya know?
Pay
We're looking for someone great, not someone cheap.
If you're expensive but incredible, we can probably make it work.