This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
Azure Storage team is chartered with building, managing, and running the persistent cloud storage for Microsoft Azure cloud. We are one of the foundational services in the Azure Cloud and host data from some of the largest companies in the world plus all of Microsoft’s largest online businesses including Xbox, Teams, and Bing. This role provides a unique opportunity to work on projects that will help support the scale of Azure Storage to the next level. You will have an opportunity to make high impact changes on a daily basis as you build a hyperscale storage system that may indirectly or directly be used daily by your friends and family. We are looking for a Principal Software Engineer who is passionate about distributed storage systems and eager to be part of our journey to build Azure at zettabyte scale. This role offers the opportunity to design and implement core platform capabilities and critical infrastructure that power Azure Storage services such as Blobs, Disks, Files, Tables, and more. At this scale, engineers tackle some of the most challenging problems in distributed systems, including extreme fault tolerance, consistency at scale, and cost-efficient storage for trillions of objects. You will have a rare opportunity to influence foundational architectural decisions that underpin hyperscale cloud storage used by millions of customers worldwide.
Job Responsibility:
Leads by example across teams and mentors others to produce extensible, maintainable, well-tested, secure, and performant code used across products that adheres to design specifications.
Leads efforts to continuously improve code performance, testability, maintainability, effectiveness, and cost, while learning about and accounting for relevant trade-offs.
Identifies best practices and coding patterns and provides deep expertise in the coding and validation strategy.
Creates and applies metrics to drive code quality and stability, appropriate coding patterns, and best practices.
Identifies and anticipates blockers or unknowns during the development process, escalates them, communicates how they will impact timelines, and then leads efforts to identify and implement strategies and/or opportunities to address them.
Owns and leads efforts and discussions for the architecture of aspects of complex products/solutions.
Leads the testing and exploration of various design options across a set of complex product/solution scenarios.
Creates proposals for architecture and design documents, and leads testing of hypotheses and proposed complex solutions.
Leads the development of design documents that support user stories and other product requirements.
Evaluates new technologies to solve classes of problems, and determines how to integrate these technologies within existing systems.
Leads design discussions with the team and shares findings/learnings from investigations.
Leads efforts to ensure system architecture and individual designs meet performance, scalability, resiliency, disaster recovery, cost of goods sold (COGS), and other requirements and expectations.
Upholds Microsoft standards of security, privacy, and other compliance requirements and expectations.
Leads the refinement of products through data analytics, and makes informed decisions in engineering products through data integration.
Reviews complex designs/architectures within and across teams to provide recommendations for improvements.
Applies and identifies best practices and shares information with other engineers for building code based on well-established methods and secure design principles.
Leads product development and scaling to customer requirements and applies best practices for meeting scaling needs and performance expectations and security promises.
Leads efforts for experiments that determine the impact of changes using feature flags/flighting in their code, interprets results, and decides on next steps or ship decision from results.
Drives identification of the correct metrics for experimentation in determining improving customer value.
Drives collaboration efforts with internal partners to ensure incorporation of success and guard rail metrics for experimentation.
Holds accountability as a designated responsible individual (DRI) and mentors other engineers across products/solutions, working on-call to monitor system/product/service for degradation, downtime, or interruptions.
Alerts stakeholders as to status and initiates actions to restore system/product/service for complex issues.
Develops a playbook for the team to resolve issues.
Coordinates people and resources to ensure DRI responsibilities are covered across teams.
Requirements:
Bachelor's Degree in Computer Science or related technical field AND 10+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
OR equivalent experience.
Ability to meet Microsoft, customer and/or government security screening requirements
Microsoft Cloud Background Check: This position will be required to pass the Microsoft Cloud Background Check upon hire/transfer and every two years thereafter.
Master's Degree in Computer Science or related technical field AND 8+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
OR Bachelor's Degree in Computer Science or related technical field AND 12+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
OR equivalent experience.
4+ years experience in large scale distributed systems and concurrent programming
4+ years experience as a technical lead building large-scale systems.