Software Engineer II

Do you want to help create incredible human computer interactions leveraging cutting edge Machine Learning and Cloud Technologies? Would you like to change the way how hundreds of millions of users interact with Tablet, Surface Studio, Dial, Surface Hub, HoloLens, XBOX and PC? We are looking for applied scientists and software engineers to help us design and assemble next generation Windows interactions.

Our team is in charge of diverse groundbreaking technologies for Input in the Operating System, from recognition to language models enabling features like handwriting recognition, object recognition, shape recognition, ink parsing, shape writing, prediction, suggestion and spelling corrections. This puts us at the forefront of applying AI and Machine Learning technologies in actual shipping products that directly impact all Windows devices.

As a member of the team you will have the opportunity to implement cutting edge algorithms used for processing human input including but not limited to text, ink, image or gestures. You will also have unique opportunity to work with the broader system to integrate experiences, and help drive the future of interaction experiences.

Our environment requires you to be:
• Passionate about creating new, innovative, and ground-breaking technologies and experiences
• Self-motivated and proactive to maintain momentum and progress
• Inclusiveness: making others great, transparency
• Energy: having fun, following your passion, and making things happen
• Winning: sticking at things for the long term, living and breathing the competition

What you’ll do:
• Develop and improve Machine Learning algorithms
• Develop large scale engineering solutions to enable the next generation of human computer interactions
• Work with a massive amount of data to drive innovation into current and future algorithms and scenarios
• Build tools to collect input data, train and test Machine Learning engines
• Drive detailed design reviews, code reviews, bug/issue triage with the feature teams
• Integrate into the broader Windows operating system and/or Azure Cloud
• Partner with a team of cross-discipline peers (including Program Manager and Quality)

Basic Qualifications:
• 3+ years of experience with C/C++ and one or more general purpose programming languages including but not limited to: C#, Python or JavaScript

Preferred Qualifications:
• Outstanding technical problem-solving, design, coding, and testing skills
• Experience with designing, coding and shipping robust, maintainable software as well as with driving technical investigations and prototyping
• Ability to communicate effectively, both in person and in the written form
• Ability to work independently and efficiently in a highly motivated team environment
• BS, MS or PhD degree in Computer Science, Machine Learning, Computer Vision, Electrical Engineering, Mathematics, or related technical field.

Experience in one or more of these area is a plus:
• Industry or academic work related to machine learning or language model
• Experience in deep learning, computer vision, document analysis, or handwriting recognition
• Experience in linguistics, language specific features or writing systems
• Experience in building robust, secure, and scalable cloud services

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. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request to