Senior Software Engineer

The Machine Learning team in the Big Data group is looking for a talented and motivated software developer to help design and implement the next generation of distributed machine learning infrastructure. The Big Data Compute team is a pillar of Microsoft’s strategic bet on cloud-based data management and advanced analytics. We build massively distributed storage and compute services that run across many data centers on hundreds of thousands of servers with exabytes of data stored. The Big Data Compute team is specifically responsible for batch, interactive, and streaming processing engines executing hundreds of thousands jobs daily with the largest jobs processing petabytes of data. The Machine Learning team is tasked with adding modelling and prediction capabilities to all the above processing engines in a scale agnostic fashion.


You’ll be joining a team focusing on productizing machine learning technology on distributed infrastructure. We build a framework for machine learning libraries that run on large computing clusters of hundreds of thousands of machines, empowering users to know more and do more from Big Data. This position offers an exciting opportunity to practice the field of distributed systems specialized to implement cutting edge machine learning technology. You can also learn about the various algorithm implementations used for machine learning, big data management and analytics.


You’re the right candidate for this job if you: Have a strong interest in Machine Learning, data mining, distributed system or data science. Are interested in solving challenging problems in implementing state-of-the-art solutions in distributed machine learning. Are accustomed to fast-paced, collaborative, high performing workgroups.


Basic Qualifications: MS or higher degree in computer science or related technical field, PhD is a plus. Strong problem solving and coding skills (C#, C++, or Java). Strong verbal and written communication skills.


Preferred Qualifications: Knowledge of machine learning, numeric optimization, distributed systems. Knowledge of Apache Hadoop, Apache Spark or other big data tools.


Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, sex, sexual orientation, gender identity or expression, religion, national origin or ancestry, age, disability, marital status, pregnancy, protected veteran status, protected genetic information, political affiliation, or any other characteristics protected by local laws, regulations, or ordinances.