Overview
Do you want to help shape and define the future of gaming? Does being at the forefront of innovation excite you?
At Xbox Emerging Technologies, we are exploring new emerging technology trends to craft the next era of gaming. We are venturing beyond the horizon and charting a course forward with players and creators at the center.
Our goal is to define the future of Xbox by advancing our mission of bringing joy and community to every player on the planet. If you value dynamic and agile teams that are proactively advocating for a diverse workforce, we have a great role for you.
The Xbox Gaming AI team is seeking a Principal Software Engineer with experience in gaming and Artificial Intelligence (AI) to collaborate with and empower Xbox games, engines and platform teams to explore and create innovative new Artificial Intelligence/Machine Learning (AI/ML) based features, tools and services.
The Principal Software Engineer will work within incubation projects to implement new features, tools and technologies leveraging cutting edge AI and machine learning. These span the gamut across videogame experiences and new platform tools.
This role requires a combination of technical excellence with depth of expertise in game development, game engines, game testing/automation, build and assets pipelines as well as in machine learning. The ideal candidate is highly collaborative and has an ability to bring ideas to life, from minimal viable prototyping to production engineering, working with other software engineers, data scientists, applied scientists, game developers, product managers, and world-class machine learning researchers. The candidate will be taking prototypes to production ready features or services.
As with any role focused on incubation and innovation, sound judgement and ability to balance trade-offs in opportunity cost is vital.
Qualifications
Required/Minimum Qualification
Bachelor's Degree in Computer Science, or related technical discipline 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.
4+ years of experience w/ at least two full AAA game shipping cycles.
3+ years of experience with at least one of: gameplay features or game modes, game pipelines, game or content validation, behavior tree implementation, bot creation, game quality assurance (QA).
Additional or Preferred Qualifications
Bachelor's Degree in Computer Science or related technical field AND 10+ 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 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 in games development on Unreal Engine, Unity, or sufficiently robust in-house engine technology
Experience in machine learning, especially as applied to gaming, including reinforcement learning, neural language generation, code generation, computer vision, transformer models, probabilistic programming, statistical modelling, responsible AI issues.
Software engineering experience working with technologies such as python, node.js, lua, Semantic Kernel, langchain, GPT, Stable Diffusion, foundation models.
Software Engineering IC5 - The typical base pay range for this role across the U.S. is USD $133,600 - $256,800 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 $173,200 - $282,200 per year. Certain roles may be eligible for benefits and other compensation.
Responsibilities
Software engineering delivery in game engine customization and extensions, testing and automation of games, build and asset pipelines. Implementation of AI/ML techniques such as Large Language Model (LLM) prompt engineering, model runtime implementation, model training.
Work and liaise between engineering and data science teams to identify gaps and new software solutions. Support the data science teams in running experiments and model training.
Provide advice and mentorship to other team members.
Work across different incubation projects that may be utilizing different AI/ML approaches and frameworks. Participate in brainstorming, architecture design, experimenting with different ML approaches.
Develop an understanding of a breadth of machine learning approaches, including latest state of the art from academic publications, to develop optimal player experiences agnostic of technical approach.
Focused on identifying and addressing real user and business needs, rather than creating solutions that are looking for a problem.
Being open and flexible on the set of possible solutions, able to balance user desirability, technical feasibility and business viability.
Validate and bring to life ideas through technical prototypes, working with software engineers, applied scientists and researchers.
Collaborate and coordinate across multiple teams and stakeholders and solve complex problems that allow for innovative features across all our platforms.
Commitment to nurturing a diverse and inclusive workplace and team culture, where every voice is heard and valued.