# Principal Software Engineer
**Company:** [UiPath](https://scaleengineer.com/companies/uipath)
Principal Software Engineer leading the design and development of UiPath's next-generation Data Fabric platform—a distributed data infrastructure enabling seamless data integration, processing, governance, and security at scale. This role combines architectural vision with technical leadership, requiring 12+ years of software engineering experience with 5+ years in distributed data systems, proficiency in system-level languages (C#, Java), and deep expertise in cloud ecosystems (Azure, AWS, GCP), containerization technologies, and modern engineering practices.
**Role:** Principal Software Engineer
**Seniority:** Principal
**Locations:** Bangalore - Engineering
**Salary:** 200000–320000 USD
[Apply](https://jobs.ashbyhq.com/uipath/7328e756-d4ca-4177-9457-1a8e6da47d68)
Canonical: https://scaleengineer.com/jobs/uipath/principal-software-engineer-7328e756
---
## Responsibilities

- Architect and Lead Data Fabric Platform Development: Own the complete technical vision, architecture, and implementation of the Data Fabric platform. Design robust, scalable, and high-performance distributed data systems that ensure seamless data integration, processing, governance, and security at enterprise scale. Drive architectural decisions that balance performance, reliability, maintainability, and extensibility.
- Design Large-Scale Distributed Data Systems: Design and optimize distributed data systems for ingestion, storage, processing, and querying at scale. Architect systems capable of handling high-throughput data workloads while maintaining consistency, fault tolerance, and optimal performance. Evaluate and integrate emerging data technologies such as Apache Kafka, Spark, Flink, and Iceberg to enhance platform capabilities.
- Mentor and Develop Engineering Teams: Provide technical leadership and mentorship to senior engineers and cross-functional teams. Establish engineering standards, best practices, and coding guidelines. Lead code reviews and foster a culture of continuous learning and innovation in data engineering and infrastructure design.
- Establish Engineering Standards and CI/CD Pipelines: Define and implement engineering standards, development practices, and continuous integration/continuous deployment (CI/CD) pipelines to ensure high-quality, reliable deliverables. Establish processes for automated testing, security scanning, and deployment automation across the platform.
- Optimize System Performance and Reliability: Identify performance bottlenecks and system inefficiencies through profiling and analysis. Implement optimization strategies to improve latency, throughput, and resource utilization. Ensure high availability and fault tolerance for mission-critical data workloads and infrastructure.
- Cross-Functional Collaboration and Innovation: Collaborate effectively with engineering teams across multiple locations to develop best-in-class solutions. Work with product, security, and infrastructure teams to align technical decisions with business objectives and ensure platform security, compliance, and governance requirements are met.
- Drive Adoption of AI-Assisted Development Tools: Evaluate and responsibly leverage AI tools and coding agents (such as code generation, automated testing, debugging, and documentation) to accelerate development velocity while maintaining rigorous engineering quality standards and code reliability.
- Ensure Software Quality and Accountability: Maintain accountability for software deliverables meeting all requirements including quality, security, scalability, modifiability, extensibility, and testability. Drive initiatives to reduce technical debt and maintain system maintainability for long-term platform sustainability.

## Requirements

### education

- {"name":"Bachelor's Degree in Computer Science or Engineering","description":"Bachelor's degree in Computer Science, Software Engineering, or related field. Equivalent professional experience and demonstrated technical depth may substitute for formal education."}
- {"name":"Advanced Degree (Preferred)","description":"Master's degree in Computer Science, Software Engineering, or related discipline. Advanced academic training in algorithms, distributed systems, or database systems is highly valued."}

### technical

- {"name":"Distributed Data Systems Architecture","description":"5+ years of hands-on experience designing and building large-scale distributed data systems. Deep understanding of data ingestion patterns, storage architectures, stream processing frameworks, and distributed query engines. Experience with systems like Kafka, Spark, Flink, or similar distributed processing technologies."}
- {"name":"System-Level Programming Languages","description":"Expert proficiency in one or more system-level programming languages such as C#, Java, C++, or Go. Strong capability to learn and adapt to new programming languages as needed. Understanding of memory management, performance optimization, and low-level system interactions."}
- {"name":"Cloud Platform Ecosystems","description":"Demonstrated experience with major cloud platforms including Azure, AWS, and/or GCP. Understanding of cloud-native services, managed data services, networking, security, and infrastructure-as-code practices. Experience deploying and managing data systems on cloud platforms."}
- {"name":"Containerization and Orchestration","description":"Proficiency with Docker, Kubernetes, and container-based deployment strategies. Experience designing containerized microservices architectures, implementing container orchestration, and managing containerized workloads in production environments."}
- {"name":"Distributed Systems Fundamentals","description":"Deep understanding of distributed systems concepts including consensus algorithms, eventual consistency, CAP theorem, fault tolerance, and replication strategies. Experience architecting systems for high availability, fault tolerance, and disaster recovery."}
- {"name":"Object-Oriented Design and Architecture Patterns","description":"Expert knowledge of object-oriented programming principles, design patterns (SOLID, Gang of Four), and architectural patterns (microservices, event-driven, CQRS). Ability to design systems that are maintainable, testable, and extensible."}
- {"name":"Concurrent and Asynchronous Programming","description":"Strong expertise in multithreading, synchronization primitives, concurrent data structures, and asynchronous programming models. Understanding of thread safety, race conditions, and deadlock prevention."}
- {"name":"CI/CD and DevOps Practices","description":"Hands-on experience with continuous integration and continuous deployment pipelines. Proficiency with tools and practices for automated testing, infrastructure provisioning, monitoring, and deployment automation."}

### experience

- {"name":"12+ Years Software Engineering Experience","description":"Minimum 12 years of professional software engineering experience with progressive responsibility in designing and building complex systems. Experience should demonstrate growth from mid-level engineer to senior technical leader."}
- {"name":"5+ Years Distributed Data Systems","description":"Minimum 5 years of specialized experience in distributed data systems, data platforms, or big data infrastructure. Direct involvement in architecture, design, and implementation of large-scale data systems serving hundreds or thousands of users."}
- {"name":"Technical Leadership and Team Mentorship","description":"Proven experience leading technical teams, mentoring senior engineers, and establishing engineering standards. Track record of making complex technical decisions and driving architectural initiatives across large organizations."}
- {"name":"Global Team Collaboration","description":"Demonstrated ability to work effectively with geographically distributed teams across multiple time zones. Experience managing cross-functional projects with remote teams and fostering collaborative technical culture."}
- {"name":"Complex Project Delivery","description":"Proven track record of delivering critical, time-bound projects. Experience managing ambitious technical initiatives from conception through production deployment. Strong project management and timeline planning capabilities."}

## Skills

### required

- {"name":"Distributed Systems Design","description":"Expert-level knowledge in designing scalable, fault-tolerant distributed systems. Proficiency in addressing challenges like consistency, availability, partition tolerance, and network coordination."}
- {"name":"Data Platform Architecture","description":"Deep expertise in designing data platforms for ingestion, storage, processing, governance, and querying. Understanding of data pipeline orchestration, data quality, and metadata management."}
- {"name":"C# or Java","description":"Advanced proficiency in C# or Java including understanding of runtime environments, memory models, reflection, and ecosystem libraries. Ability to write performant, maintainable code at scale."}
- {"name":"Kubernetes and Container Architecture","description":"Advanced knowledge of Kubernetes including deployment strategies, service mesh concepts, networking, resource management, and operational patterns for production Kubernetes clusters."}
- {"name":"Cloud Architecture (Azure/AWS/GCP)","description":"Hands-on expertise with cloud platforms including data services, networking, security, IAM, and infrastructure-as-code. Experience architecting multi-region, highly available cloud solutions."}
- {"name":"System Performance Optimization","description":"Expertise in identifying and resolving performance bottlenecks. Proficiency with profiling tools, benchmarking methodologies, and optimization techniques for distributed systems."}
- {"name":"Technical Communication","description":"Exceptional written and verbal communication skills for articulating complex technical concepts to both technical and non-technical stakeholders. Experience presenting architectural decisions and technical vision."}
- {"name":"Agile and DevOps Practices","description":"Proven experience working in agile development environments. Solid understanding of continuous integration, continuous deployment, infrastructure-as-code, and DevOps tooling and methodologies."}

### preferred

- {"name":"Apache Kafka and Stream Processing","description":"Hands-on experience with Apache Kafka, Apache Spark, or Apache Flink for real-time data streaming and batch processing. Understanding of stream processing semantics and windowing."}
- {"name":"Data Mesh and GraphQL","description":"Familiarity with data mesh architectural patterns and domain-oriented data platforms. Experience with GraphQL APIs for flexible data consumption patterns."}
- {"name":"Apache Iceberg and Data Formats","description":"Experience with Apache Iceberg, Delta Lake, or other modern data lakehouse formats. Understanding of columnar storage, table formats, and schema evolution."}
- {"name":"Observability and Monitoring","description":"Hands-on experience with observability tools such as Prometheus, Grafana, or ELK stack. Understanding of metrics, logging, tracing, and debugging distributed systems."}
- {"name":"Full-Stack Development","description":"Comprehensive experience across the full technology stack including frontend, backend, and infrastructure. Ability to understand end-to-end system requirements and trade-offs."}
- {"name":"AI/LLM and API Automation","description":"Understanding of Large Language Models (LLMs) and AI-powered automation. Experience with AI-assisted development tools and responsible AI integration in data platforms."}
- {"name":"Database Systems and Query Optimization","description":"Deep knowledge of relational and non-relational databases, query optimization, indexing strategies, and query planning. Experience with database internals and performance tuning."}

## Tech stack

### tools

### others

### databases

### languages

### frameworks

## Benefits

### benefits

## Compensation

- **max:** 320000
- **min:** 200000
- **currency:** USD
- **stockOptions:** true

## Interview process

### steps

## Full description
# **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  
  
About the Role  
  
We are seeking a highly skilled Principal Software Engineer to lead the design and development of the Data Fabric platform—a next-generation distributed data infrastructure that enables seamless data integration, processing, governance and security at scale. As a key technical leader, you will architect robust, scalable, and high-performance systems while mentoring engineering teams to deliver cutting-edge data solutions.  
  
  
WHAT YOU'LL DO AT UIPATH  
  
\- Architect, Design and Build: Lead the technical vision, architecture, and implementation of the Data Fabric platform, ensuring scalability, reliability, and security.  
  
\- Distributed Systems: Design and optimize large-scale distributed data systems for ingestion, storage, processing, and querying.  
  
\- Technical Leadership: Mentor senior engineers, set best practices, and drive innovation in data engineering and infrastructure.  
  
\- Cross-functional Collaboration: Work closely with teams across other locations to innovate and develop best-in-class solutions.  
  
\- Performance Optimization: Identify bottlenecks, improve system efficiency, and ensure high availability for data workloads.  
  
\- Standards & Governance: Establish engineering standards, code reviews, and CI/CD pipelines for high-quality deliverables.  
  
\- Ownership: Stay accountable for the software deliverables to meet all requirements of quality, security, scalability, modifiability, extensibility, testability etc.  
  
\- Emerging Technologies: Evaluate and integrate new tools (e.g., Apache Kafka, Spark, Flink, Iceberg, Kubernetes) to enhance the platform.  
  
\- Leverage AI tools/Coding agents responsibly to accelerate development (e.g., code generation, testing, debugging, documentation), while maintaining a high engineering quality bar.  
  
WHAT YOU'LL BRING TO THE TEAM  
  
\- Bachelor’s/master's degree in engineering, Computer Science (or equivalent experience).  
\- 12+ years of software engineering experience, with 5+ years in distributed data systems  
\- Proficiency in one or more system level programming languages (C#, Java etc.) and a willingness to learn new ones  
\- Strong understanding of object-oriented programming, architectural design patterns, system design and data structures & algorithms.  
\- Good grasp of multithreading, synchronization, asynchronous, cloud programming.  
\- Experience working with Cloud ecosystems such as Azure, AWS, GCP.  
\- Familiar with modern engineering practices, including agile development, CI/CD and DevOps.  
\- Experience with Docker, Kubernetes or other containerization technologies.  
\- Strong verbal and written communication skills, and experience in delivering critical time bound projects, managing timelines and team development.  
\- Proven track record of effectively collaborating with globally distributed teams.  
\- Ability to understand, communicate, provide feedback on, and drive complex technical decisions.  
  
Nice to have  
\- Full-stack development experience  
\- Understanding of LLMs and the AI powered API automation.  
\- Experience with GraphQL, data mesh architectures.  
\- Familiarity with observability tools (Prometheus, Grafana)  
  
#LI-VR1

Maybe you don’t tick all the boxes above—but still think you’d be great for the job? Go ahead, apply anyway. Please. Because we know that experience comes in all shapes and sizes—and passion can’t be learned.

Many of our roles allow for flexibility in when and where work gets done. Depending on the needs of the business and the role, the number of hybrid, office-based, and remote workers will vary from team to team. Applications are assessed on a rolling basis and there is no fixed deadline for this requisition. The application window may change depending on the volume of applications received or may close immediately if a qualified candidate is selected.

We value a range of diverse backgrounds, experiences and ideas. We pride ourselves on our diversity and inclusive workplace that provides equal opportunities to all persons regardless of age, race, color, religion, sex, sexual orientation, gender identity, and expression, national origin, disability, neurodiversity, military and/or veteran status, or any other protected classes. Additionally, UiPath provides reasonable accommodations for candidates on request and respects applicants' privacy rights. To review these and other legal disclosures, visit our [privacy policy](https://www.uipath.com/legal/trust-and-security/privacy-policy).
