Global technology company at the forefront of enterprise automation, best known for its advanced Robotic Process Automation (RPA) platform. With a strong development hub in Romania, the company combines RPA with AI to help organizations streamline operations and drive innovation at scale.
Their culture is dynamic, tech-driven, and focused on continuous improvement, offering engineers the chance to work on impactful, global products
As a Software Engineer on the Driver team, you’ll be at the heart of how users interact with automation. The Driver team builds the automation drivers that power UiPath’s interaction layer across a wide range of platforms – from modern browsers and native desktop apps to legacy systems.
Your role will be to design and develop automation capabilities that make our platform more adaptable, performant, and intuitive.
Whether you’re deep-diving into OS internals or optimizing DOM-level interactions, your work will help UiPath deliver on its promise of the Fully Automated Enterprise™ — where automation removes barriers to scale and unleashes human potential.
RESPONSIBILITIES
Design and implement core automation capabilities for the Driver layer
Develop support for interacting with both web and desktop applications across various UI frameworks (e.g., Win32, WPF, web-based UIs)
Ensure the delivery of performant, secure, and maintainable code that meets scalability and extensibility requirements
Adapt automation capabilities to accommodate new operating system updates, UI technologies, and diverse customer environments
Debug and optimize low-level components that interface directly with system and browser APIs
Maintain a high bar for code quality, testability, and cross-platform consistency in the automation layer
REQUIREMENTS
Strong programming skills in one or more of the following: C++, C, JavaScript, TypeScript or C#— and a curiosity to learn others
Solid understanding of object-oriented programming and software design patterns
Experience with asynchronous programming, multithreading, and synchronization mechanisms
Strong knowledge of data structures, algorithms, and time/memory complexity analysis
Comfortable working close to the OS — understanding how applications interact with system-level APIs