Software Engineering IC4
Microsoft
Join Retail & Consumer Goods as a Software Engineer to collaborate with and guides appropriate internal and external stakeholders to determine and confirm customer/user requirements for a project/sub-section of a product/solution. Leads discussions for and owns the architecture of a products/solutions and creates proposals for architecture. Identifies dependencies and incorporates them into the development of design documents for a product, application, service or platform. Leads by example within the team to produce extensible, maintainable, well-tested, secure, and performant code that adheres to design specifications. Leverages existing deployment frameworks to ensure efficiency. Drives efforts to integrate logging and instrumentation for gathering telemetry data on system behavior such as performance, reliability, availability, usage, and safety mechanisms, and for allowing monitoring and investigating security-related concerns and scenarios for both live and A/B experiments for products, services, and offerings. Drives efforts to ensure the correct processes are followed to achieve a high degree of security, privacy, safety, and accessibility. Applies best practices to build code based on well-established methods and secure design principles while also applying best practices for new code development and formal validation of security invariants. Works with partner teams to ensure a project/sub-system of a product works well with the components of the partner team before going live.
Responsibilities
- Reviews product code and test code to ensure it meets team standards, contains the correct test coverage, and is appropriate for the product or solution area. Brings insight to code reviews to help improve code quality, coaching and providing feedback to develop other engineers' skills. Conducts code reviews in a timely fashion that helps accelerate the pace of development on the team. Considers diagnosability, reliability, testability, and maintainability when reviewing code, and understands when code is ready to be shared or delivered. Applies and reviews for coding patterns, security risks, compliance issues, and best practices in code reviews, providing feedback on code to drive adherence to best practices. Uses automated source code analysis tools that are incorporated into the build/development process.
- Uses debugging tools, tests, logs, telemetry, and other methods to proactively verify assumptions while developing code before issues occur for products in production. Conducts incident retrospectives to identify root causes of problems, implements repair actions, and identifies mechanisms to prevent incident recurrence. Independently applies least-access principles, uses logging, telemetry, and other appropriate mechanisms to investigate issues while retaining privacy and security, and drives those practices across the team.
- Leads by example within the team to produce extensible, maintainable, well-tested, secure, and performant code that adheres to design specifications. Continuously improves code performance, testability, maintainability, effectiveness, and cost, while learning about and accounting for relevant trade-offs. Applies metrics to drive code quality and stability. Applies appropriate coding patterns and best practices (e.g., leveraging state-of-the-art generative artificial intelligence [GenAI], approaches to source code organization, naming conventions). Identifies and escalates blockers or unknowns during the development process, communicates how they will impact timelines, and identifies strategies and/or opportunities to address them.
- Independently creates a clear test strategy that ensures solution quality, prevents regression from being introduced into existing code. Ensures test plans incorporate security testing to validate security invariants (including negative cases). Drives adding new tests to cover gaps, deleting or fixing broken tests, and improving the speed, reliability, and defect localization of the test suite. Independently builds testable code and considers testability during design for a project/sub-section of a product/solution. Understands the different types of tests that can be done on a particular system (e.g., unit tests), maintains up-to-date understanding of testing architectures used both across Microsoft and across the industry, and applies them across the architecture as appropriate. Identifies difficult or untestable sections of codes for a project/sub-section of a product/solution for future design or rearchitecture discussions. Leverages artificial intelligence (AI) tools for test automation.
- Applies best practices to build code based on well-established methods and secure design principles while also applying best practices for new code development and formal validation of security invariants. Drives product development and scaling to customer requirements and applies best practices for meeting scaling needs and performance expectations and security promises.
- Considers, identifies requirements for, and drives comprehensive application of automation within production and deployment of a product, targeting zero-touch deployment when possible. Runs code in simulated or other non-production environments to confirm functionality and error-free runtime for products.
- Leverages their subject-matter expertise to partner with appropriate stakeholders (e.g., technical program managers) to drive a workgroup's project plans, release plans, and work items. Organizes work into smaller sets of tasks as part of an overall roadmap. Guides other members for project estimation and escalates issues that might cause a delay. Ensures required security protections and detection processes are accounted for in planning. Ensures project plans adhere to security, privacy, and compliance requirements. Ensures all code for a product/solution is properly flighted for quicker mitigation of production incidents. Calculates capacity for planning, accounting for appropriate failover and backup/restore mechanisms for disaster recovery for a project/sub-system of a product. Makes considerations for efficient operation of a project/sub-system of a product after it is live. Establishes a rollback plan for a project/sub-system of a product.
- Leveraging internal experimentation infrastructures, drives experiments that determine the impact of changes, using feature flags/flighting in their code. Collaborates with internal partners (e.g., Data Science, product managers) to incorporate success and guard rail metrics for experimentation.
- Leverages existing deployment frameworks in the implementation of solutions, automating deployment tasks when possible to ensure efficiency. Follows safe change deployment best practices (e.g., ensuring that flights are set correctly) for their team to minimize adverse impact to users and other services. Ensures that solutions are deployed safely, rolling out security-sensitive features only to applicable, relevant customers and scenarios to reduce the attack surface. Monitors dependency status and ensures that only the latest, secure versions are deployed. Identifies when rollback plans should be enacted for a project/sub-sub-system of a product. Builds deployment infrastructure to allow developers' private builds for a project/sub-sub-system of a product to be tested in a production-like environment.
- Drives efforts to integrate logging and instrumentation for gathering telemetry data on system behavior such as performance, reliability, availability, usage, and safety mechanisms, and for allowing monitoring and investigating security-related concerns and scenarios for both live and A/B experiments for products, services, and offerings. Leverages telemetry feedback and effectiveness to independently improve subsequent monitoring designs. Classifies and analyzes data on a range of metrics (e.g., health of the system, where bugs may be occurring), and creates outputs (e.g., notifications, dashboards) that improve monitoring and investigating security-related concerns and scenarios, system monitoring and/or issue identification and mitigation. Considers the privacy implications of telemetry code changes, and adding new data points.
- Acts as a designated responsible individual (DRI) and guides other engineers by developing and following the playbook, working on-call to monitor a system/product/service for degradation, downtime, or interruptions. Alerts stakeholders as to status and initiates actions to restore system/product/service for simple problems and complex problems when appropriate. Responds within service level agreement (SLA) timeframe. Drives efforts to reduce incident volume, looking globally at incidences and providing broad resolutions. Escalates issues to appropriate owners.
- Maintains operations of live site service, following security best practices when responding quickly to mitigate issues while using the minimum required permissions to do so that arise on a rotational, on-call basis. Implements solutions and mitigations to more complex issues impacting performance or functionality of live site service and escalates appropriately. Reviews and writes incident postmortem and presents insights that drive changes to reduce or eliminate incidents. Independently improves troubleshooting guides (TSGs), wikis, tests, and telemetry to make on-call better, and recommends user-facing support documentation and additional test coverage to reduce likelihood of future user-initiated incidents. Enables secure operations, security monitoring, and integration with live site investigation activities. Identifies and proposes opportunities (e.g., lunch talks, automation, practices, tools) that can be leveraged to improve the live site experience. Adds comprehensive observability and monitoring to services.
- Collaborates with and guides appropriate internal (e.g., product manager, privacy/security subject matter expert, technical lead) and external (e.g. customer escalation team, public forums) stakeholders to determine and confirm customer/user requirements for a project/sub-section of a product/solution. Incorporates customer insights into future designs or solution fixes. Ensures unwritten requirements, such as appropriate continuous feedback loops that measure actionable, quantitative (e.g., customer value, usage patterns, solution performance) and qualitative (e.g., accessibility, globalization) indicators of value are incorporated. Understands, provides feedback on, and advocates for security and privacy needs of the customer who will be using the project/sub-section of a product/solution.
Qualifications
Required/Minimum Qualifications:
- Bachelor's Degree in Computer Science or related technical field AND 4+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python OR equivalent experience.
- Master'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 Bachelor'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 equivalent experience.
Software Engineering IC4 - The typical base pay range for this role across the U.S. is USD $119,800 - $234,700 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 $158,400 - $258,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
This position will be open for a minimum of 5 days, with applications accepted on an ongoing basis until the position is filled.
Microsoft is an equal opportunity employer. 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 with religious accommodations and/or a reasonable accommodation due to a disability during the application process, read more about requesting accommodations.