Software Engineer, Distributed Systems
AI in this role
The mission of Thinking Machines is to build AI that extends human will and judgment. We are training frontier models with Inkling, developing Tinker to let people make models their own, and crafting interfaces that broaden human-AI communication. We believe the future worth building is human, and we're hiring people who want to build it.
About the RoleWe're hiring a Software Engineer, Distributed Systems to design and build the core distributed systems that everything else at Thinking Machines runs on — orchestration, scheduling, storage, and networking across thousands of machines. Your work underpins both Inkling's training clusters and Tinker's serving platform, and shows up anywhere we need software to coordinate reliably at scale.
This is deep systems work. You'll be reasoning about consensus, fault tolerance, and performance under real-world failure conditions, often on problems that don't have an off-the-shelf solution.
What You'll DoDesign and build distributed systems for compute orchestration, scheduling, storage, and networking across large GPU and TPU clusters
Develop fault-tolerant systems that keep running correctly as hardware fails, networks partition, and workloads scale
Build the distributed storage and data orchestration layers that move and persist large volumes of training and model data
Improve the performance and efficiency of collective communication, scheduling, and resource allocation across thousands of machines
Partner with research and infrastructure teams to identify systems bottlenecks and design solutions from first principles
Write production-quality code and help shape the architecture of systems used company-wide
Minimum Qualifications
5+ years of experience building large-scale distributed systems
Proficiency in Python and Go, C++, or another systems-level language
Strong understanding of distributed systems fundamentals: consensus, consistency, replication, and fault tolerance
Experience with network programming, load balancing, or distributed storage systems
Preferred Qualifications
Experience building distributed compute or orchestration systems for AI or ML workloads
Fluent in containerization, orchestration, and distributed compute frameworks
Experience with specialized hardware (GPUs, TPUs) and their integration into distributed training or serving systems
Background at AI research labs, high-performance computing centers, or similarly demanding environments
Published work or open-source contributions related to distributed systems or performance engineering
Comfortable operating with high autonomy in a fast-changing, early-stage environment
Location: This role is based in San Francisco, CA.
Compensation: Depending on background, skills and experience, the expected annual salary range for this position is $300,000 - $400,000 USD.
Visa sponsorship: We sponsor visas. While we can't guarantee success for every candidate or role, if you're the right fit, we're committed to working through the visa process together.
Benefits: Thinking Machines offers generous health, dental, and vision benefits, unlimited PTO, paid parental leave, and relocation support as needed.
How we rate this
Software Engineer, Distributed Systems at Thinking Machines Lab rates 89 out of 100 for how much of the daily work is AI. That makes it Builds AI (AI Level 4 of 4). The level is about AI in the job, not seniority.
Builds AI. The job is building AI systems.
- ●●●● Builds AI80 to 100
- ●●●○ Works on AI60 to 79
- ●●○○ Uses AI40 to 59
- ●○○○ Little AI0 to 39
Levels come from how often the tools, models and workflows of the role are named in the posting itself. Open the description and count.
Prepare for this job
A free preview built only from this posting: what it asks for, what you could be asked in an interview, and how to adjust your resume.
Skills and AI tools this role asks for
Questions you could be asked
- Tell me about a research question you investigated. What did you find?
- How would you decide a model or AI system is ready to ship?
- Tell me about a time a model underperformed in production. How did you find out, and what did you change?
Adapt your resume
- List these exact terms on your resume: AI Research. An applicant tracking system matches the wording, not the idea.
- Attach one line of real, concrete experience to at least one of them — a tool named with nothing behind it rarely survives a human read.
- Lead with what you built, trained or shipped — this role is judged on the AI system itself, not the tools around it.
Want an expert to read your CV for this job?
Free. Send your CV and the role you want next. We reply by email within 2 to 4 business days.
Get a free CV reviewGet new software engineer jobs (Builds AI ●●●●) by email
One email a week with the new software engineer jobs (Builds AI ●●●●), each rated for how much AI is in the work. No recruiter spam, unsubscribe in one click.
Free. One email a week. Unsubscribe in one click.
Similar roles
Software Engineering roles that build AI, at other companies.
What kind of AI work fits you?
Answer 12 practical questions in about three minutes. Get a simple profile, the work it points to, and live roles to explore next.
Find my next step