Principal Software Engineer

MicrosoftApplyPublished 2 hours agoFirst seen 1 hours ago
Apply
Overview

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 of AI, powering a new class of data-first applications and driving a data culture. Within Microsoft Fabric, the Data Integration team enables organizations to connect, move, and shape data across their entire data estate. As data is generated across applications, devices, and systems, our integration capabilities make it easy to ingest, transform, and prepare data for downstream use. Fabric’s unified integration experience simplifies how customers bring data together, ensuring it is trusted, usable, and ready to power analytics, real-time insights, and AI scenarios.The Fabric Mirroring team is currently seeking a Principal Software Engineer to join their team. This team oversees designing, building, and operating a next generation service that transfers large volumes of data from various source systems to Fabric with minimal latency. The team focuses on advanced data movement/replication scenarios while maintaining user-friendly interfaces. Working collaboratively, the team utilizes a range of technologies to deliver high-quality products at a fast pace.
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

  •  Leads by example within the team by producing extensible and maintainable. Optimizes, debugs, refactors, and reuses code to improve performance and maintainability, effectiveness, and return on investment (ROI). Applies metrics to drive the quality and stability of code, as well as appropriate coding patterns and practices. 
  • Applies debugging tools and examines logs, telemetry, and other methods to verify assumptions through writing and developing code proactively before issues occur and reactively as issues occur for products. Conducts retrospective debugging of solutions to identify root causes of problems.
  • Reviews the code of a product to assure it meets the team's and Microsoft’s quality standards, is reliable and accurate, and is appropriate for the scale of the product/solution area. Applies feedback to current and future iterations. Participates in code reviews to ensure coding standards are followed.  Considers diagnosability, reliability, and maintainability when reviewing code, and understands when code is ready to be shared or delivered. Applies and screens for coding patterns and practices in reviews, and provides feedback on code to drive adherence to practices. 
  • Leads discussions for the architecture of products/solutions and creates proposals for architecture by testing design hypotheses and helping to refine code plans. Provides reactions, proposed solutions, and inputs to architects. Partially owns solutions for architecting of solutions, with minimal technical oversight. Develops design documents for designs or User Stories, and determines the technology that will be leveraged and how it will interact. Shares learnings and identified solutions from investigations with the team and owns for some design decisions. Assures system architecture meets security and compliance requirements and expectations.
  • Independently creates a clear and articulated plan for testing and assuring quality of solutions, and defines success for outcomes of tests (e.g., unit tests). Identifies needs for a broad versus selected approach in testing mechanisms and makes informed decisions to implement the most effective tests. Drives efforts to add new tests, remove antiquated tests, and aggregate tests to improve the test suite. Improves recommendations to the team and augments test cases to ensure that solutions have good test coverage. Drives efforts to continually integrate automation features when planning for testing.
  • Drives identification of dependencies and the development of design documents for a product, application, service or platform. Identifies other teams and technologies that will be leveraged, how they will interact, and when one's own system may provide support to others. Determines back-end dependencies associated with product, application, service, or platform functionality for the solution/product area. Understands up and downstream effects of solutions and work provided to ensure appropriate security and performance, drives reliability in the solutions, and optimizes dependency chains and retrieves across teams.
  • Collaborates with appropriate stakeholders (e.g., project manager, technical lead) to align on user requirements for a scenario. Leverages a variety of feedback channels to incorporate insights into future designs or solution fixes. Ensures appropriate continuous feedback loops measuring customer value, usage patterns, and other actionable metrics of value are incorporated.  ​ 

Other:


Qualifications

Required Qualifications 

  • Bachelor's Degree in Computer Science, or related technical discipline 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.  

Additional Job 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 

  • 10+ years of software engineering experience
  • Proven track record of delivering large-scale services or products
  • Experience leading complex cross-team initiatives

Deep expertise in:

  • Distributed systems
  • Cloud computing
  • System architecture
  • Performance and scalability
  • Security and reliability engineering

Proficiency in:

  • C#
  • Java
  • C++
  • Python
  • Go
  • Azure technologies

Leadership Skills

  • Strategic thinking
  • Technical influence without direct authority
  • Executive-level communication
  • Strong stakeholder management
  • Organizational problem solving

Software Engineering IC5 - The typical base pay range for this role across the U.S. is USD $142,800 - $274,800 per year. There is a different range applicable to specific work locations, within the San Francisco Bay area and New York City metropolitan area, and the base pay range for this role in those locations is USD $188,000 - $304,200 per year.

Certain roles may be eligible for benefits and other compensation. Find additional benefits and pay information here:
https://careers.microsoft.com/us/en/us-corporate-pay

This position will be open for a minimum of 5 days, with applications accepted on an ongoing basis until the position is filled.



Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, citizenship, color, family or medical care leave, gender identity or expression, genetic information, immigration status, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran or military status, race, ethnicity, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable local laws, regulations and ordinances. If you need assistance with religious accommodations and/or a reasonable accommodation due to a disability during the application process, read more about requesting accommodations.