Sr. Software Engineer, Machine Learning – Personalization

nytimes The New York Times

More than 100 million digital readers come to The New York Times every month; ensuring that they find the news most relevant to their lives is the challenge met by the Personalization Engineering team. Our group researches, develops, and deploys machine learning algorithms which power recommendations, related content, newsletters, and other product experiences for hundreds of millions of the world’s most curious and engaged readers.

The Personalization Engineering team is looking for an applied machine learning engineer to develop our new algorithms for our core products. This includes how we approach recommendations, rankings, page generation and article selection and many other things. In this role, you’ll craft end to end solutions designing, implementing, and validating new and existing algorithms, including both offline evaluations as well as running production A/B tests. To be successful, applicants need a strong software engineering background as well as good machine learning skills.

By joining the personalization team, you will be using your skills to strengthen a company whose mission matters more than ever. You’ll join a team that helps ensure that the journalism of a 1200 person newsroom reaches the right reader at the right time. We at the technology organization are constantly inspecting ourselves to improve our culture, understand how we work and being open about how we build things hoping to learn more from others.

We truly believe in a more diverse environment and we work really hard to make it happen. We value everyone’s idea and encourage people to bring their ideas out.

The team develops and operates their systems in production, you’ll have ownership of deploying, monitoring and supporting our apps at the scale of The New York Times.

Some of the questions we’re exploring are:

How we compile a list of the most important content from past week considering what the user was exposed to and the news cycle?
How we surface our evergreen content at the right time?
How can we prioritize our best content?
How can we find the best possible audience for a news article?
What’s the best way to promote a recommendation? Should we email? push? Feature?
How does a specific user experience changes as a function of the data we have?


5+ years of relevant experience, a strong CS background and a track record of running large systems in a production environment.
Machine learning skills with a good understanding of supervised and unsupervised learning methods.
Strong development skill in one of these languages: Python, Go or Java.
Understanding of mathematical concepts and statistical methods.
Experience in delivering results in cross-functional projects.
You care a lot about working with other people in teams.
Experience with cloud computing platforms like AWS, GCP or Azure.


Experience in NLP, Recommendation Systems, Personalization or Advertising
Experience using machine learning in real applications.
Visualization skills to provide insights on recommendation data.
Open source work you can share with us.
Published work (blogs count too).
You don’t need to know it all, but you should know most of it and must be willing to learn everything else.


The New York Times Company is an Equal Opportunity Employer and does not discriminate on the basis of an individual’s sex, age, race, color, creed, national origin, alienage, religion, marital status, pregnancy, sexual orientation or affectional preference, gender identity and expression, disability, genetic trait or predisposition, carrier status, citizenship, veteran or military status and other personal characteristics protected by law. All applications will receive consideration for employment without regard to legally protected characteristics.