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 uv, an extremely fast Python package and project manager, written in Rust.
Since launch, uv has grown to tens of millions of downloads per month, and now accounts for hundreds of millions of network requests per day to the Python Package Index (PyPI).
Work on uv tends to span the spectrum from low-level optimization work to high-level user experience design. If you like working on SAT solvers, it could be a good fit. If you like thinking about the future of the Python developer experience, 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 Package Management, where you’ll help us shape the future of the Python ecosystem by developing innovative tools that enhance productivity for developers. At Astral, we aim to make developers’ lives easier with cutting-edge tools like Ruff and uv, both highly popular within the developer community. As a Software Engineer working on uv, which is known for being one of the fastest Python package managers, you'll engage in diverse tasks from high-level design challenges to low-level optimization. You’ll have the opportunity to think creatively about the Python developer experience while directly contributing to an open-source culture. It’s a remote-first position, so you can work from anywhere within the UTC-7 to UTC+1 window! Collaborate with a talented team of contributors who are also involved in some of the most exciting projects in the industry, and enjoy a work environment where asynchronous communication is prioritized, allowing you to focus on code rather than meetings. We're looking for candidates with a strong foundation in Rust, Python, or developer tools, and welcome those eager to learn and grow in new areas. If you're passionate about crafting tools that make a difference, we’d love for you to become part of our journey to turbocharge the Python development experience.
Subscribe to Rise newsletter