Are you a passionate engineering leader ready to build a market-winning, compliant, high-quality portfolio of products focused on social impact? We are seeking a highly skilled and experienced engineering team leader to join one of Microsoft’s largest Industry Cloud teams.
Microsoft’s Tech for Social Impact (TSI) was launched in 2017 and delivers products and technology to over 325,000 nonprofit organizations worldwide. TSI is built on a unique and mission-driven business model which funds Microsoft Philanthropies, the largest corporate philanthropy on the planet. Our product team delivers the business and technical strategy that fuels our organization’s rapid growth.
As a Software Engineering Manager reporting to our Head of Engineering, you will be responsible for guiding and mentoring a team of engineers in delivering high-quality software solutions. Your expertise in coding, architecture design, implementation, and reliability will be crucial in driving engineering excellence and achieving our product goals. Your ability to mentor and counsel a global team of technologists from a diversity of cultures and experiences is critical for success in this role.
In this role, you will leverage your experience of successfully partnering with product management, user experience design, TSI program management and architecture Centers of Excellence, nonprofit organizations, our large ecosystem of partners and implementers, and nonprofit workers and volunteers to deliver on-time, highly differentiated functionality to help nonprofit workers accelerate their mission delivery.
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.
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
- Coaches and supports partnership with appropriate stakeholders (e.g., project manager, technical lead) to determine user requirements within teams. Leverages a variety of feedback channels to incorporate insights into future designs or solution fixes. Coaches incorporation of appropriate continuous feedback loops measuring customer value, usage patterns, and other actionable metrics of value.
Design
- Coaches others and leads discussions for 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 to provide solutions for architecting of solutions, with minimal technical oversight. Develops and mentors others in development of design documents for designs or User Stories, and determines the technology that will be leveraged and how it will interact. Coaches others and shares learnings and identified solutions from investigations with the team and owns for some design decisions. Coaches employees to consider, and assures system architecture meets security and compliance requirements and expectations.
- Coaches team and 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 and coaches others 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.
- Coaches teams and 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 system may provide support to others. Determines back-end dependencies associated with product, application, service, or platform functionality for the solution/product area. Coaches teams to understand 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. 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.
Coding
- Coaches team members within the team in producing extensible and maintainable code. 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. Leads by example in code-writing practices.
- Reviews debugging tools, logs, telemetry, and other methods, and coaches others to verify assumptions through writing and developing code proactively before issues occur and reactively as issues occur across products. Conducts and coaches others in retrospective debugging of solutions to identify root causes of problems. Tracks and attempts to minimize cost of debugging for a set of 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
- Coaches team to drive multiple group's project plans, release plans, and work items in coordination with appropriate stakeholders (e.g., project managers). Breaks down long-term project vision into milestones. Guides to other members for project estimation. Anticipates future goals to guide future resources. Reviews and implements resources in response to changing context.
- Coaches team and creates experimentation to determine the effectiveness of changes and monitors developments for prototyping and testing across products, and interprets results from experimentation.
- Coaches others on deployment appropriate Ensures the correct measures are in place to deploy products. Considers and accounts for the impact of build deployments on both users and other services. Is accountable for safe deployment practices for code and configuration. Coaches others and drives efforts to assure that solutions are deployed in a safe manner.
Reliability and Supportability
- Coaches others in operations of live service as issues arise on a rotational, on-call basis. Coaches others implement solutions and mitigations to complex issues impacting performance or functionality of Live Site services. Reviews and writes issues postmortem and shares insights with team.
- Coaches others and acts as a Designated Responsible Individual (DRI) and guides other engineers across products, working on call to monitor system/product/service for degradation, downtime, or interruptions. Alerts stakeholders to status and initiates 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 within the team. Ensures responses are within Service Level Agreement (SLA) timeframe. Drives efforts to reduce incident volume, looking globally at incidences and providing broad resolutions.
- Coaches others and drives efforts to integrate instrumentation for gathering telemetry data on system behavior such as performance, reliability, availability, utility, and safety mechanisms. Drives sustainment of feedback loops from telemetry resulting in subsequent designs. Creates outputs of telemetry such as notifications or dashboards.
- Drives efforts and coaches team to collect, classify, and analyze data on a range of metrics (e.g., health of the system, where bugs might be occurring). Drives the refinement of products through data analytics and makes informed decisions in engineering products through data integration.
Engineering Excellence
- Influences the decision-making process around tool development. Drives resourcing of tool development and reuse within the team. Ensures the team uses open sources and reuses them as applicable. Coaches 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. Coaches 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.
- Coaches comprehensive application of automation within production and deployment for a product. Coaches others to run code in simulated, or other non-production environments to confirm functionality and error-free runtime for a product. Defines and develops standardized, repeatable, and scalable solutions to guarantee quality.
- Coaches team and drives efforts to ensure the correct processes are followed to achieve a high degree of security, privacy, safety, and accessibility. Creates and assures presence of visible evidence to demonstrate compliance for products. Coaches team to develop and maintains a deep understanding of the implications of onboarding new technologies following expectations of compliance at Microsoft.
- Remains current by investing time and effort into staying abreast of current developments. 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 drives 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 of both global and local regulations for technologies and system applications to ensure regulations are followed and met, and guides other engineers on regulation awareness. Monitors the product development and scaling to customer requirements, and applies best practices for meeting scaling needs and performance expectations.
- Builds and maintains communication with key partners across Microsoft ecosystem of engineers. Acts as a key contact for leadership to ensure alignment with partners' expectations. Builds 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 progress.
Qualifications
Required/Minimum Qualifications
- Bachelor's Degree in Computer Science, or related technical discipline AND technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
- OR equivalent experience.
Additional or Preferred Qualifications
- Bachelor's Degree in Computer Science or related technical field AND technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
- OR Master's Degree in Computer Science or related technical field AND technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
- OR equivalent experience.
- People management experience.
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.
$ads={1}