|Job Type:||Full Time|
Are you an experienced software engineer looking for opportunities to use machine learning to deliver innovative machine solutions to tens of millions of users every month? Does the opportunity to join a fast-paced, high visibility team in a highly competitive market sound exciting to you? If so, this Software Engineer role with the Turing team may be a great fit for you!
Turing is part of the Microsoft AI & Research group and, together, we work on deep learning to power end-user experiences across the following four areas:
- Relevance of search results on Bing.com
- Question-answering system for Bing and Cortana
- Enterprise search for SharePoint and other work-related content
- Recommendation system for news feed
Our team is responsible for projects across the entire deep learning life-cycle; this includes deep learning models for language representation, language generation, ranking, summarization, smart reply, universal representation learning, reinforcement learning, question-answering, user modeling, etc. Apart from this, we are also working on large-scale distributed training, improving training performance, run-time optimized inference and other similar aspects. To apply our deep learning techniques end-to-end in real user scenarios, our team is also building large-scale deep learning-based search and question-answering systems for enterprise on high-performant distributed infrastructures, which processes billions-to-trillions of data and serves millions of end users. Most of our deep learning models are targeted to serve live user traffic and, hence, must be optimized to serve at very tight latency constraints. To help achieve this, we employ a diverse hardware set to serve our models including CPUs, GPUs, and FPGAs.
At its most basic level, the core drivers for our work are large scale machine learning (including deep learning technologies) in combination with analyzing, inferring and experimenting with truly big data. As an end result, our goal is to delight our users through our products. So, while deep learning is at the core of what we do, we need engineers with a variety of skills and areas of expertise to help us achieve our goals - NLP, data mining, large-scale distributed computation and deep learning.
If you share in our passion for solving challenging machine learning problems and applying them to real-world situations for the benefit of our customers, we would love to consider your application.
Read more about our public work here: https://msturing.org/publications
Watch video about our enterprise search project announced in Ignite 2019: https://myignite.techcommunity.microsoft.com/sessions/81171
As an experience Software Engineer on our team, you'll be responsible for and will engage in:
- Driving projects from design through implementation, experimentation and finally shipping to our users.
- Building large-scale high-performant search and question-answering systems on billions~trillions of data.
- Working with big data by training, extending and shipping the capability of deep learning models to provide compelling experiences across our products.
As a fast growing team with a wide breadth of opportunities, projects are assigned based on your particular interests, experiences, skillset and background. These projects can span across areas such as: large scale data pipelines, data engineering, system optimization, modeling, debugging/monitoring tools, and shipment of cutting-edge technology for 100s of millions of users.
- A Bachelors degree or advanced degree in Computer Science, Electrical Engineering or other related technical areas (including mathematics and physics)
- 3+ years of experience coding in C++, C#, C, Java or Python
- Experience with one or more of the following: Machine Learning fundamentals, Distributed Systems, Information Retrieval and/or Data Mining
- Passionate and self-motivated
These are other experiences and qualifications that may help a person succeed in this role, but are not required:
- Strong ability and effectiveness working end-to-end in a challenging technical problem domain (plan, design, execution, continuous release and service operation)
- Strong software engineering fundamentals, including coding, problem solving and data analysis skills.
- Ability to effectively work in collaborative, multi-project team environment and ship production features in a fast-paced environment.
- Good communication skills, both verbal and written.
- Customer/End-result/Metrics driven in design and development.
- Keen ability and motivation to learn, enter new domains, and manage through ambiguity.
If you've read this far, we hope this means you're excited about our team and that you'll share your application with us. We'd look forward to receiving it!
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.
Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.