Who we are: Twitter is serving the public conversation, and conversations are happening on Twitter every day about every subject and any event. The Search and Recommendations team's job is to connect our users to the conversations and people that are relevant to them.
Search and Recommendations builds infrastructure and models to support this mission across multiple product areas. We are responsible for the recommendations you see under Search, Explore, Trends, Topics, the Home Timeline. The unrivaled 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 geolocation. We work on search understanding and retrieval, trend detection, graph algorithms, recommendation systems, distributed systems, and social graph analysis.
What you'll do: We’re looking for a Software Engineer to join this relevance oriented 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. quality improvements
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
Who you are: 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 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.
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 craft & implement ML platforms/libraries/services to enable customers with applying ML.
You regularly architect systems taking care of a large amount of data, scale, and low latency.
You employ SWE skills in terms of system architecture & design, distributed systems, coding, OO/API, testing.
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.
BS, MS, or Ph.D. in Computer Science with 5+ years of related or equivalent experience
You are good at coding, data structure, and algorithms
You like designing large-scale distributed systems
Familiar with substantial backend infrastructures and relevance systems (data storage system, cache, DAL, NoSQL database, IDL)
Experience with building consumer-facing products
Experience with Thrift, Cassandra, Redis, Memcache
Experience with Hadoop or other MapReduce-based architectures
Experience with Kafka or other stream processing pipelines
Experience with building machine learning applications
Experience with building large-scale distributed backend services
We are committed to an inclusive and diverse Twitter. Twitter is an equal opportunity employer. We do not discriminate based on race, ethnicity, color, ancestry, national origin, religion, sex, sexual orientation, gender identity, age, disability, veteran, genetic information, marital status or any other legally protected status.
San Francisco applicants: Pursuant to the San Francisco Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records.