PROSE group header - blue background

PROSE

Programming by Examples and Natural Language

  • Research Fellowship Opportunity in AI-driven Program Synthesis

    99% of people who own computers do not know how to program, and even experts often struggle to code accurately. Through a new frontier in AI, program synthesis, we can help everyone generate programs that accomplish their tasks faster and more accurately, from users who have never written a line of code to professional developers. In program synthesis the computer programs itself. The user just needs to tell the synthesizer what they want—via examples or just in natural language—and the synthesizer generates the desired program. This provides huge productivity boosts in domains from data preparation to code editing.

    The PROSE team is advancing the state of the art in program synthesis and shipping these innovations through flagship Microsoft products like Excel, Visual Studio, PowerQuery, PowerShell, and SQL Server Management Studio. PROSE has developed a powerful and flexible framework for program synthesis that leverages techniques from both logical reasoning and machine learning and combines them in unique ways to synthesize programs automatically. This approach has been recognized with regular papers at top-tier conferences; a few of them won best paper and test-of-time awards.

    Our team provides a unique opportunity to work at the intersection of cutting-edge AI research and real-world impact, solving customer problems at a global scale. To learn more about our approach and culture see this award talk on the story behind one of the team’s early innovations, the Flash Fill feature in Excel. Also check this keynote to learn more about the program.

    Qualifications: We are looking for India-based candidates to work on a variety of projects related to program synthesis for various applications. This will be a 1-year appointment, extensible for another year with potential to develop into a full-time research track appointment. Undergraduates or masters students who are finishing up their degrees are welcome to apply.

    • Strong programming skills
    • Excellent communication skills
    • Background in programming languages/compilers or machine learning/AI
    • A keen interest in both research and engineering

    Contact: To apply, send an email to prose-jobs@microsoft.com. Please send a CV and optionally a few paragraphs on your aspirations and why you are interested in this opportunity.

    Frequently Asked Questions

  • HCI Researcher Opportunity at Microsoft (AI-driven Program Synthesis in the PROSE team)

    We invite early-career researchers with a background in Human Computer Interaction (HCI) and/or Software Engineering (SE), with an interest in developer and end-user tools, to apply for a full-time researcher position in the PROSE team at Microsoft.

    The PROSE team is advancing the state of the art in program synthesis and shipping these innovations through flagship Microsoft products that impact millions of users worldwide. These products include the world’s most popular spreadsheet software Excel, the industry-leading IDE Visual Studio and Visual Studio Code, the power platform suite of products including Power BI, PowerApps, PowerAutomate, and other software tools including PowerShell and SQL Server Management Studio. The application domains range from developer productivity, business user low-code/no-code scenarios to even programming education. To power these features PROSE has developed a powerful and flexible framework for program synthesis that leverages techniques from both logical reasoning and machine learning and combines them in unique ways to synthesize programs automatically. This approach has been recognized with regular papers at top-tier conferences and awards, including best paper and test-of-time awards.

    Our team provides a unique opportunity to work at the intersection of cutting-edge AI research and real-world impact, solving customer problems at a global scale. Researchers design and carry out the research underlying state-of-the-art systems and work together with world-class engineers to implement these systems in production. To learn more about our approach and culture see this award talk on the story behind one of the team’s early innovations: the Flash Fill feature in Excel.

    Responsibilities: As a PROSE researcher focused on HCI, you will have the opportunity to:

    • Design and carry out studies with professional developers inside Microsoft and real customers outside of Microsoft
    • Design, implement, and experiment with interfaces for state-of-the-art tools across a range of domains
    • Identify and develop mixed-methods research opportunities for improving developer and end-user productivity
    • Collaborate with and mentor interns and longer-term research fellows

    Qualifications: We are looking for a candidate with expertise in Human Computer Interaction and/or Software Engineering with a focus on human aspects of development. Prospective candidates must have finished or be about to finish their PhD in a relevant area.

    Required Qualifications

    • PhD (completed or close to completion) in a relevant field
    • Research ability demonstrated by a strong publication record in top-tier venues
    • Interest not only in publishing research in academic venues, but also delivering products and experiences to customers based on this research

    Preferred Qualifications

    • Ability to develop an original research agenda with a focus on the human aspects of software
    • Prior research focused on software engineering and data science tools or programming education is a plus
    • Strong communication skills
    • Ability to collaborate across our multi-disciplinary research team and other multi-role teams at Microsoft
    • Strong programming skills and the desire to build not just prototypes but also production quality software

    Contact: To apply, send an email to prose-jobs@microsoft.com. Please include a CV and optionally a few paragraphs on your aspirations and why you are interested in this opportunity.

  • Machine Learning Researcher Opportunity at Microsoft (AI-driven Program Synthesis in the PROSE team)

    The PROSE team is advancing the state of the art in program synthesis and shipping these innovations through flagship Microsoft products that impact millions of users worldwide.

    These products include the world’s most popular spreadsheet software Excel, the industry-leading IDEs Visual Studio and Visual Studio Code, the power platform suite of products including Power BI, PowerApps, PowerAutomate, and other software tools including Azure Data Studio, Azure Data Monitor, Azure Data Factory, PowerShell, and SQL Server Management Studio. The application domains range from developer productivity, business user low-code/no-code scenarios to even programming education. To power these features PROSE has developed a powerful and flexible framework for program synthesis that leverages techniques from both logical reasoning and machine learning and combines them in unique ways to synthesize programs automatically. This approach has been recognized with frequent papers at top-tier conferences and awards, including best paper and test-of-time awards.

    We invite machine learning researchers with an interest in program synthesis, developer/end-user tools, and high-impact research to apply for a full-time position in the PROSE team at Microsoft.

    Our team provides a unique opportunity to work at the intersection of cutting-edge AI research and real-world impact, solving customer problems at a global scale. Researchers design and carry out the research underlying state-of-the-art systems and work together with world-class engineers to implement these systems in production. To learn more about our approach and culture see this award talk on the story behind one of the team’s early innovations: the Flash Fill feature in Excel.

    Responsibilities

    As a machine learning researcher, you will have the opportunity to:

    • Design and carry out innovative research that integrates various artificial intelligence technologies and delivers features for customer-facing Microsoft products
    • Explore the use of state-of-the-art deep learning models in various aspects of program synthesis, such as generating code from natural language, learning efficient search strategies for the huge state space of programs, and learning ranking functions to infer user intent from ambiguous under-specifications
    • Adapt and develop techniques that blend symbolic and neural approaches to solve programming-related tasks
    • Publish in top-tier academic venues and interact with the broader academic community, for example giving talks about PROSE research
    • Collaborate with and mentor interns and longer-term research fellows, with a focus on growing the team’s expertise in machine learning

    Required Qualifications

    • PhD (or close to completion, if early career) with a focus on machine learning, deep learning, NLP, or other relevant areas
    • At least 3 publications in a top-tier ML venue (e.g. NeurIPS, ICML, ACL, NAACL, EMNLP, ICLR, KDD, AISTATS, AAAI)

    Preferred Qualifications

    • Experience with at least one large (over 5,000 LOC) software project
    • Experience with at least one popular deep learning framework (e.g. PyTorch, Tensorflow, Keras, JAX)
    • Ability to develop an original research agenda, demonstrated by leading at least one publication in a top-tier ML venue
    • At least 2 years of prior research experience in NLP, machine learning, or related areas
    • Experience developing, training, and deploying large modern neural architectures
    • Strong communication skills
    • Experience collaborating across multi-disciplinary or multi-role teams

    Contact: To apply, send an email to prose-jobs@microsoft.com. Please include a CV and optionally a few paragraphs on your aspirations and why you are interested in this opportunity.

  • Senior Software Engineer Opportunity at Microsoft (AI-driven Program Synthesis in the PROSE team)

    Our team builds an SDK which enables both high-level use of APIs already created for program synthesis scenarios in a variety of areas as well as lower-level creation of program synthesis solutions for new domains. We bring cutting-edge research into programming languages and machine learning together with solid engineering practices to deliver high-impact solutions for teams across Microsoft. Our codebase has a core primarily written in C# targeting both desktop .net and CoreClr on windows, mac and linux, but we incorporate a broad set of technologies including Python, Typescript, SQL and Java. Our SDK is used in all sorts of places from front-end user productivity technologies, to backend server systems, business applications, developer tools and much more.

    Responsibilities

    The engineer will work closely with both researchers and other engineers to help drive our end-to-end engineering efforts. If you are looking for an opportunity to broaden your experience, this is the place for you. We create new algorithms, build and test robust implementations and frameworks across multiple platforms, leverage very large ML/DNN models, work with partners to integrate our technologies into apps across the company and maintain infrastructure to support the team. You will get the opportunity to work on many different things and have tremendous impact.

    Required Qualifications

    • 5+ years of professional experience in software development

    Preferred Qualifications

    • BA/BS or MS Degree in Computer Science or related technical field or equivalent additional years of professional experience in lieu of degree
    • Professional experience programming in C#, Typescript or Python
    • Must be able to work closely with other engineers and researchers on the team
    • Willingness to work with multiple products and technologies
    • Experience writing extensions for Visual Studio, VS Code or related IDEs

    Contact: Interested applicants should apply here.

  • CS Education/Pedagogy Research Internship Opportunity at Microsoft (AI-driven Program Synthesis in the PROSE team)

    In the project AI for Programming Education, we are looking for an expert in the domain of CS education and learning science to inspire progress grounded in the latest pedagogy and CS-education insight, particularly with an emphasis on intelligent tutoring systems and adjacent tools for learning. Additional expertise in human-computer interaction to operationalize learning theory into usable systems is a plus.

    Responsibilities

    • Design mechanisms to deliver effective feedback messages/hints for novice programmers that are conducive to learning
    • Build explanation frameworks to enable transparent communication between AI-driven Programming tutor and the end-users (students)
    • Design and conduct user studies over different prototypes of intelligent tutor for programming education and analyzing the results of the study with the goal of improving the intelligent tutor

    Required Qualifications

    • Pursing PhD with a focus on CS education, learning science, human-computer interaction, or other relevant areas
    • At least 1 publication in relevant, top-tier venues (e.g., SIGCSE, EDM, CHI, UIST, CSCW, AIED, etc.)

    Preferred Qualifications

    • Ability to develop an original research agenda, demonstrated by leading at least one publication in a top-tier venue
    • At least 2 years of prior research experience in CS Education
    • Strong communication skills
    • Experience collaborating across multi-disciplinary or multi-role teams

    Contact: To apply, send an email to prose-jobs@microsoft.com. Please include a CV and optionally a few paragraphs on your aspirations and why you are interested in this opportunity.