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
BS with 6 years or Masters with 4 years of related experience.
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 (eg tree traversal)
BS, MS, or PhD in computer science or a related quantitative field with 3+ years of software engineering experience