Software Engineer II - CTJ - Poly
Microsoft
Software Engineer II - CTJ - Poly
Redmond, Washington, United States
Save
Overview
We are looking for an engineer who is passionate about building new products while also managing a globally distributed service. In this role you will help to build and deliver the next set of services, features and developer tools that will define how applications are developed and hosted on Azure. You'll be working on both open source and platform components written in a variety of programming languages.
In Azure Application Platform and Serverless team, you own features from the design phase through implementation to production. As part of this ownership, you are expected to help support your features by actively participating in an on-call rotation (DRI), which includes creating/updating SOPs, Troubleshooting Guides, monitoring systems, mitigating/restoring incidents, and deep-dive analysis of root causes of outages. This position is collaborative – requires working with many partner teams, learning and understanding how to use their technology.
Azure Application Platform and Serverless team is part of the broader Azure organization with a mission to empower developers to quickly build and manage highly scalable distributed applications on Azure. The team is responsible for some of the most popular and fastest growing Azure services. These services cater to thousands of developers across the globe to develop and manage Web, Mobile, API, Event-Driven and IoT applications. Besides serving a multitude of industry sectors, our platform hosts mission critical applications for many Fortune 500 companies.
Bringing simplicity to our customers creates challenging engineering opportunities in areas like scalability, high-density, multi-tenancy, high availability, user experience and developer tools.
Azure App Service
App Service is a platform-as-a-service (PaaS) offering powering Web Apps, Mobile Apps, API Apps, Logic Apps, Static Web Apps, and Functions.
Azure Functions
Azure Functions is an open-source project at the heart of Azure’s serverless platform and handles billions of daily invocations of customer code written in a variety of languages including JavaScript, Python, C#/F#, Java, and PowerShell.
Azure API Management
Azure API Management enables companies building APIs to publish, describe, secure, manage and monitor their APIs so that they can focus on providing the functionality their developers want, while we provide the infrastructure they need.
Azure Logic Apps
The focus of Azure Logic Apps is integrating various SaaS (Software as a Service) and Enterprise systems and making business-to-business and enterprise application connectivity possible. Logic Apps offers a world class web authoring, management, and monitoring experience for workflows and orchestrations between applications, data, and services.
Azure Container App
Azure Container Apps is a fully-managed serverless container platform that enhances developer efficiency without requiring container knowledge or infrastructure management. Container Apps enables rapid microservice development, provides a sandbox for securely executing AI-generated code, and provides serverless GPUs that can scale to zero for cost-efficiency including pay-per-second billing.
Qualifications
Required/Minimum Qualifications
- Bachelor's Degree in Computer Science or related technical field AND 2+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
- OR equivalent experience.
Other Requirements
Security Clearance Requirements: Candidates must be able 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:
- The successful candidate must have an active U.S. Government Top Secret Clearance with access to Sensitive Compartmented Information (SCI) based on a Single Scope Background Investigation (SSBI) with Polygraph. Ability to meet Microsoft, customer and/or government security screening requirements are required for this role. Failure to maintain or obtain the appropriate U.S. Government clearance and/or customer screening requirements may result in employment action up to and including termination.
- Clearance Verification: This position requires successful verification of the stated security clearance to meet federal government customer requirements. You will be asked to provide clearance verification information prior to an offer of employment.
- Microsoft Cloud Background Check: This position will be required to pass the Microsoft Cloud background check upon hire/transfer and every two years thereafter.
- Citizenship & Citizenship Verification: This position requires verification of U.S. citizenship due to citizenship-based legal restrictions. Specifically, this position supports United States federal, state, and/or local United States government agency customer and is subject to certain citizenship-based restrictions where required or permitted by applicable law. To meet this legal requirement, citizenship will be verified via a valid passport, or other approved documents, or verified US government Clearance.
Preferred/Additional 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 Master's Degree in Computer Science or related technical field AND 2+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
- OR equivalent experience
- Hands on experience with distributed systems and services in the cloud.
- Proven ability tracking complex technical issues for running online services.
- Experience with .NET based systems is a plus.
- Experience using Linux, Docker, Kubernetes is a plus.
- Experience using public cloud services including Azure, AWS or Google Cloud.
Software Engineering IC3 - The typical base pay range for this role across the U.S. is USD $100,600 - $199,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 $131,400 - $215,400 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 July 25th, 2025.
#DDJL
#CoreAI
Responsibilities
Understand User Requirements
- 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.
Design
- 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.
- Contributes to the identification of dependencies, and the development of design documents for a product area with little oversight. Helps to identify other teams and technologies that will be leveraged, how they will interact, and when one's system may provide support to others. Contributes to determinating back-end dependencies associated with product, application, service, or platform functionality for product features. Understands downstream effects of solutions and work provided. Helps to identify areas of dependency and overlap with other teams or team members and drives coordination.
Coding
- 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.
- Supports efforts to apply debugging tools and examines logs, telemetry, and other methods to verify assumptions proactively before issues occur and reactively as issues occur for product features. Conducts retrospective debugging of solutions to identify root causes of problems.
- Reviews code of a product feature 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 feature. 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.
Implement
- Reviews work items to deepen knowledge of product features in partnership with appropriate stakeholders (e.g., project managers) and executes project plans, release plans, and work items. Contributes to efforts to break down larger work items into smaller work items and provides estimation. Escalates any issues that would cause a delay.
- Conducts and creates experimentation to determine the effectiveness of changes for prototyping and testing features, and applies findings back into development.
- Learns about and supports deployment to customers following the correct measures to push features out to customers. Learns about and considers the impact of build deployments on both users and other services. Learns about best practices for the deployment of features safely.
Reliability and Supportability
- 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..
- Identifies areas to efforts to integrate instrumentation for gathering telemetry data on system behavior such as performance, reliability, availability, usage, and safety mechanisms. Contributes to sustaining feedback loops from telemetry resulting in subsequent designs. Helps to create outputs of telemetry such as notifications or dashboards.
- Contributes to efforts to collect, classify, and analyze data with little oversight on a range of metrics (e.g., health of the system, where bugs might be occurring). Contributes to the refinement of product features by escalating findings from analyses to inform decisions regarding the engineering of products.
Engineering Excellence
- 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.
- Contributes to the development of automation within production and deployment of a complex product feature. Runs code in simulated, or other non-production environments to confirm functionality and error-free runtime for products with little to no oversight.
- Contributes to efforts to ensure the correct processes are followed to achieve a high degree of security, privacy, safety, and accessibility. Checks for visible evidence to demonstrate compliance for product areas. Develops and holds an understanding of the implications of onboarding new technologies following expectations of compliance at Microsoft.
- Remains current in skills by investing time and effort into staying abreast of current developments that will improve the availability, reliability, efficiency, observability, and performance of products while also driving consistency in monitoring and operations at scale.
- Applies best practices to reliably build code that is based on well-established methods while also applying best practices for new code development. Demonstrates and maintains an up-to-date understanding of both global and local regulations for technologies and system applications to ensure regulations are met. Follows best practices for product development and scaling to customer requirements, and applies best practices for meeting scaling needs and performance expectations.
- Maintains communication with key partners across the Microsoft ecosystem of engineers. Considers partners across teams and their end goals for products to drive and achieve desirable user experiences and fitting the dynamic needs of partners/customers through product development.
Other