Microsoft Corporation Research Intern – Program Synthesis in Bellevue, Washington
Empower every person and organization on the planet to achieve more. That’s what inspires us, drives our work, and pushes us to challenge the status quo every day. At Microsoft, we also work to empower our employees, so they can achieve more. We believe we should each find meaning in our work and we ensure employees have the freedom and the reach to help make a difference in the world.
Program synthesis is a new frontier in AI where-in the computer programs itself---a synthesizer interprets user intent and produces a script or a program for the task. The user intent may be given as input-output examples, constraints on the program, or other high-level specifications. This is significant because 99% people who own computers do not know programming. Even for programmers, this can provide a 10-100x productivity increase for many task domains, and especially in the areas of data wrangling/preparation and code refactoring.
The PROSE SDK is a powerful and flexible framework that uses state-of-the-art program synthesis and machine learning techniques to automate repetitive tasks in a variety of domains. The strength and breadth of the framework is evidenced by the range of Microsoft products that use it, including Excel, Powershell, SQL Server Management Studio and Azure Machine Learning Workbench.
Our experience in using program synthesis in practice has helped us identify several unique and interesting research challenges. How does one test and debug programs when a synthesizer is involved? What user experience and programming interfaces are appropriate when the primary mode of interaction is through input-output examples? How can we adapt the generated programs each user's programming style and coding convention? How can we adapt and improve ML techniques to a setting where logical constraints are present? These challenges require both novel research ideas and practical-minded engineering to address satisfactorily.
Our team is looking for research interns to work on several projects related to the above challenges and several other aspects of the PROSE ecosystem. Some specific research directions we are exploring center around user experiences with program synthesis, such as novel ways for users to specify behavior, verify that the synthesized program meets the users’ needs, and provide a means through which users can elaborate additional specifications.
In addition to the qualifications below, you’ll need submit a minimum of two reference letters for this position. After you submit your application, a request for letters may be sent to your list of references on your behalf. Note that reference letters cannot be requested until after you have submitted your application, and furthermore, that they might not be automatically requested for all candidates. You may wish to alert your letter writers in advance, so they will be ready to submit your letter.
- Must be currently enrolled in a PhD program in Computer Science or a related STEM field.
Specialization in or at the intersection of Programming Languages, Formal Methods, Machine Learning, or Human-Computer Interaction is preferred. However, good candidates from other disciplines will also be considered.
Ability to collaborate effectively with other researchers and product development teams.
Experience and/or interest in developing software and a desire to see their research ideas implemented in practice.
Prior publications from top-tier conferences in Computer Science or a related field.
Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request via the Accommodation request form at https://careers.microsoft.com/us/en/accommodationrequest .
Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.