As a software engineer in Driver Servicing, your responsibilities include creating new features for and maintaining highly available, resilient systems and services. You will evaluate requirements, estimate development costs, design and implement the software, and resolve outstanding bugs. Also, you will be able to work on building data pipelines and leverage data to make data driven business decisions. Our team operates under Scrum principles and you can help improve our engineering environment through these processes. You will drive business value by working collaboratively with your teammates and other organizations within Microsoft. Our team believes in giving everyone the best opportunity to meet their professional goals. You will have many pathways to improve your engineering skills and direct your career trajectory as you see fit. This role is flexible in that you will be able to partner with your Manager to define the way that you’d like to work, whether that is in the office or from home.
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.
- Works with appropriate stakeholders (e.g., project manager, technical lead) to determine user requirements for a set of features. Begins to leverage a variety of feedback channels to incorporate insights into future designs or solution fixes. Incorporates appropriate continuous feedback loops measuring customer value, usage patterns, and other actionable metrics of value.
- Contributes to processes for the architecture of a product/solution feature and helps to create proposals for architecture by testing design hypotheses and helping to refine code plans, with technical leadership from others. Provides initial reactions and input to architects. Begins to own solutions for architecting of solutions, following technical leadership as applicable. Contributes to the development of design documents for designs or User Stories with oversight, and determines the technology that will be leveraged and how it will interact. Escalates and shares findings from investigations with the team and owns some design decisions. Helps to assure system architecture meets security and compliance requirements and expectations.
- Creates a clear and articulated plan for testing and assuring quality of solutions, and defines success for outcomes of tests (e.g., unit tests). Adds new tests, removes antiquated tests, and aggregates tests to improve tests in the feature area. Helps to drive efforts for augmenting test cases and ensures that the solution area has good test coverage. Helps to integrate automation features when planning for testing.
- Creates and implements code for a product, service, or feature, reusing code as applicable. Writes and learns to create code that is extensible and maintainable. Considers diagnosability, reliability, and maintainability with few defects, and understands when the code is ready to be shared and delivered. Applies coding patterns and best practices to write code.
- Maintains operations of live service as issues arise on a rotational, on-call basis. Identifies solutions and mitigations to simple issues and complex issues when applicable impacting performance or functionality of Live Site services and escalates as necessary.
- Acts as a Designated Responsible Individual (DRI) working on call to monitor system/product feature/service for degradation, downtime, or interruptions. Alerts stakeholders as to the status and gains approval to restore system/product/service for simple problems. Responds within Service Level Agreement (SLA) timeframe. Escalates issues to appropriate owners.
- Creates and implements data pipelines to generate insights and quality metrics, and leverage the data to drive business and product decisions in collaboration with the appropriate stakeholders.
- Builds knowledge, shares new ideas, and shares pinpoints of engineering tool gaps to improve software developer tools to support other programs, tools, and applications to create, debug, and maintain code for complex product features. Uses open source when possible. Develops higher-level awareness of other kinds of tools outside areas of expertise. Helps to identify internal tools and creates tools that will be useful for creating the product, determining if methods are still applicable for the current solution.
- Embody our Culture and Values
- OR equivalent experience.
- 1+ years of experience with relational databases and SQL.
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.
Additional Or Preferred Qualifications
- OR equivalent experience.
Software Engineering IC3 – The typical base pay range for this role across the U.S. is USD $94,300 – $182,600 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 $120,900 – $198,600 per year.