Machine Learning Software Engineer

San Francisco, CA

Who we are:

Our mission is to leverage state of the art machine learning and data science techniques to allow advertisers effectively reach hundred millions of twitter users who resonate with their business, in a way that protects the integrity of their brand.

This includes applying machine learning techniques to both user modeling and content modeling: examples include inferring user demographics and interests, predicting the probability a user will engage with an ad, and topic modeling for mixed-media containing text, image, and videos!  For every ad shown on Twitter, our prediction systems evaluate thousands of ad candidates behind the scene to find the best one. When executed successfully, we create aha! moments for our users & advertisers and add huge value to the Twitter business & revenue.

What You'll Do:

  • Machine Learning -- apply machine learning and data mining techniques for a variety of modeling and relevance problems involving users, their tweets, their interests, twitter ads, relationship among entities. Be a key contributor to Twitter’s continued use of cutting edge machine learning in all aspects of our solutions.  Help guide and mentor this rapidly changing space that helps our users get the right message from their favorite brands and just the right time.
  • Infrastructure -- Work with our infrastructure teams to contribute to solutions, crack tough problems and mentor engineers on a highly scalable machine learning systems
  • Apply your expertise in distributed systems and machine learning to simplify the immense complexity of wrangling with humongous amounts of underlying data, enabling Twitter to deliver more value to our partners.
  • Products -- Work cross functionally with our product management team to build new solutions for Advertisers, and prove via experimentation that they deliver value to them
  • Graph Algorithms: Work on graph algorithms to help improve our foundational identity  matching platform

Who You Are:

You're someone with a lot of experience and a number of successes in your past including Machine Learning and distributed systems design, but now are looking to grow with and help impact a global at scale business.  You want to engage in significant projects while working in small teams of highly-talented, passionate engineers to show the team how to model code ownership, collaboration and most importantly - team health. The prospect of getting to work with an open-source tech stack that powers a solution people around the world love to use, and where massive volumes of data are extracted in real time excites you. You want to mentor amazing engineers; but you are also learning and want to see continued investment in you by the business; and you expect excellence in everything. You see your future self as a force multiplier (and not just a great technical resource for an employer). You see challenge as opportunity and you're looking to jump ahead of the pack in your career. You're applying to this role because you're hoping for a chance to jump in and see what you can do to make a difference in an iconic software company.


  • 2+ years industry experience with a Bachelors, MS or PhD in computer science, data mining, machine learning, information retrieval, recommendation systems, math, engineering, operations research, or other quantitative discipline; or equivalent work experience
  • Experience with adtech ecosystem
  • Experience with digital video (on-demand and live)
  • Experience with digital advertising measurement (conversion tracking, etc.)
  • Backend development experience with a strong interest in work involving data pipelines, distributed systems, performance analysis, and/or large-scale data processing (ideally, in Java)
  • Experience with software engineering practices (e.g. unit testing, code reviews, design documentation)
  • Strong algorithms and data structures background
  • Experience designing fault-tolerant distributed systems
  • Experience with Hadoop or other MapReduce-based architectures
  • ​Experience with Streaming Compute based technologies
  • Experience with Cassandra, Redis, Memcached or MySQL

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.

San Francisco applicants: Pursuant to the San Francisco Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records.

Hiring Process

Step 1

After you apply, a recruiter may reach out to you for an introductory call.

Step 2

If your background is a match for the role, you may phone interview with 1-2 people.

Step 3

If you continue through the process, you will come onsite 1-2 times to interview with a total of 5-10 people.


Personal Information

Required field. PDFs only; max file size is 1MB.
Required field. PDFs only; max file size is 1MB.

U.S.  Equal Employment Opportunity Information  (Completion is Voluntary)

At Twitter, we have a bold aspiration to reach every person on the planet. We believe that goal is more attainable with a team that understands and represents different cultures and backgrounds and we are committed to an inclusive and diverse Twitter.

This is where you come in! Please take a few minutes to provide us with your information. You are not required to provide this information and you may select “Decline to Disclose”. Your decision to provide information (or not) will not affect your employment or opportunities at 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.

You can view the ‘EEO is the Law’ poster here.

Twitter does not accept any unsolicited resumes from recruiting agencies and will not pay fees associated with any such resumes. Agencies, please do not send resumes to any Twitter location, employee, or email address.

Twitter, Inc. is committed to working with and providing access and reasonable accommodations to applicants with physical or mental disabilities. If you need an accommodation in order to apply for open job opportunities, please submit a description of your accommodation request to This email is only for accommodation requests related to the application process.

Twitter cares about your privacy and protecting your data.  Please click the privacy policy link and acknowledge you have read and understood how Twitter treats your privacy and your data.  

Would you like to receive email communication from Twitter about career opportunities? You may unsubscribe at any time.
Applicant Data - You have a choice. Can we keep your personal data for both the job you are applying for and any other Twitter jobs that we feel you may be a match for? If you choose yes we will retain your personal data for a period of twelve months to consider you for other job opportunities at Twitter.
Analytics - May we use personal data from your resume and application to analyze and improve the Twitter hiring experience.
Thanks for applying!
Submission failed. Please make sure all fields are correctly formatted.