Principal Software Engineer
Microsoft
Principal Software Engineer
Redmond, Washington, United States
Save
Overview
Microsoft Azure Edge + Platform (E+P) is a globally distributed team of engineers, architects, program managers, product managers, business program managers, business administrators, user experience researchers and designers who are responsible for delivering Microsoft’s edge vision.
The Azure Digital Operations organization is building the next generation edge platform to solve the operational needs of customers in manufacturing, enterprise and retail sector.
Digital Operations grows Microsoft business by empowering our leading customers to unlock one million daily insights to continuously optimize across a global estate using data from physical operations. We create the most reliable and trustworthy OS and platform services to empower Microsoft and our customers to achieve more. We unlock the next wave of opportunity at the edge through an at-scale ecosystem driving widespread adoption of our Microsoft cloud services.
We are looking for a Principal Software Engineer to be part of the exciting new journey to redefine and help drive the future of Azure Digital Operations. You will be responsible for building highly available, resilient and efficient messaging services and data processing frameworks, using latest technologies like WebAssembly (Wasm), that run on Kubernetes at the edge. You will be responsible for modeling the interaction of Cloud applications with extensive Edge deployments in major manufacturing (e.g., automotive, chemical, and food processing), enterprise (e.g., Oil & Gas) and retail (e.g., warehouses, resellers, etc..) deployments. Modeling includes activities such as ontology establishment, code generation, automatic onboarding of devices and assets, and more. We work in a fast-paced environment where experimenting with latest Cloud-native technologies is a need, and delivering dependable solutions that work 24x7x365 with minimal intervention is a must. Join us and help drive our mission to offer the most scalable, powerful, and secure IoT platform empowering businesses ranging from startups to Fortune 100 enterprises to achieve more. You will be an important part of a team of highly motivated and talented individuals.
Successful candidates should have a strong grasp of Computer Science fundamentals, sharp technical design skills, and a healthy appetite for tackling hard, ambiguous problems.
We are building a team where diversity of thought and background is valued as strongly as technical skills, and where everyone is encouraged to come up with new ideas to make our customers’ lives better. We value people who can bring a diverse perspective to our product and where a developer will not just write code but will have a real meaningful impact on the direction of the product and which features to build. We value the One Microsoft approach to achieve our mission to empower every person and organization on the planet.
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.
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, Rust, C, C++ or C#
- OR equivalent experience.
- 4+ years of experience developing, shipping, and supporting production grade distributed cloud or edge services.
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.
- Master Degree in Computer Science, or related technical discipline and 10+ years technical engineering experience with coding in languages including, but not limited to, Rust, C, C++ or C#.
- Proven track record in developing, shipping, and supporting production grade distributed cloud or edge services.
- Experience in working on Kubernetes and distributed systems.
- Experience in Rust programming language, and programming WebAssembly (Wasm) applications.
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 January 17, 2025.
#AEPJobs
Responsibilities
As a Principal Software Engineer, you will be responsible for the following:
- Design and develop edge services that run on Kubernetes, support optimal utilization of resources, and are scalable, highly available, maintainable and secure.
- Lead discussions for the architecture of products/solutions and create proposals for architecture by testing design hypotheses and helping to refine code plans. Provide reactions, proposed solutions, and inputs to architects.
- Lead by example within the team by producing extensible and maintainable code. Identify and apply metrics to drive the quality and stability of code, as well as appropriate coding patterns and best practices.
- Design for observability and build rich diagnostics into the product. Lead and participate in code reviews to ensure coding standards are followed. Establish and apply principles of diagnosability, reliability, and maintainability when reviewing code, and understand when code is ready to be shared or delivered.
- Supervise test automation to ensure robustness of the product.