Senior Software Engineer (Backend) - Event Detection
Who We Are:
When an event occurs in the real-world, it often breaks out on Twitter. The Discovery team builds, scales and maintains the software services that power the discovery of events across the product. We detect and surface what’s happening, including the most relevant Trends, Moments, live videos, and other interesting content for users. We are a tightly knit and passionate group that loves working together, and we are looking for exceptional additions to our flock.
What You’ll Do:
As an engineer on our team, you will face difficult software engineering challenges. The scale at which your systems operate will require not only producing and using highly-performant algorithms and data structures but also solving complex problems involving distributed systems and emergent behavior of service-oriented architectures.
You will have the opportunity to work on some of the world’s most highly-scaled distributed systems. Our engineers specialize in running high throughput, reliable services: we process and make sense of the entire Twitter firehose and serve hundreds of millions of API requests per day, all with an uptime in excess of 99.9%. You and your teammates will power systems relied on everyday by hundreds of millions of people across the world. Additionally, you’ll work directly with multiple teams across the company who are innovating on the product and refining Twitter to make it the best place to quickly see and talk about what's happening in the world.
Who You Are:
- You are passionate about building massively scalable systems and have experience with web infrastructure, distributed systems, performance analysis, and/or large-scale data processing. You have or want to make your own history of open-source contributions.
- You have expertise developing on the JVM, including asynchronous I/O, concurrency, and the Java memory model.
- You are able to effectively communicate technical ideas to and collaborate with both technical and non-technical peers.
- BS, MS, or PhD in computer science or a related quantitative field with 4+ years of software engineering experience
- Experience in building distributed systems. The systems we build must be reliable, available and fault tolerant - so every engineer that joins our team should have some level-appropriate experience building distributed systems.
- Experience with at least one the following languages: Scala, Java 8, and/or any functional language (ex Haskell, OCaml). We code primarily in Scala, so be excited to either ramp up on that or continue building awesome things with it.
- Experience with software engineering best practices (e.g. unit testing, code reviews, design documentation).
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 status, 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.
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.
We're the People Team @Twitter. We're hiring service, purpose-driven people who are creative and move fast. All things Twitter Careers! #LoveWhereYouWork
We're your one stop shop for anything University related. That means campus outreach, student advice/tips, & of course, our University Recruiting efforts!