About the Role
Life at UiPath
The people at UiPath believe in the transformative power of automation to change how the world works. We’re committed to creating category-leading enterprise software that unleashes that power.
To make that happen, we need people who are curious, self-propelled, generous, and genuine. People who love being part of a fast-moving, fast-thinking growth company. And people who care—about each other, about UiPath, and about our larger purpose.
Could that be you?
Your mission: Build the Engine, Not Just the Car
We're the Machine Learning Services (MLS) team at UiPath—a small, sharp group of senior engineers building the core platform that powers UiPath's large-scale AI and Document Understanding products.
Our world is one of distributed systems, high-throughput model serving, and complex asynchronous training workflows. We're looking for a systems-level engineer who wants to work on the gnarly, foundational problems of a production ML platform. You'll support a system that handles a massive volume of inference requests and orchestrates unattended model training across a diverse landscape of model architectures. This isn't just about gluing APIs together; it's about building the infrastructure that makes it all possible. Our core platform is written in Rust for performance, correctness, and fearless concurrency. ML models and services are primarily in Python. If you're intrigued by the challenges of the software/hardware interface, OS-level optimization, and building robust, multi-tenant distributed systems, you'll fit right in.
What You'll Do At UiPath
- Design, build, and operate the core MLS platform, including our Rust-based API gateway and Python ML compute workers.
- Solve hard concurrency, performance, and distributed systems problems to ensure our platform is bulletproof for high-volume production workloads.
- Work directly with product and ML science teams to understand their needs and build the scalable infrastructure required to bring their models to life.
- Develop our custom-built, content-addressable storage abstraction layer over cloud object stores.
- Enhance our asynchronous job-queueing system built from the ground up on the storage layer.
- Dive deep into the entire stack, from Kubernetes and container orchestration to performance tuning of ONNX-based inference on GPU-accelerated hardware.
- Write clean, efficient, and rigorously tested code.
What You'll Bring To The Team
- A solid track record (5+ years) of engineering and architecting large-scale, distributed commercial services.
- Deep proficiency in a systems-level language (Rust, C++, Go) and strong Python skills.
- Real-world experience with cloud ecosystems (Azure, AWS, or GCP) and containerization (Docker, Kubernetes).
- A firm grasp of concurrency, multithreading, and asynchronous programming.
- A pragmatic understanding of computer science fundamentals.
- An opinion on what makes good code and good architecture.
Requirements
Rust proficiency
Deep proficiency in Rust is essential as it's the foundation of our core services.
Python skills
Strong Python skills are critical for working with ML models and services.
Distributed systems experience
A solid track record of engineering large-scale, distributed commercial services is required.
Cloud ecosystem knowledge
Real-world experience with cloud ecosystems like Azure, AWS, or GCP is necessary.
Concurrency understanding
A firm grasp of concurrency, multithreading, and asynchronous programming is essential.
Nice to Have
Experience with C++ or Go can be beneficial for this role.
Familiarity with Docker and Kubernetes is a plus.
Benefits
Flexible working hours
Enjoy flexible working hours to maintain a healthy work-life balance.
Health insurance
Comprehensive health insurance plans are provided.
Learning budget
A budget for continuous learning and professional development is available.