Senior Software Engineer - User Data Platform
Who we are:
The User Insights team stands at the center of everything Twitter builds -- we collect information about every interaction with Twitter content across both Twitter itself and the Twitter content embedded into the wider internet, and then connect that interaction to one of over a billion profiles that we update in real time. Twitter aims to connect each person with the most relevant content and that kind of relevancy must be built on a deep understanding of that person. It is our team’s mission to provide the data underpinning that understanding, and collaborate across the organization to make it as easy to use and access as possible.
Given the scope of our mission and the criticality of our infrastructure, we have assembled a team of some of the strongest engineers from our San Francisco (CA) and Boulder (CO) offices. We believe in collaboration, mentorship, and having fun while building impactful software.
What you'll do:
What do problems like abuse and safety on Twitter, showing ads across the internet, and helping new users find the perfect set of Twitter handles to follow all have in common? They all involve assembling information across devices and browsers in order to have the best profile of users’ activities.
Our team works across three major focus areas to:
- Keep user data anonymous, obfuscated and safe from prying eyes, inquisitive hackers and rogue government requests. Twitter takes user privacy and safety seriously, and we are on the frontlines of protecting that data.
- Build real time data pipelines to ingest user data, process petabytes of activity to build a self-healing graph of user information and make it available at runtime to serving systems that have single digit millisecond latency SLAs at hundreds of thousands of queries per second.
- Provide batch data sources and tools for offline analysis. Our data is the input source for some of our most important modeling pipelines, which requires working closely with data scientists and modeling teams to standardize input formats and automate the way machine learning happens at Twitter.
- We engage with a variety of problems and technologies, and as such are looking for people who not only bring their own experience, but also eager to learn about new problems and new domains. Given the many partnerships with other teams, we also prize strong communication and collaboration skills to help drive those relationships across the company.
We believe that people are our strongest asset, and take special interest in each and every one of our engineers. You can expect a real investment in your professional growth, and a commitment to crafting a strong, sustainable career for you. Our teams are composed of highly talented and passionate 'A' players, and you’ll get the mentorship and coaching you deserve to hone your skills and expertise. Our vibrant culture and work environment will kindle your passion and bring out the best in you!
In particular, we are an experienced team of engineers that work across batch, streaming and serving time systems to deliver solutions that power a diverse set of problems first at TellApart, and now at Twitter. We move quickly and we expect to make an impact. If this describes your approach to writing software, apply to join us!
Who You Are:
You're someone with a lot of potential who is constantly looking for real engineering challenges to tackle and hard problems to solve. You want to own significant projects while working in small teams of highly-talented, passionate engineers. 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 be mentored by amazing engineers; you 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.
Note: Ideally, we're looking for 5+ years of relevant industry experience for this role, but we can flex requirements down to 2+ years for a mid-level hire instead.
- Good experience with batch or streaming data processing at web scale using systems like Hadoop, MapReduce, HBase, Hive, Voldemort, Azkaban, Kafka, Spark, etc.
- Proven strengths in functional and imperative programming (DP a plus!), non-trivial algorithms, and complex data structures
- Ability to thrive in a dynamic, fast-paced, collaborative, and high-growth environment
- Strong attention to detail with a predilection toward automating almost everything
For bonus points, you would have:
- Successful application of graph processing frameworks like giraph or graphx
- Experience architecting and deploying asynchronous work queues, high-volume storage systems, and high-throughput systems excites you
- Past experience with the Lambda architecture and different ways of implementing it
- Active contributor / committer to a well-known open source project and/or interest to do so in the future
- Demonstrated ability to excel in whatever you pursue (whether it's work, school, competitions, open source contributions, personal projects, etc.)
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.
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.
Twitter Recruiting: All the deets about who we're hiring, what we're doing and why you should come and work here! #lovewhereyouwork
We're your one stop shop for anything University related. That means campus outreach, student advice/tips, & of course, our University Recruiting efforts!