Principal Software Engineering Manager

Responsibilities
People Management

Managers deliver success through empowerment and accountability by modeling, coaching, and caring.
Model – Live our culture; Embody our values; Practice our leadership principles.
Coach – Define team objectives and outcomes; Enable success across boundaries; Help the team adapt and learn.
Care – Attract and retain great people; Know each individual’s capabilities and aspirations; Invest in the growth of others.

Understand User Requirements

Guides partnership with appropriate stakeholders (e.g., project manager, technical lead) to determine user requirements within and across teams. Leverages a variety of feedback channels to incorporate insights into future designs or solution fixes. Guides incorporation of appropriate continuous feedback loops measuring customer value, usage patterns, and other actionable metrics of value. Begins to determine additional critical metrics.

Design

Guides others through efforts and discussions for architecture of aspects of products/solutions (e.g., design, cost). Creates proposals for architecture and design documents, and leads testing of hypotheses and proposed solutions. Shares and acts on findings from investigations and owns design decisions and oversees the less experienced team members. Guides others and writes documents for designs or User Stories and determines the technology that will be leveraged and how they will interact. Leads design discussions with the team and shares findings/learnings from investigations, owns design decisions. Guides employees to consider, and leads efforts to assure system architecture meets security and compliance requirements and expectations.
Guides team in creating clear and articulated plan for testing, and defines success for test outcomes. Identifies needs for a broad versus selected approach in testing mechanisms and makes informed decisions to implement the most effective tests. Leads and guides efforts to augment test cases and ensure the solutions have good test coverage. Leads efforts to ensure the scalability and reliability of the test framework during design. Leads efforts to integrate automation features during testing planning.
Guides teams and leads identification of dependencies and the development of design documents for a product, application, service, or platform. Leads identification of other teams and technologies that will be leveraged, how they will interact, and when one’s system may provide support to others. Guides teams through efforts to determine back-end dependencies associated with product, application, service, or platform functionality for the solution/product. Demonstrates deep understanding of up and downstream effects of solutions and work provided to ensure appropriate security and performance, driving reliability in the solutions, and optimize dependency chains and retrieves across teams. Identifies areas of dependency and overlap with other teams or team members and drives coordination. Enables cross-team communications and resolves conflicts between teams.

Coding

Guides team within and across teams in producing extensible, and maintainable code. Optimizes, debugs, refactors, and reuses code to improve performance and maintainability, effectiveness, and return on investment (ROI). Identifies best practices and coding patterns and provides deep expertise on the coding and validation strategy. Defines or reuses quality metrics, best practices, and coding patterns to ensure testable code. Leads by example in code-writing practices.
Reviews debugging tools, logs, telemetry, and other methods, and acts as an expert for others to verify assumptions through writing and developing code proactively before issues occur and reactively as issues occur across products and multiple teams. Conducts retrospective debugging of solutions to identify root causes of problems. Tracks and attempts to minimize cost of debugging multiple scenarios.
Coaches others to review 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. 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.

Implement

Guides team to drive multiple group’s project plans, release plans, and work items in coordination with appropriate stakeholders (e.g., project managers). Breaks down very long-term project vision into milestones. Guides to other members for project estimation. Anticipates future goals to guide future resources. Reviews, implements, and recommends updates to resource management in response to changing context.
Acts as an expert and guides team experimentation to determine the effectiveness of changes and monitors developments for prototyping and testing across products and multiple teams, interprets results, and makes a decision on next steps or ship decision from results. Ensures there are time and resources for engineers to conduct experiments.
Acts as an expert to others for deployment appropriate environments. Establishes standards for the correct measures to deploy products. Holds accountability for the impact of build deployments on both users and other services. Optimizes deployments across products and components to meet differing business objectives. Guides others and leads efforts to assure that solutions are deployed in a safe manner.

Reliability and Supportability

Acts as an expert for others’ operations of live service as complex issues arise on a rotational, on-call basis. Reviews systematic issues and ensure solutions. Ensures playbooks are logical and understandable. Establishes standardized processes and guides others that implement solutions and mitigations to issues impacting performance or functionality of Live Site services. Reviews and writes complex issues postmortem and shares insights across teams.
Guides team and acts as an expert for Designated Responsible Individual (DRI) and monitors other engineers across product lines, working on call to monitor system/product/service for degradation, downtime, or interruptions. Alerts stakeholders to status and establishes actions to restore system/product/service. Develops a playbook, guidelines, and processes for the team to resolve issues. Coordinates people and resources to ensure DRI responsibilities are covered across teams. Ensures responses are within Service Level Agreement (SLA) timeframe. Has line of sight to incidences and plans to address emerging issues. Leads efforts to reduce incident volume, looking globally at incidences and providing broad resolutions.
Integrates, designs, and reviews others work across a team or product to integrate instrumentation for gathering telemetry data on system behavior such as performance, reliability, availability, utility, and safety mechanisms. Guides others to drive sustainment of feedback loops from telemetry resulting in subsequent designs. Ensures solutions are scalable, financially responsible, and meet capture/storage guidelines. Leads creation of outputs of telemetry such as notifications or dashboards.
Guides team and leads efforts to collect, classify, and analyze complex data and analyses on a range of metrics (e.g., health of the system, where bugs might be occurring). Leads the refinement of products through data analytics and makes informed decisions in engineering products through data integration.

Engineering Excellence

Guides the decision-making process around tool development. Oversees resourcing of tool development and reuse within the team. Ensures the team uses open sources and reuses them as applicable. Guides others, builds, enhances, reuses, contributes to, and identifies new software developer tools to support other programs and applications to create, debug, and maintain code for products. Uses open source when possible. Begins to develop skills in other tools outside areas of expertise. Guides others and identifies internal tools and creates new tools that will be useful for creating the product, determining if methods are still applicable for the current solution. Shares best practices and teaches others about new tools and strategies.
Guides comprehensive application of automation within production and deployment across products. Guides others to run code in simulated, or other non-production environments to confirm functionality and error-free runtime across products. Defines and develops standardized, repeatable, and scalable solutions to guarantee quality.
Guides team and leads efforts to ensure the correct processes are followed to achieve a high degree of security, privacy, safety, and accessibility across solutions and teams. Guides team to create and assure presence of visible evidence to demonstrate compliance for products. Guides team to maintains a deep understanding of the implications of onboarding new technologies following expectations of compliance at Microsoft.
Identifies skills needed and ensures engineering team’s skills remain current by investing time and effort into staying abreast of current developments. Proactively seeks new knowledge that will improve the availability, reliability, efficiency, observability, and performance of products while also driving consistency in monitoring and operations at scale and shares knowledge with other engineers.
Identifies and acts as an expert in best practices and shares information with other engineers to reliably build code that is based on well-established methods while also applying best practices for new code development. Maintains an up-to-date understanding and advises engineering teams on both global and local regulations for technologies and system applications to ensure regulations are followed and met. Leads product development and scaling to customer requirements, and applies best practices for meeting scaling needs and performance expectations, and holds accountability for products that do not meet expectations.
Builds and maintains partnerships, driving collaboration with key partners across Microsoft ecosystem of engineers. Acts as a key contact for leadership to ensure communication with partners’ expectations. Oversees partner teams across Microsoft (e.g., Xbox, Office) and their end goals for products to drive and achieve desirable user experiences and fitting dynamic needs of partners/customers through product development. Monitors project status, and communicates project progress across teams. Escalates situations internally to resolve complex blockers

Qualifications

Required: – 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. – 3+ years of experience managing a team of engineers
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 background and Microsoft Cloud background check upon hire/transfer and every two years thereafter.

HM Qualifications Other

Experience with Windows, Active Directory or SQL

Apply via :

jobs.careers.microsoft.com