Software Engineer at Microsoft
, , Canada -
Full Time


Start Date

Immediate

Expiry Date

13 Apr, 26

Salary

257500.0

Posted On

13 Jan, 26

Experience

10 year(s) or above

Remote Job

Yes

Telecommute

Yes

Sponsor Visa

No

Skills

Artificial Intelligence, Software Development, Coding, Debugging, Automation, Architecture, Mentoring, Testing, Collaboration, Security, Compliance, Telemetry, Data Analytics, Project Management, Problem Solving, Performance Optimization, Continuous Improvement

Industry

Software Development

Description
Overview Improves artificial intelligence tools and practices across the software development lifecycle. Partners with internal stakeholders to determine customer/user requirements for scenarios. Leads discussions for architecture of complex products ensuring test strategies for solution quality. Mentors in identifying dependencies and producing extensible code across teams. Leads debugging efforts and application of coding patterns to improve code quality. Develops automation for production deployment targeting zero-touch when possible. Ensures visibility for compliance through audit trails and maintains understanding of regulations. Advocates new trends to adapt them to current problems and shares knowledge with peers. Supports collaboration with partner teams, ensuring proper integration before going live. Responsibilities AI-Native Development Improves artificial intelligence (AI) tools and practices across the software development lifecycle (SDLC). Proactively takes responsibility for the content of their AI-generated requirements, design documents, code, and other assets, assisting other members of the team to do the same. Incorporates Responsible AI practices into the SDLC to ensure appropriate controls over AI-generated assets. Applies SDLC and engineering health measures (e.g., Accelerate, SPACE framework, Engineering System Success Playbook [ESSP]) to guide improvements to processes and practices, especially those involving AI. Experiments with AI tools and practices to improve their own capabilities, and provides recommendations on how to adopt them to other members of the team. Coding Leads by example across teams and mentors others to produce extensible, maintainable, well-tested, secure, and performant code used across products that adheres to design specifications. Leads efforts to continuously improve code performance, testability, maintainability, effectiveness, and cost, while learning about and accounting for relevant trade-offs. Identifies best practices and coding patterns (e.g., leveraging state-of-the-art generative artificial intelligence [GenAI], approaches to source code organization, naming conventions) and provides deep expertise in the coding and validation strategy. Creates and applies metrics to drive code quality and stability, appropriate coding patterns, and best practices. Identifies and anticipates blockers or unknowns during the development process, escalates them, communicates how they will impact timelines, and then leads efforts to identify and implement strategies and/or opportunities to address them. Leads efforts on using debugging tools, tests, logs, telemetry, and other methods, and proactively leads verification of assumptions while developing code before issues occur across products in production. Leverages minimal telemetry data, triangulates issues, and resolves with minimal iterations. Leads incident retrospectives to identify root causes of problems, the implementation of repair actions, and the identification of mechanisms to prevent incident recurrence. Proactively 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. 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. Design Owns and leads efforts and discussions for the architecture of aspects of complex products/solutions (e.g., design, cost). Leads the testing and exploration of various design options across a set of complex product/solution scenarios, ensuring the strengths and weaknesses of each option are outlined and making recommendations for which design option is best. Creates proposals for architecture and design documents, and leads testing of hypotheses and proposed complex solutions. Shares and acts on findings from investigations, owns design decisions, and oversees the less experienced team members. Leads the development of design documents that support user stories and other product requirements. Evaluates new technologies to solve classes of problems, and determines how to integrate these technologies within existing systems. Leads design discussions with the team and shares findings/learnings from investigations, holding ownership for design decisions. Leads efforts to ensure system architecture and individual designs meet performance, scalability, resiliency, disaster recovery, cost of goods sold (COGS), and other requirements and expectations. Upholds Microsoft standards of security, privacy, and other compliance requirements and expectations. Understands and coaches less experienced engineers on the importance of building solutions that expand upon the work of others. Leads the refinement of products through data analytics, and makes informed decisions in engineering products through data integration. Reviews complex designs/architectures within and across teams to provide recommendations for improvements. Mentors others on and independently creates a clear test strategy that ensures solution quality, prevents regression from being introduced into existing code. Mentors others on and independently ensures test plans incorporate security testing to validate security invariants (including negative cases). Leads adding new tests to cover gaps, deleting or fixing broken tests, and improving the speed, reliability, and defect localization of the overall test suite. Mentors others on, and builds testable code and considers testability during design for a set of solutions. Understands the different types of tests that can be done on a particular system (e.g., unit tests), and maintains up-to-date understanding of testing architectures used both across Microsoft and across the industry, and applies them across the architecture as appropriate. Designs and executes plans for redesigning or rearchitecting difficult or untestable sections of code for a set of solutions. Leverages artificial intelligence (AI) tools for test automation. Leads identifying dependencies and incorporating them into the development of design documents for a product, application, service or platform. Leads the active identification of other teams and technologies to leverage, how they interact, and where their own system or team can support others. Demonstrates deep understanding of upstream and downstream interactions between systems and ensures security, compliance, performance, and reliability can be achieved across the entire stack. Coordinates and collaborates with other teams to reach common goals where dependencies and validation concerns overlap. Enables communications and negotiates across teams to resolve conflicts around dependency ownership and required work. Drives agreements between dependent teams to align to the delivery schedule. Engineering Excellence Applies and identifies best practices and shares information with other engineers for building 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. Leads product development and scaling to customer requirements and applies best practices for meeting scaling needs and performance expectations and security promises. Remains current by investing time and effort into being informed staying abreast of current developments. Proactively seeks new knowledge, evaluating new trends, technical solutions, and patterns, assessing how to adapt them to current problems, and shares knowledge with other engineers. Conducts learning and literary sessions to raise awareness on relevant engineering design principles (e.g., security, testability, performance, scalability, accessibility, product knowledge). Leads efforts to use and enhance, or build, new software developer tools to support easier, faster, and more effective software engineering across products. Identifies whether open source or internal code is available to address coding needs for a set of products, and reuses it in a responsible manner where applicable. Develops substantial skills in tools inside and outside current areas of expertise. Leads identification and/or creation of tools that are useful for building the product. Shares best practices and teaches others about new tools and strategies. Leads efforts to ensure the correct processes are followed to achieve a high degree of security, privacy, safety, and accessibility across solutions and teams. Creates and assures the presence of visible evidence (e.g., audit trail) to demonstrate compliance for products. Develops and maintains a deep understanding of the implications of onboarding new technologies following expectations of compliance at Microsoft. Demonstrates and maintains an up-to-date understanding of both global and local regulations for technologies and system applications to ensure regulations are followed and met. Understands and applies security best practices and establishes code invariants to model "security as code," ensuring each layer is independently secure, and minimizing risk. Supports and/or adopts, and may set security standards for clear security code review practices for a set of products that align with design and engineering principles to raise the security hardening for both protections and detections. Proactively incorporates deployment gates on security controls, and scanners for a set of products to prevent regressions and/or vulnerabilities that would have customer impact. Includes required security monitoring to ensure detection of violations. Collaborates with relevant security partners to define security promises and security invariants for the design of a product/solution while factoring in attacker/investigator personas for security monitoring and telemetry needs, ensure threat models and premortems validate upstream and downstream assumptions and security invariants, establish security breach drills and security incident response processes (e.g., impact analysis, containment), and ensure that artificial intelligence (AI) safety features are implemented for the AI production systems tied to a set of products. Collaborates with partner teams to ensure a set of products work well with the components of the partner team, ensuring proper end-to-end testing, live-site coverage, scalability, performance, and DRI escalation pathways are established before going live. Considers and leads the identification of requirements for, and the comprehensive application of automation within production and deployment across products, targeting zero-touch deployment when possible. Runs code in simulated or other non-production environments to confirm functionality and error-free runtime across products. Implement Leads efforts for experiments that determine the impact of changes using feature flags/flighting in their code, interprets results, and decides on next steps or ship decision from results. Drives identification of the correct metrics for experimentation in determining improving customer value. Drives collaboration efforts with internal partners (e.g., Data Science, product managers) to ensure incorporation of success and guard rail metrics for experimentation. Leverages their subject-matter expertise to partner with appropriate stakeholders (e.g., technical program managers) to drive multiple groups' project plans, release plans, and work items. Breaks down long-term project vision into milestones as part of an overall roadmap. Guides other members for project estimation and escalates issues that might cause a major delay. Drives efforts to ensure required security protections and detection processes are accounted for in planning. Drives efforts to ensure project plans adhere to security, privacy, and compliance requirements. Drives efforts to ensure all code for a set of products/solutions 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 set of products and/or solutions. Makes considerations for efficient operation of a set of products and/or solutions after it is live. Proactively establishes rollback plans for a set of products and/or solutions. Leads leveraging existing deployment frameworks in the implementation of solutions within the existing framework, automating deployment tasks when possible to ensure efficiency. Proactively 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. Optimizes deployments within products and components to meet differing business objectives. Leads efforts to ensure that solutions are deployed safely, rolling out security-sensitive features only to applicable, relevant customers and scenarios to reduce the attack surface. Proactively monitors dependency status and ensures that only the latest, secure versions are deployed. Defines when rollback plans should be enacted for a set of products. Drives building deployment infrastructure to allow developers' private builds for a set of products/solutions to be tested in a production-like environment. Reliability and Supportability Integrates, designs, and reviews others' work across a team or product 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 drives the improvement of subsequent monitoring designs. Ensures solutions are scalable, financially responsible, and meet capture/storage guidelines. Leads efforts to classify, and analyze complex data and analyses on a range of metrics (e.g., health of the system, where bugs might be occurring), and leads the creation of outputs (e.g., notifications, dashboards) that improve monitoring and investigating security-related concerns and scenarios, system monitoring and/or issue identification and mitigation. Proactively considers the privacy implications of telemetry code changes, and of adding new data points. Holds accountability as a designated responsible individual (DRI) and mentors other engineers across products/solutions, working on-call to monitor system/product/service for degradation, downtime, or interruptions. Alerts stakeholders as to status and initiates actions to restore system/product/service for complex issues. Develops a playbook for the team to resolve issues. Coordinates people and resources to ensure DRI responsibilities are covered across teams. Responds 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. 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 and helps others implement solutions and mitigations to complex issues impacting the performance or functionality of live site services. Reviews and writes incident postmortem and presents insights that drive changes to reduce or eliminate incidents. Proactively 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. Proactively identifies opportunities (e.g., lunch talks, automation, practices, tools) that can be leveraged to improve the live site experience and executes on them. Understand User Requirements Partners 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 and leverages expertise to determine and confirm customer/user requirements and their feasibility for a set of scenarios. Seeks and leverages a variety of feedback channels to incorporate customer insights into future designs or solution fixes. Leads incorporation of 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. Determines additional critical metrics. Understands and leads providing feedback on, and advocating for the security and privacy needs of the customer who will be using the set of solutions. Qualifications Required/minimum qualifications Bachelor'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 equivalent experience. Additional or preferred qualifications Master'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 Bachelor's Degree in Computer Science or related technical field AND 12+ 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 IC5 - The typical base pay range for this role across Canada is CAD $142,400 - CAD $257,500 per year. Find additional pay information here: https://careers.microsoft.com/v2/global/en/canada-pay-information.html Software Engineering IC5 - L'échelle salariale de base typique pour ce rôle dans l'ensemble du Canada est de 142,400 $ CAD à 257,500 $ CAD par année. Pour plus d'information au sujet de la rémunération, veuillez cliquer ici: https://careers.microsoft.com/v2/global/en/canada-pay-information.html Ce poste sera ouvert pendant au moins cinq jours et les candidatures seront acceptées de façon continue jusqu’à ce que le poste soit pourvu. This position will be open for a minimum of 5 days, with applications accepted on an ongoing basis until the position is filled. Microsoft est un employeur offrant l’égalité d’accès à l’emploi. Tous les candidats qualifiés seront pris en considération pour l’emploi, sans égard à l’âge, à l’ascendance, à la citoyenneté, à la couleur, aux congés médicaux ou familiaux, à l’identité ou à l’expression de genre, aux renseignements génétiques, à l’état d’immigration, à l’état matrimonial, à l’état de santé, à l’origine nationale, à un éventuel handicap physique ou mental, à l’affiliation politique, au statut de vétéran protégé ou au statut militaire, à la race, à l’ethnie, à la religion, au sexe (y compris la grossesse), à l’orientation sexuelle ou à toute autre caractéristique protégée par les lois, ordonnances et règlements locaux applicables. Si vous avez besoin d’aide avec des accommodements religieux et/ou d’un accommodement raisonnable en raison d’un handicap pendant le processus de candidature, apprenez-en plus sur la demande d’accommodement. 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.
Responsibilities
The Software Engineer will improve AI tools and practices throughout the software development lifecycle, lead discussions on architecture, and mentor team members. They will also ensure code quality, develop automation for deployment, and advocate for new trends in technology.
Loading...