About the job
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 and provides deep expertise in the coding and validation strategy. Creates and applies metrics to drive code quality and stability. 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 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. 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.
Design
Owns and leads efforts and discussions for the architecture of aspects of complex products/solutions. 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. 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 efforts to ensure system architecture and individual designs meet performance, scalability, resiliency, disaster recovery, and cost requirements. Mentors others on and independently creates a clear test strategy that ensures solution quality.
Engineering Excellence
Applies and identifies best practices for building code based on well-established methods and secure design principles. Leads product development and scaling to customer requirements. Remains current by investing time and effort into staying abreast of current developments. Leads efforts to use and enhance, or build, new software developer tools to support easier, faster, and more effective software engineering across products. Leads efforts to ensure the correct processes are followed to achieve a high degree of security, privacy, safety, and accessibility across solutions and teams. Collaborates with partner teams to ensure products work well with partner team components, ensuring proper end-to-end testing, live-site coverage, scalability, performance, and DRI escalation pathways are established before going live.
Implement
Leads efforts for experiments that determine the impact of changes using feature flags/flighting, interprets results, and decides on next steps. Leverages subject-matter expertise to partner with stakeholders to drive project plans, release plans, and work items. Breaks down long-term project vision into milestones as part of an overall roadmap. Leads leveraging existing deployment frameworks, automating deployment tasks when possible. Proactively follows safe change deployment best practices to minimize adverse impact to users and other services.
Reliability and Supportability
Integrates, designs, and reviews others' work to integrate logging and instrumentation for gathering telemetry data on system behavior. Holds accountability as a designated responsible individual (DRI), working on-call to monitor system/product/service for degradation, downtime, or interruptions. Maintains operations of live site service, following security best practices when responding quickly to mitigate issues. Reviews and writes incident postmortems and presents insights that drive changes to reduce or eliminate incidents.
Understand User Requirements
Partners with and guides appropriate internal and external 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.
Qualifications
Minimum
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.
Preferred
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. Experience with C#/.NET and Azure cloud services (e.g., AKS, Azure Functions, Cosmos DB, Azure SQL). Experience with production live-site engineering, observability tooling, and incident response. Familiarity with GraphQL, CI/CD pipelines, and infrastructure-as-code. Candidates with comparable experience in Java and/or AWS are encouraged to apply.