300+ HQ jobs
100+ Top-tier companies
Meticulously curated, no BS

Software Engineer, Rust

Raycast

Raycast makes it simple, fast and delightful to control your tools. We're looking for a Software Engineer to join our team to build and bring core Raycast features to macOS and new platforms we’re targeting.

Raycast is a native Mac application with a significant focus on top-notch UI and interactions. We genuinely care about user experience, performance, privacy and ease of use. We have had enough of dealing with slow and clunky tools. Raycast is our attempt to let you enjoy your daily workflows without all the distractions.

While we’ve been focusing on our macOS app so far, we are planning to expand our reach. Our vision is to bring the seamless and efficient Raycast experience to more platforms, with the same commitment to high-quality UI, interactions, and overall user experience.

For this, we're looking for Rust engineers who like to architect and build shared core components and own the end-to-end integration with the rest of the system. Raycast is a great environment for performant systems-level code, driven by modern UI.

We're a fully remote company spread across Europe and looking for candidates in EU-friendly timezones (CET ± 3 hours). This position is for a full-time employment.

In this role you will...

  • Build shared core Rust components. You work on components such as search indexing, semantic stores, file system integrations, and communication infrastructure–components; these components are closely tied to the operating system where performance, concurrency, and safety are key.
  • Integrate with different tech stacks: As we’re expanding to platforms beyond macOS, you will collaborate closely with platform engineers or vertically integrate Rust components with other tech stacks yourself. You may be involved in the entire chain from the UI to low-level systems code.
  • Solve interesting technical challenges. Raycast consolidates multiple tools into a single user interface, running on diverse configurations of our users’ machines. You will tackle and debug complex issues while working with like-minded engineers and product designers.
  • Co-own the product and work self-directed. In our small team of individual contributors, everyone has autonomy and responsibility. You will be involved in features from ideation through release, maintenance, and responding to user feedback in the community.

You will be a great fit if...

  • You're committed to writing robust shared code. You care about creating robust shared components, libraries, and infrastructure that other system components depend upon. You’re eager to dive deeper into low-level details and find workarounds for tricky challenges. You don’t mind working with other tech stacks to achieve smooth end-to-end integration via simple and efficient APIs.
  • You have a track-record of putting Rust to work. You've worked on Rust software projects and bring in proven concepts to ship production-grade software. You know the ecosystem and follow the development of the language. You are able to choose the right data structures and abstractions for the task at hand, and you care about the program’s resource usage.
  • You're product-minded. Eventually, our product features will execute your code under the hood when users interact with Raycast. You have a sense for delightful user experience and when something feels off, you analyze and fix the underlying root causes. You don't shy away from user feedback and embrace iterative development to continuously improve the product.
  • You're an empathetic communicator. You are an empathetic communicator. You consider technology trade-offs. You may be opinionated, but you are not ideological. When disagreeing, you communicate your perspective thoughtfully and compromise when needed. You thrive in a team environment and hold your colleagues accountable.

Our stack

  • Swift for our macOS app. Everything is written in Swift using AppKit with Swift Packages. We rarely adopt third party dependencies. Some are GRDB for our database, Sentry for crash reporting, Nuke for image fetching and a few C libraries to crank up performance.
  • React + Node.js + Go for the Extensions API. We use Node.js as a runtime and React as a UI framework for extensions. React components are rendered as native AppKit components, no HTML or CSS involved. The entire API is written in TypeScript and developer tooling is written in Go.
  • JavaScript/TypeScript for the marketing website. We use Next.js for raycast.com and deploy it with Vercel.
  • Ruby on Rails for the backend. We use Ruby on Rails for our Extension Store backend and Heroku for hosting/deployment.
  • Modern work tools for everything. Linear for issue tracking, GitHub as source control, Sentry for error reporting, Segment for analytics, Slack for internal communication, Figma for pixels, Notion as knowledge base and a few others. As a team, we enjoy using CleanShot, Bear, Things and a few other Mac apps.

Why join us?

  • We're at the beginning of our next chapter. You will join us at the right time to have a major impact on the future of the company. We have released our platform, established a friendly community, and are diving headfirst into expanding our product and business to new platforms.
  • We're backed by great investors. We're backed by Accel, Coatue, Y Combinator, Chapter One and angels such as Charlie Cheever (Co-Founder of Expo & Quora), Calvin French-Owen (Co-Founder of Segment), Zach Holman (Early GitHub engineer), Koen Bok (Framer, CEO), Karri Saarinen (CEO, Linear) and many more.
  • We're individual contributors at heart. We value full ownership and responsibility, choose quality over quantity and put our users first. We're motivated by shipping truly great software.
  • We'll treat you well. Get a competitive salary, stock options and health insurance. Plus, we provide a monthly health benefit for a gym, pay for your co-working space, give you the latest MacBook Pro with a 5K display and accessories, and provide flexible paid-time off (PTO) plus all your national holidays.