referry - Job Search Platform Logoreferry
查看所有职位

CLI/Developer-Experience Engineer

7 小时前发布|美国|$120-$130/小时|Freelance|5-10 年经验|Mithril
PythonRustUX

💡 申请小贴士: 点击下方按钮会跳转到 Braintrust 官网申请。完全免费,同时也支持我们平台运营。
⚠️ 翻译说明: 本职位信息由AI翻译,如有任何不准确或歧义之处,请以英文原版为准。

Role Overview

CLI / Developer-Experience Engineer - Mithril.ai Contract · Full-Time (40 hrs/wk) · Pacific Time (up to ±3 hrs) · Remote-Friendly

About the Role

Mithril.ai is a fast-growing GPU cloud startup based in Palo Alto, CA. We give ML teams on-demand access to high-performance compute for training and inference workloads. The Mithril CLI is the flagship developer interface to our platform-and we're looking for a craftsperson to help make it exceptional.

The Mithril CLI is how customers launch and manage ML training workloads on our GPU hardware. Built on a hybrid Rust + Python architecture-a high-performance Rust core compiled via Maturin with a Python (Cyclopts) interface-it currently wraps SkyPilot for provisioning. The CLI is young and growing fast.

Your mission: transform the CLI from a thin SkyPilot wrapper into a polished, self-sufficient control plane that engineers love to use. You'll own the product surface end-to-end, ship real commands against our API, and set the bar for developer experience on our platform.

At a Glance

  • Location: Remote; SF/Palo Alto office access a plus
  • Time Zone: Pacific preferred; up to ±3 hrs offset acceptable
  • Engagement: Full-time (40 hrs/wk), starting ASAP

Key Deliverables

1 - Credential & Environment UX Design and build an ml config / ml auth command set so users can authenticate and switch between environments without manually exporting a dozen-plus environment variables. Replace the current manual setup documented in the README with a seamless, guided flow.

2 - Expand the API Surface into First-Class Commands Grow the Mithril API client beyond volume listing to cover reservations, volumes, clusters, and instance status. Surface these as proper subcommands (e.g., ml status, ml volumes, ml reservations) rather than delegating to SkyPilot.

3 - Documentation, Scriptability & Polish Add --json / --yaml structured output across all commands, shell completion for bash and zsh, and clear, actionable error messages for API 4xx/5xx responses (auth, permission, rate-limit, service-down).

Why This Role is Exciting

  • High-visibility product: the CLI is the primary customer touchpoint for our GPU platform
  • Greenfield command design on a genuinely interesting stack (Rust core + Python interface + GPU cloud)
  • High autonomy, fast ship cycle, real users to delight from day one
  • Early-stage startup impact-your work ships and matters immediately

Required Skills & Experience

  • Strong Python 3.12+ (modern typing, async/await)
  • Demonstrated experience building and maintaining CLI tools or developer tooling-argument parsing, subcommand design, helpful output, thoughtful UX (we use Cyclopts; Click/Typer/argparse experience transfers directly)
  • Designing clean HTTP API clients (httpx / requests)
  • A genuine eye for developer experience-clear errors, good help text, sensible defaults, correct exit codes
  • All work and documentation in English

Nice-to-Have Skills

  • Rust, especially Python↔Rust interop via pyo3 / Maturin
  • SkyPilot, Kubernetes, or ML training infrastructure experience
  • Shipping and distributing CLI packages (wheels, versioning, auto-update)
  • Shell completion and terminal UI (Rich)
  • Prior work on cloud-provider CLIs (aws/gcloud-style config & profiles)

Tools & Toolchain

GitHub + Graphite (stacked PRs), Linear, Slack, uv (Python deps), Cyclopts, Maturin (Rust builds), Ruff, Pyright, pytest, Rich, SkyPilot.

Who You Are

You're a developer-tools craftsperson with strong opinions about what makes a CLI delightful-someone who sweats the small stuff (error messages, --help text, exit codes, completion scripts). You're comfortable owning a product surface end-to-end, designing commands from scratch, and iterating based on real customer feedback. Bonus points if you're excited to drop into a Rust core when needed. You communicate clearly in English and thrive in a fast-moving startup environment.

Interview Process

Our process is straightforward and respectful of your time:

  1. Initial conversation with the engineering team
  2. Technical discussion / deeper dive

Duration:

This will we a 2-3 month engagement, but will be evaluated every 3 weeks for continuation.

获取个性化职位推送

💰 164 个高薪职位

绝不发送垃圾邮件
随时可以取消订阅
来自顶级平台的职位