Logo
Microsoft Corporation

Principal Software Engineer

Microsoft Corporation, Redmond, Washington, United States, 98052


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 data integration team builds data gravity on the Microsoft Cloud. Massive volumes of data are generated – not just from transactional systems of record, but also from the world around us. Our data integration products – Azure Data Factory and Power Query make it easy for customers to bring in, clean, shape, and join data, to extract intelligence.

The Fabric Data Movement team is currently seeking a Principal Software Engineer to join their team. This team is in charge of designing, building, and operating a next generation service that transfers large volumes of data from various source systems to target systems with minimal latency while providing a data centric orchestration platform. 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.

Microsoft’s mission is to empower every person and every organization on the planet to achieve more. As employees we come together with a growth mindset, innovate to empower others, and collaborate to realize our shared goals. Each day we build on our values of respect, integrity, and accountability to create a culture of inclusion where everyone can thrive at work and beyond.

In alignment with our Microsoft values, we are committed to cultivating an inclusive work environment for all employees to positively impact our culture every day.

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 best 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 best practices in reviews, and provides feedback on code to drive adherence to best 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. Drives identification of areas of dependency and overlap with other teams or team members and drives coordination. Communicates across teams and resolves conflicts between teams.

Collaborates with appropriate stakeholders (e.g., project manager, technical lead) to determine 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.

Embody our culture (https://careers.microsoft.com/v2/global/en/culture) and values (https://www.microsoft.com/en-us/about/corporate-values)

Qualifications

Required/Minimum 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/Additional Qualifications

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 10+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python

OR equivalent experience.

Demonstrated experience in building cloud services with multi-tier architecture.

Solid software design and architecture skills for features and components spanning both horizontally and vertically.

Experience working in Data domain, dealing with high volumes of data, (application programming interface) API traffic, with mindset of security, scalability and performance.

Software Engineering IC5 - The typical base pay range for this role across the U.S. is USD $137,600 - $267,000 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 $180,400 - $294,000 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

Microsoft will accept applications for the role until November 8, 2024.

#azdat

#azuredata

#microsoftfabric

#dataintegration

Microsoft is an equal opportunity employer. Consistent with applicable law, 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 and/or a reasonable accommodation due to a disability during the application process, read more about requesting accommodations (https://careers.microsoft.com/v2/global/en/accessibility.html) .