At Astral, our goal is to make the Python ecosystem more productive by building next-generation developer tools — tools that enable developers to ship great software, faster.
To start, we're building Ruff, an extremely fast Python linter and formatter; and uv, an extremely fast Python package manager — two of the fastest-growing developer tools ever.
Our early team includes the authors of ripgrep, bat, hyperfine, and maturin; early, core contributors to Biome and Prefect; and multiple CPython core developers — all building at the intersection of Rust and Python.
This role centers on Ruff, an extremely fast Python linter, formatter, and code transformation tool, written in Rust — along with our next-generation Python type checker (codename: Red Knot), in active development.
Since launch, Ruff has grown to tens of millions of downloads per month, and we're continuing to invest deeply in building the best static analysis tools in the Python ecosystem.
Work on Ruff and Red Knot tends to span the spectrum from low-level optimization work to high-level user experience design. If you like working on parsers, control-flow graphs, or type inference algorithms, it could be a good fit. If you like building interactive interfaces for reviewing and applying code modifications, it could also be a good fit.
As with all positions at Astral, being an open source maintainer is a big part of the job too: engaging with the community, reviewing pull requests, debugging issues, and generally contributing to our culture of developing in the open.
Strong candidates tend to have deep experience with Rust, Python, open source, or developer tools — but few candidates are deep in all of these areas, and we've successfully hired candidates with no prior Rust experience alongside candidates with no prior Python experience.
We're not only remote, but highly distributed. We hire from UTC-7 (e.g., San Francisco, USA) to UTC+1 (e.g., Munich, Germany), and get together twice annually for week-long, in-person on-sites.
We pay competitively (salary and equity) and offer comprehensive benefits (healthcare and more).
Our work is highly collaborative, but as is common in open source, much of that collaboration takes place asynchronously (in Discord, or GitHub, or Notion). We minimize meetings, and maximize time spent working in code.
Our hiring process is entirely remote and does not include any live coding segments. Instead, while the process may vary from candidate to candidate, it generally consists of three phases, each designed to mimic the kind of engagement and interactions you would have as a member of the team:
A take-home project, where we ask you to build a command-line tool based on a pre-defined specification.
A presentation, where we ask you to present on some of your own work, and have the kind of technical conversation you'd have as a member of the team, grounded in something that you know well.
A co-working engagement, where we spend time working through issues and pull requests synchronously.
Along the way, we'll talk through your background and interests to determine whether Astral is a good fit for your career goals.
Reach us directly at hiring@astral.sh.
If an employer mentions a salary or salary range on their job, we display it as an "Employer Estimate". If a job has no salary data, Rise displays an estimate if available.
Join Astral as a Software Engineer focused on Compilers & Programming Languages, and make a significant impact on the Python ecosystem! We are on a mission to create next-generation developer tools, such as Ruff and uv, which have quickly become two of the fastest-growing tools in the developer community. At Astral, you will have the opportunity to work on Ruff — an exceptionally fast Python linter and formatter built in Rust — and contribute to our innovative type checker known as Red Knot. As part of our collaborative yet mostly asynchronous work environment, you will engage with a team that includes notable contributors from the open-source community, sharing and cultivating knowledge. If you're passionate about developing parsers, exploring control-flow graphs, and crafting intuitive user experiences, this could be the perfect role for you. You don’t need to come with deep knowledge in Rust and Python; our diverse team has successfully onboarded those with various levels of experience. Being an open-source maintainer is key to this position, so you'll engage with our community, review pull requests, and enhance the tools we offer. Enjoy a competitive salary, equity, and a supportive remote work culture while contributing meaningfully to a groundbreaking mission. Let’s build the future of Python together!
Subscribe to Rise newsletter