
Principal Software Engineer
Microsoft · United States
This listing has closed — view similar roles below.
- Hybrid
- Full-time
- $200,000 / year
- United States
Job highlights
- Lead database internals and systems design at Microsoft.
- Extend PostgreSQL for large-scale document workloads.
- Develop features for query, indexing, and storage.
- Collaborate with open-source communities.
- Optimize performance of distributed systems.
About the role
Overview
Microsoft is a company where passionate innovators come to collaborate, envision what can be and take their careers further. This is a world of more possibilities, more innovation, more openness, and the sky is the limit thinking in a cloud-enabled world.
Microsoft’s Azure Data engineering team is leading the transformation of analytics in the world of data with products like databases, data integration, big data analytics, messaging & real-time analytics, and business intelligence. The products our portfolio include Microsoft Fabric, Azure SQL DB, Azure Cosmos DB, Azure PostgreSQL, Azure Data Factory, Azure Synapse Analytics, Azure Service Bus, Azure Event Grid, and Power BI. Our mission is to build the data platform for the age of AI, powering a new class of data-first applications and driving a data culture.
Within Azure Data, the databases team builds and maintains Microsoft's operational Database systems. We store and manage data in a structured way to enable multitude of applications across various industries. We are on a journey to enable developer friendly, mission-critical, AI enabled operational Databases across relational, non-relational and OSS offerings.
Azure DocumentDB is a fully managed, open source, MongoDB compatible document database service designed for modern, cloud native applications. Built on the open source DocumentDB engine and backed by the power of Azure, it delivers predictable low latency performance, flexible data modeling and seamless horizontal, vertical, and storage scaling.
We are hiring a Principal Software Engineer with deep expertise in database internals and systems design to help extend PostgreSQL to power large scale document workloads. As part of the DocumentDB engine team, you will design and develop foundational features across the query, indexing subsystem and storage layer to power mission critical workloads running on Azure.
We do not just value differences or different perspectives. We seek them out and invite them in so we can tap into the collective power of everyone in the company. As a result, our customers are better served.
Responsibilities
- Lead deep work on PostgreSQL internals (index access methods, operator classes) to design, implement and evolve indexing strategies for largescale unstructured / semi-structured data.
- Extend PostgreSQL’s query engine by analyzing execution plans, introducing BSON aware operators, custom scan nodes and new cursor/continuation semantics to match NoSQL query needs and ensure efficient execution at scale.
- Design and tune index pruning strategies that keep large tables and indexes lean without regressing query performance.
- Collaborate across the PostgreSQL, MongoDB, and Linux Foundation hosted DocumentDB communities to share vision, align on roadmap priorities, and contribute features that advance the open source DocumentDB engine.
- Profile and analyze distributed system to identify performance bottlenecks.
- Work across team and organizational boundaries to drive clarity and alignment.
- Conduct and participate in design/code reviews and help shape and steer the team coding guidelines.
- Embody our culture and values
Qualifications
- Bachelor's Degree in Computer Science or related technical field AND 6+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python OR equivalent experience.
Other Requirements
- Ability to meet Microsoft, customer and/or government security screening requirements are required for this role. These requirements include, but are not limited to the following specialized security screenings:
- Microsoft Cloud Background Check: This position will be required to pass the Microsoft Cloud background check upon hire/transfer and every two years thereafter.
Preferred Qualifications
- Experience with internals of PostgreSQL or similar Enterprise Database Management system, including Storage Engine and High Availability.
- Experience building Distributed Systems with strong guarantees.
- 5+ years of experience in designing, developing and shipping system level features in a large-scale cloud application or a backend distributed system. OR 3+ years of experience developing and maintaining high-performance libraries or software engineering with a focus on large distributed systems involving concurrency, storage systems or databases.
Key skills/competency
- Principal Software Engineer
- Database Internals
- Systems Design
- PostgreSQL
- Distributed Systems
- Cloud Computing
- Performance Tuning
- Index Strategies
- Query Optimization
- C++
Skills & topics
- Principal Software Engineer
- Software Engineer
- Database Internals
- PostgreSQL
- Distributed Systems
- C++
- Cloud Computing
- Azure Data
- DocumentDB
- Systems Design
- performance tuning
- indexing
- query engine
- storage engine
- high availability
- concurrency
- backend development
- developer productivity
- AI
- NoSQL
How to get hired
- Tailor your resume: Highlight experience with database internals, C++, and distributed systems, aligning with Principal Software Engineer roles at Microsoft.
- Showcase PostgreSQL expertise: Emphasize contributions to indexing strategies, query engine extensions, and performance tuning.
- Quantify achievements: Use data to demonstrate impact in designing and shipping system-level features in cloud applications.
- Prepare for technical interviews: Be ready to discuss deep dives into C++ coding, database architecture, and distributed system challenges.
- Understand Microsoft's culture: Research their values, innovation focus, and commitment to diversity for a stronger fit.
Technical preparation
Behavioral questions
Frequently asked questions
- What are the primary technical skills for the Principal Software Engineer role at Microsoft Azure Data?
- The Principal Software Engineer role at Microsoft Azure Data requires deep expertise in database internals, particularly PostgreSQL, C++ coding, systems design, distributed systems, and performance tuning. Experience with indexing strategies, query optimization, and cloud-native applications is also crucial.
- How does Microsoft Azure Data leverage PostgreSQL for document workloads?
- Microsoft Azure Data extends PostgreSQL to power large-scale document workloads by enhancing its query engine, indexing subsystems, and storage layers. This involves developing BSON-aware operators and custom scan nodes to meet NoSQL query needs and ensure efficient execution at scale.
- What is the role of a Principal Software Engineer in the Azure DocumentDB engine team?
- A Principal Software Engineer on the Azure DocumentDB engine team designs and develops foundational features for the query, indexing, and storage layers. They focus on extending PostgreSQL to handle document workloads and optimize performance for mission-critical cloud applications.
- Does this Principal Software Engineer role require specific security clearances?
- Yes, this Principal Software Engineer role requires the ability to meet Microsoft, customer, and/or government security screening requirements, including a Microsoft Cloud Background Check upon hire and every two years thereafter.
- What is the expected career growth for a Principal Software Engineer at Microsoft?
- As a Principal Software Engineer at Microsoft, you'll have opportunities to lead deep technical work, influence roadmaps, and contribute to open-source communities. Career growth often involves advancing technical leadership, mentoring other engineers, and driving innovation in core database technologies.
- How does Microsoft foster collaboration for the Azure Data engineering team?
- Microsoft fosters collaboration by encouraging engineers to work across team and organizational boundaries, drive clarity and alignment, and participate in design/code reviews. They also emphasize contributions to external communities like PostgreSQL and MongoDB.
- What kind of distributed systems experience is valued for this Principal Software Engineer position?
- The role highly values experience building distributed systems with strong guarantees. This includes designing, developing, and shipping system-level features in large-scale cloud applications or backend distributed systems, with a focus on concurrency and storage systems.