Twitter Careers: How I Got My Job As a Developer

Twitter Careers: How I Got My Job As a Developer

Sometimes called the public town square, Twitter is an influential social media network. In part due to its high profile, the company is a popular career choice among software engineers and other technologists.

Zhia Chong explains how he got his job as a developer at the social-media giant. This is his story as he told it, lightly edited and republished from HackerNoon with permission.

An email from a Twitter recruiter arrived a week earlier, asking if I would like to schedule an initial phone screen with one of their engineers. I was excited but also nervous because I had applied to a software engineering position at Twitter a few years ago without success.

The Twitter recruiter sent me a comprehensive prep sheet with links to practice and brush up on my coding and algorithms skills. One of the items on the checklist pointed me to the coding challenge website Leetcode, and that’s how I ended up coating away on this website for hours to prepare for my technical coding interview.

Twitter job interview: What the company focuses on

The Twitter recruiter explicitly emphasized that the technical interview will focus specifically on technical fundamentals, like maps, binary trees, linked lists, binary search trees, graphs, and so forth.

It wasn’t easy preparing for technical interviews. For someone who has been out of college for some time, it takes a non-trivial amount of time to brush up on the skills and fundamentals required to succeed in a technical coding interview.

How to prepare for software engineering job interviews

I spent the majority of my time on Leetcode and studying a book called Elements of Programming Interviews. I also spent about 10% of my time browsing systems design interviews and daily coding questions.

My preparation time was around a month of consistent, uninterrupted practice. It’s critical to have a consistent schedule. I used to go on coding spurts: three hours of hardcore coding, followed by a week of rest. I found that ineffective, and I paid the heavy price of context switching multiple times.

In total, I spent about three hours a day on weekdays due to work and four to six hours on weekends for about 20 hours a week for a month.

How to apply for a job at Twitter

I applied to Twitter through their careers website. In hindsight, it might have been more effective to find a job referral or recruiter on LinkedIn because that would have most likely expedited the application process.

A well-written resume is critical, especially applying through an online career website. Without this, I don’t think I would have been able to get an opportunity to interview with these top-tier tech companies.

A few weeks later, a recruiter finally reached out to me and would like to schedule an initial phone screen.

How long does it take to get a job at Twitter?

It took less than three months from when the recruiter first reached out to when a job offer was extended.

My timeline:

  • Feb. 10, 2017: Twitter recruiter reached out to schedule a technical job interview
  • March 8, 2017: Initial technical job interview
  • April 13, 2017: Second technical screen
  • April 18, 2017: On-site job interview
  • May 2, 2017: Job offer extended
  • May 23, 2017: Twitter confirmed
  • July 24, 2017: Start date

The first two technical job interviews involved coding on a shared online document. We talked about different approaches and trade-offs and spent more than 30 minutes on the implementation.

After the two rounds, I was moved forward to the next round of interviews on-site at Twitter in Seattle. The Twitter recruiter then sent me a link to an online coding repository, and asked me to do a code review, make suggestions for improvement, and discuss it with the interviewers on-site.

I took about a day to go through the code, printed it out on paper (about five pages long in 10-point font), and noted areas of improvement on the sheet. This proved to be a helpful exercise, as I would discover later.

What is the on-site interview like for software engineers at Twitter?

My on-site job interview schedule at Twitter:

  • Breadth: 75 minutes
  • Depth: 75 minutes
  • Lunch
  • Cultural (optional): 90 minutes

Twitter’s on-site job interview had two interviewers each round. It first felt intimidating being stared down by two interviewers, but it felt much more collaborative in reality. We bounced ideas between each other.

Breadth interview at Twitter: System design

The Breadth interview at Twitter focuses on various topics to understand how much you know about designing a system from scratch. The goal is to stretch the candidate to their limits and see how far they can go.

For example: Are you able to build a reliable system with a reasonable downtime end-to-end, from setting up the user interface to communicating via an HTTP API to building a backend service?

I enjoyed the conversation because I always like to tinker with different technologies. If you enjoy building things, you’d like this round too. The interviewers were really nice and politely guided me along during the interview. We ended with a coding question at the end. It wasn’t anything out of the ordinary.

Depth interview at Twitter: Resume review

The Depth interview at Twitter focused on my past projects and expertise. In all honesty, the Depth interview was much more intense and challenging because the job interviewer dove deep into every single aspect of the projects I built and challenged the design decisions.

Some questions the job interviewer asked:

  • What was a project you built recently?
  • Why did you build it?
  • What alternatives did you consider?
  • Did your project work?

Even though I was intimately familiar with many projects, this round pushed me to the limits. I had to step back through my experience and tell the story from my perspective. I had to explain why we designed certain things in certain ways and whether there were any better or worse approaches we had considered.

The Depth interview at Twitter didn’t have any coding questions.

Cultural interview at Twitter

The Cultural interview was 90 minutes with the hiring manager and senior leadership. There are no coding questions.

I found out later that if you make it to the Cultural round, you have done well enough technically, and they’re looking for a cultural fit both ways — whether you fit into their culture and whether they would have the right opportunities for you.

The bottom line

Job interviews for software engineers at Twitter focus heavily on computer science fundamentals. Make sure that you know your data structures from top to bottom and all of the basic algorithms you learned in an introductory computer science class.

Knowing and understanding one coding language really well helped tremendously. I recommend something like Python, Java or C++, as these are commonly used coding languages. I personally enjoy using Python because it is easy to read, explain and has a bunch of data structures built in.

Think about the systems you interact with day-to-day. Understand how time complexity and space complexity trade-offs work, and figure out how you can build a better system. Also, make sure to brush up on the projects listed on your resume.