Microsoft is a leading technology company focused on empowering individuals and organizations. The Research Software Engineer II role involves creating innovative research prototypes, building large-scale production systems, and mentoring new team members, while addressing challenges in cloud and AI infrastructure.
Responsibilities:
- Works with members of their research group; relevant product, research, and business groups inside or outside of Microsoft to help identify research goals, determine requirements, constraints, and dependencies for potential solutions
- Collaborates with members of their research group to contribute to work on a research problem, including building and evaluating prototypes, integrating with and/or deploying to production
- Participates in writing and/or presenting papers at workshops and conferences
- Gains expertise in one or more subareas of research and understands the corresponding literature and applicable research techniques, including tools, technologies, or methods being used in the research community
- 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 and prototypes
- Establishes collaborative relationships with relevant product and business groups inside or outside of Microsoft and provides expertise or technology to them
- Mentors research interns in the group and assists onboarding new team members
Requirements:
- 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, Rust, or Python OR equivalent experience
- 1+ year(s) of working knowledge or research experience in one or more of these areas: datacenter architecture, large-scale distributed systems, state-of-the-art generative AI infrastructure (design and implementation, model architecture, training, agentic systems), power management in computer systems, demonstrated by work experience, or research publications
- Ability to meet Microsoft, customer and/or government security screening requirements are required for this role
- 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, Rust, 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, Rust, or Python OR equivalent experience
- 1+ year(s) experience in computer architecture, with emphasis on power and performance management, and proficiency in programming languages such as C++, C#, or Rust
- 1+ year(s) experience supporting large-scale distributed systems, including diagnosing and resolving complex technical issues in production environments
- 1+ year(s) experience contributing to cloud infrastructure development, with a focus on system reliability, scalability, and performance optimization