Software Engineer - Timelines & Conversations Infrastructure
Twitter’s purpose is to keep the world informed by serving the public conversation. Hundreds of millions of users come to Twitter every month to see public conversations about what’s happening in the world. Our infrastructure today considers and ranks millions of Tweet candidates per second to produce relevant reply content on every Conversation Timeline load.Who We Are:
The Conversations team is a new group formed to create the next generation platform to power public conversations on Twitter. We built this team out of leaders from the existing very successful Home Timeline team, and see this as one of the next largest opportunities for Twitter. We want to invest in a more powerful, sustainable platform that can enable fast-paced product development and encourage healthy discourse on Twitter. We need engineers with a passion for product infrastructure. We’re giving this team a broad charter and a lot of freedom to craft a solution to a technically challenging problem.
What You’ll Do:
As an engineer on the Conversations team, you’ll work directly with smart, passionate peers. Working on a small team, you’ll not only get a chance to both architect and build a new platform at a huge scale, but also lead and build new product initiatives on top of that platform. You’ll work directly with engineers, product managers and designers across the company. Your work will directly impact the lives of every Twitter user, especially on the Home Timeline and Conversation Timeline. You’ll develop a platform that defines the future of how public conversations happen on Twitter. Most importantly, you’ll own specific problems related to Conversations and be given the resources, support, and autonomy to drive solutions.
Who you are:
Able and desire to take on unexplored, complex product and technical problems, learn quickly, understand tradeoffs, and communicate a solution
Have a self-driven attitude - able to own problems and deliver solutions. We give engineers a lot of autonomy.
Fluency with at least one of the following languages: Java, C/C++, Python, Ruby, Scala, or any functional language (we primarily use Scala)
Experience with designing, improving, and debugging complex, scalable distributed systems
Experience with writing tests for production software
Experience operating production software in a UNIX/Linux environment
Some familiarity with classical computer science algorithms (e.g. tree traversal)
Bachelor’s, Master’s or Doctorate in computer science or a related field, or relevant work experience
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. Twitter is committed to providing equal employment and advancement opportunities to everyone, regardless of their race, color, ancestry, gender, religion, national origin, sexual orientation, age, citizenship, marital status, disability, Veteran 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.
Engineering Hiring Process
Once your application is received, a recruiter will reach out pending your qualifications are a match for the role.
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.
If the phone interviews go well or your work sample is strong, the final step includes interviews with 5-6 people held onsite in our office.