Software Engineer - Notifications Infrastructure
Who We Are:
The Notifications Infrastructure team is responsible for the platforms that help Twitter communicate to our users, whether that be through email, push notifications, or SMS. We deal with scalability in the billions, and we are excited by challenges of this magnitude. We are looking for engineers who are excited to help build out our infrastructure that powers these services. In addition, we collaborate with consumer product managers and engineers spanning the client, backend, and relevance parts of our stack, to build platform and infrastructure primitives that support reliable and resilient product features. We build the last stage of the platform before the user experience - by supporting most product development at Twitter we are constantly looking out for patterns to generalize so we can then offer new primitives to easily build products on.
What You’ll Do:
As a member of the Notifications Infrastructure team, you will:
- Architect and build services at a huge scale, but also lead and build new product initiatives on top of the platform.
- Work directly with engineers, product managers and designers across the company to build tools and systems that enable them to accomplish amazing things
- Directly impact the lives of every Twitter user.
- Own specific problems related to Notifications and be given the resources, support, and autonomy to drive solutions.
- Work and communicate in our collaborative atmosphere. Give and receive feedback to build trust and transparency. Join a team where we #LoveWhereWeWork.
Who You Are:
- You have a strong sense of ownership, and a curiosity to understand how things work, even if they take you outside your area of expertise
- You are excited to learn from your amazing peers
- Fluency with at least one of the following languages: Java, C/C++, Python, Ruby, Scala, or any functional language (we primarily use Scala)
- Feel equally comfortable with SQL and noSQL data storage systems,
- 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)
- BS, MS, or PhD in computer science or a related quantitative field with 3+ years of software engineering experience
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
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.