Software Engineer - Recommendations


London, Remote Great Britain

Job description

Who we are:

The Recommendations Platform team builds recommendation infrastructures such as candidate generation and feature generation engines for product service areas. The outstanding challenges that we face at Twitter are both the data scale and the real-time nature of the product. How do you find the most meaningful content among hundreds of millions of new tweets for hundreds of millions of users every day at Twitter? We build large scale personalized recommendation engines utilizing different kinds of signals such as social network, user activity, and geo-location. Most of our work is about graph algorithms, recommendation systems, distributed systems, and social graph analysis.


Who are you:

We’re looking for a Software Engineer to join this Machine learning team with a strong background in Backend Software Engineering. Familiarity with Machine Learning techniques is a bonus. 

- You consider the pros/cons of different techniques/implementations in terms of system performance vs. model quality.

- You regularly architect systems taking care of a large amount of data, scale, and low latency. You employ sophisticated software engineering skills in system architecture & design, distributed systems, coding, OO/API, testing.

- You have validated experiences in building and optimizing services.



You are focusing on the heavy software engineering required for building large-scale Machine Learning applications. This includes ML platform engineering, where you are building ML platform products for our users. More specifically, you are doing the following kind of Machine Learning and Software Engineering work:

- In the role, you are employing a basic understanding of one or more of these concepts: Information Retrieval, Recommendation Systems, Social Network Analysis, Natural Language Processing, Deep Learning, Computer Vision, Reinforcement Learning.

- You regularly verify the performance & correctness of the implementations of ML techniques. You are able to triage and fix bugs/issues when they arise.

- You will craft & implement ML platforms/libraries/services to enable customers with applying ML.

- BS, MS, or PhD in Computer Science with 3+ years of experience or the equivalent experience.

- Nice to have: experiences of working on online streaming libraries such as Kafka, Spark, and Fink, tuning GC performance and or experiences of product features or recommendation systems.

Additional information

We are committed to an inclusive and diverse Twitter. Twitter is an equal opportunity employer. We do not discriminate based on race, color, ethnicity, ancestry, national origin, religion, sex, gender, gender identity, gender expression, sexual orientation, age, disability, veteran status, genetic information, marital status or any legally protected status.

Engineering hiring process
Step 1

Once your application is received, a recruiter will reach out pending your qualifications are a match for the role.

Step 2

If your background is a match, you may have 1-2 technical phone interviews or be given the chance to provide a work sample depending on the role.

Step 3

If the phone interviews go well or your work sample is strong, the final step includes interviews with 5-6 people via a video conference call.


Read Twitter's Applicant and Candidate Privacy Policy here.

U.S. Equal Employment Opportunity information (Completion is voluntary)
Voluntary Information
Privacy and data