Backend Software Engineer - Tweetdeck


Backend Engineer (TweetDeck) - London

Who are we?


You'd be joining a team made up of talented people from all over the world, and from many different backgrounds.

We work together to build TweetDeck, the product for professionals and power users who do Twitter at scale.

We care about making work happy and productive for everyone, with the option to work from home when you need, wellness benefits, regular #NoMeetingThursdays, #FocusTuesdays, and 6 months of parental leave. See our team member Andreas's Moment for more insight into team lunches, fun and lego building.

We love sharing knowledge and ideas. Within TweetDeck, we have fortnightly learning seminars. We regularly get together with the other Twitter UK engineering teams for tech talks. And there are many study groups you can join, the most recent being for Machine Learning.

What we’re excited about


You'll be joining TweetDeck at an exciting time, both technically and for our users.

We're currently exploring some brand new projects, which will mean building lots of cool new features.

We're also the first team to adopt Twitter's new GraphQL API – an exciting opportunity to explore big workflow improvements for the whole team, as well as getting to work on services that will transform Twitter engineering.

Community love


There’ll be plenty of opportunities to get involved in the tech community if that’s your thing. We regularly teach Code First: Girls courses, coding workshops for high school students, and recently hosted Codebar’s annual conference and bi-monthly events. There is a Hacks/Hackers meetup for journalists (big TweetDeck users) and engineers at Twitter UK every month. And we have company-wide #TwitterForGood days.

The tech stack

The codebase is really exciting. Tweets in columns sounds simple, right? But there is a whole world of complexity and logic to providing tweets and interactions in near-real-time. You'll constantly stumble into new areas and have opportunities to discover other parts of the Twitter codebase. There will always be something new to learn.

We have a microservices architecture, with a modern and clean backend codebase since our recent move from Python to Scala. We aim to write code that’s clear and efficient and make the best use of Scala’s object-oriented functional mix. You’re not expected to know Scala before you join (most of us didn’t), but to be keen to learn – our team includes experience with everything from Java, to Perl, to Clojure, to Ruby.

We use Finatra as a framework for creating fast and testable HTTP services, which itself builds on the Finagle RPC and TwitterServer.

We’ve also been introducing GraphQL to support our near-real-time delivery of events.

On the data analytics side, we use Scalding and Hadoop for learning about users and their behavior.

Who are you?


First off, you don’t need a Computer Science degree to apply. We are keen to welcome applicants from all backgrounds. In fact, many people on the team don't have a CS degree or any degree for that matter. Our take-home code samples are real world and practical and require the kind of problem-solving that you will use on the job.

Below are some of the things we like to see in our applicants. The list might seem exhaustive, but don’t let it scare you off. If you’re passionate about services at scale and Twitter, and you think you might be who we're looking for, we encourage you to apply.

What we’re looking for:

  • You care about helping users succeed in their goals through the features you build
  • You take a collaborative approach to work closely with and incorporating feedback from, product, design, and engineering
  • You've mentored others, whether in your work or outside of it and are keen to support colleagues to learn and grow
  • You can work both autonomously and as part of a team, including collaborating closely with engineers in remote offices
  • You are interested in challenges at scale
  • You have shown the ability to learn new programming languages, and/or have prior experience in a JVM-based and/or functional programming language
  • You’re constructive and supportive in code reviews
  • You’re disciplined about testing, quality assurance and writing clear, helpful documentation
  • You are able to be self-directed and drive features and systems from technical design through to production
  • You can build relationships with other teams and leverage opportunities to collaborate
  • You’re willing to be periodically part of out-of-hours on-call schedule; we’re flexible if you need to change times - it’s about collectively supporting and owning services we create

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

Step 1

Once your application is received, a recruiter will reach out pending your qualifications are a match for the role.

Step 2

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.

Step 3

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.


By applying you expressly make the following representations and warranties and give your consents as described below:
Twitter, Inc. collects your personal data for the purposes of managing Twitter, Inc.’s recruitment related activities as well as for organizational planning purposes globally. Consequently, Twitter, Inc. may use your personal data in relation to the evaluation and selection of applicants including for example setting up and conducting interviews and tests, evaluating and assessing the results thereto and as is otherwise needed in the recruitment processes including the final recruitment. 
Twitter, Inc. does not disclose your personal data to unauthorized third parties. However, as a global corporation consisting of multiple affiliated companies in various countries, Twitter, Inc. has international sites and Twitter, Inc. uses resources located throughout the world. Twitter, Inc. may from time to time also use third parties to act on Twitter, Inc.’s behalf. You agree to the fact that to the extent necessary your personal data may be transferred and/or disclosed to any company within Twitter, Inc. group of companies as well as to third parties acting on Twitter, Inc.’s behalf, including also transfers to servers and databases outside the country where you provided Twitter, Inc. with your personal data. Such transfers may include for example transfers and/or disclosures outside the European Economic Area and in the United States of America.

Personal Information

Required field. PDFs only; max file size is 1MB.
Required field. PDFs only; max file size is 1MB.

Twitter cares about your privacy and protecting your data. Please click the privacy policy link and acknowledge you have read and understood how Twitter treats your privacy and your data.

Would you like to receive email communication from Twitter about career opportunities? You may unsubscribe at any time.
Applicant Data - You have a choice. Can we keep your personal data for both the job you are applying for and any other Twitter jobs that we feel you may be a match for? If you choose yes we will retain your personal data for a period of twelve months to consider you for other job opportunities at Twitter.
Analytics - May we use personal data from your resume and application to analyze and improve the Twitter hiring experience.

Thank You


Thanks for applying!
Submission failed. Please make sure all fields are correctly formatted.

Don't see the right fit?

Check out other opportunities at Twitter.